Inspect stateful workloads

After you create a StatefulSet object, you can request information about it and its managed resources.

Before you begin

To run commands against a Kubernetes cluster, ensure you have the following resources:

  1. Locate the Kubernetes cluster name, or ask your Platform Administrator what the cluster name is.

  2. Sign in and generate the kubeconfig file for the Kubernetes cluster if you don't have one.

  3. Use the kubeconfig path of the Kubernetes cluster to replace KUBERNETES_CLUSTER_KUBECONFIG in these instructions.

To get the required permissions to view all workloads deployed in a project, ask your Organization IAM Admin to grant you the Workload Viewer role (workload-viewer) in your project namespace.

To get the required permissions to inspect stateful workloads, ask your Organization IAM Admin to grant you the Namespace Admin role (namespace-admin) in your project namespace.

View a project's container workloads

To view your project's container workloads, complete the following:

Console

  • In the navigation menu, select Kubernetes Engine > Workloads.

    You can view details for your container workloads, such as the following:

    • Name
    • Type
    • Number of pods
    • Kubernetes cluster
    • Last modified date

    The container workloads are organized by which Kubernetes cluster they belong to. Select the Cluster drop-down to switch the cluster context.

CLI

  • Run the following command to list all pods in your project:

    kubectl get pods -n PROJECT_NAMESPACE
    

    The output is similar to the following:

    NAME                        READY   STATUS    RESTARTS   AGE
    nginx-workload-ah-aa-1228   1/1     Running   0          12h
    nginx-workload-ah-ab-6784   1/1     Running   0          11h
    nginx-workload-ah-ac-0045   1/1     Running   0          12h
    

Inspect a StatefulSet resource

To request more detailed information about the components of a StatefulSet resource, run commands that directly target the entity you're looking to inspect.

Get StatefulSet object information

To get detailed information about the StatefulSet object, run:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe statefulset STATEFULSET_NAME

Replace the following:

  • KUBERNETES_CLUSTER_KUBECONFIG: the kubeconfig file for the cluster running the StatefulSet object.

  • NAMESPACE: the project namespace.

  • STATEFULSET_NAME: the name of the StatefulSet object.

Display live configuration in YAML format

To display the live configuration of the StatefulSet resource in YAML format, run:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get statefulset STATEFULSET_NAME -o yaml

Replace the following:

  • KUBERNETES_CLUSTER_KUBECONFIG: the kubeconfig file for the cluster running the StatefulSet object.

  • NAMESPACE: the project namespace.

  • STATEFULSET_NAME: the name of the StatefulSet object.

List pods

To list the Pod objects created by the StatefulSet, run:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get pods -l app=APP_NAME

In this command, the -l flag lists all Pod objects labeled with APP_NAME.

Replace the following:

  • KUBERNETES_CLUSTER_KUBECONFIG: the kubeconfig file for the cluster running the StatefulSet object.

  • NAMESPACE: the project namespace.

  • APP_NAME: the name of the stateful application managed by the StatefulSet object.

Get specific pod information

To get information about a specific Pod in the cluster, run:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe pod POD_NAME

Replace the following:

  • KUBERNETES_CLUSTER_KUBECONFIG: the kubeconfig file for the cluster running the pod.

  • NAMESPACE: the project namespace.

  • POD_NAME: the name of the pod managed by the StatefulSet object.

List PVCs

To list the PersistentVolumeClaim (PVC) objects in the cluster, run:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get pvc

Replace the following:

  • KUBERNETES_CLUSTER_KUBECONFIG: the kubeconfig file of the cluster running the PVCs.

  • NAMESPACE: the project namespace.

Get specific PVC information

To get information about a specific PersistentVolumeClaim (PVC) in the cluster, run:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe pvc PVC_NAME

Replace the following:

  • KUBERNETES_CLUSTER_KUBECONFIG: the kubeconfig file for the cluster running the PVC.

  • NAMESPACE: the project namespace.

  • PVC_NAME: the name of the PVC configured for the StatefulSet object.

Get PV information

To get information about a specific PersistentVolume (PV) in the cluster, run:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe pv PV_NAME

Replace the following:

  • KUBERNETES_CLUSTER_KUBECONFIG: the kubeconfig file for the cluster running the PV.

  • NAMESPACE: the project namespace.

  • PV_NAME: the name of the PV configured for the StatefulSet object.