Inspeccionar cargas de trabajo con reconocimiento del estado

En este documento se explica cómo inspeccionar las cargas de trabajo con estado que se ejecutan en un clúster de Kubernetes aislado de Google Distributed Cloud (GDC). Las cargas de trabajo con reconocimiento del estado te permiten ejecutar tu aplicación con almacenamiento de contenedores persistente. Puedes ver tus cargas de trabajo con estado con la consola de GDC o la CLI de kubectl para monitorizar el uso de recursos y el estado de las cargas de trabajo.

Este documento está dirigido a los desarrolladores del grupo de operadores de aplicaciones, que son responsables de gestionar las cargas de trabajo de las aplicaciones de su organización. Para obtener más información, consulta Audiencias de la documentación aislada de GDC.

Antes de empezar

Para completar las tareas de este documento, debes solicitar los permisos necesarios y preparar tu entorno.

Solicitar roles de gestión de identidades y accesos

Debes tener roles específicos para obtener los permisos que necesitas para ver e inspeccionar cargas de trabajo con estado. Los roles que necesitas dependen de si trabajas en un clúster compartido con ámbito de organización o en un clúster estándar con ámbito de proyecto. Para obtener más información, consulta las configuraciones de clústeres de Kubernetes.

Roles de clúster compartidos

Pídele al administrador de gestión de identidades y accesos de tu proyecto que te asigne los siguientes roles en el espacio de nombres de tu proyecto en función de la tarea que tengas que realizar:

  • Lector de cargas de trabajo (workload-viewer): consulta todas las cargas de trabajo desplegadas en un clúster compartido.
  • Administrador de espacio de nombres (namespace-admin): crea, elimina, edita o consulta cargas de trabajo en un espacio de nombres de proyecto de clúster compartido.

Estos roles están vinculados al espacio de nombres de tu proyecto.

Roles de clúster estándar

Para crear, eliminar, editar o ver cargas de trabajo en un clúster estándar, pide al administrador de gestión de identidades y accesos del proyecto que te conceda el rol Desarrollador de clúster (cluster-developer). Este rol está vinculado al espacio de nombres de tu proyecto.

Prepara tu entorno

Para ejecutar comandos en un clúster de Kubernetes mediante la API, asegúrate de tener los siguientes recursos:

  • Busca el nombre del clúster de Kubernetes o pregunta a un miembro del grupo de administradores de la plataforma cuál es el nombre del clúster.

  • Inicia sesión y genera el archivo kubeconfig del clúster de Kubernetes.

  • Usa la ruta kubeconfig del clúster de Kubernetes para sustituir KUBERNETES_CLUSTER_KUBECONFIG en estas instrucciones.

Ver las cargas de trabajo de contenedor de un proyecto

Para ver las cargas de trabajo de los contenedores de tu proyecto, haz lo siguiente:

Consola

  • En el menú de navegación, selecciona Kubernetes Engine > Cargas de trabajo.

    Puedes ver los detalles de tus cargas de trabajo de contenedor, como los siguientes:

    • Nombre
    • Tipo
    • Número de pods
    • Clúster de Kubernetes
    • Fecha de última modificación

    Las cargas de trabajo de los contenedores se organizan según el clúster de Kubernetes al que pertenecen. Selecciona el menú desplegable Clúster para cambiar el contexto del clúster.

kubectl

  • Ejecuta el siguiente comando para enumerar todos los pods de tu proyecto:

    kubectl get pods -n PROJECT_NAMESPACE
    

    El resultado debería ser similar al siguiente:

    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
    

Inspeccionar un recurso StatefulSet

Para solicitar información más detallada sobre los componentes de un StatefulSet recurso, ejecuta comandos que se dirijan directamente a la entidad que quieras inspeccionar.

Obtener información de objetos StatefulSet

Para obtener información detallada sobre el objeto StatefulSet, ejecuta el siguiente comando:

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

Haz los cambios siguientes:

  • KUBERNETES_CLUSTER_KUBECONFIG: el archivo kubeconfig del clúster que ejecuta el objeto StatefulSet.

  • NAMESPACE: el espacio de nombres. En el caso de los clústeres compartidos, debe ser un espacio de nombres de proyecto. En los clústeres estándar, puede ser cualquier espacio de nombres.

  • STATEFULSET_NAME: el nombre del objeto StatefulSet.

Mostrar la configuración activa en formato YAML

Para mostrar la configuración activa del recurso StatefulSet en formato YAML, ejecuta el siguiente comando:

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

Haz los cambios siguientes:

  • KUBERNETES_CLUSTER_KUBECONFIG: el archivo kubeconfig del clúster que ejecuta el objeto StatefulSet.

  • NAMESPACE: el espacio de nombres. En el caso de los clústeres compartidos, debe ser un espacio de nombres de proyecto. En los clústeres estándar, puede ser cualquier espacio de nombres.

  • STATEFULSET_NAME: el nombre del objeto StatefulSet.

Mostrar pods

Para enumerar los objetos Pod creados por StatefulSet, ejecuta el siguiente comando:

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

En este comando, la marca -l muestra todos los objetos Pod etiquetados con APP_NAME.

Haz los cambios siguientes:

  • KUBERNETES_CLUSTER_KUBECONFIG: el archivo kubeconfig del clúster que ejecuta el objeto StatefulSet.

  • NAMESPACE: el espacio de nombres. En el caso de los clústeres compartidos, debe ser un espacio de nombres de proyecto. En los clústeres estándar, puede ser cualquier espacio de nombres.

  • APP_NAME: el nombre de la aplicación con estado gestionada por el objeto StatefulSet.

Obtener información específica de un pod

Para obtener información sobre un Pod específico del clúster, ejecuta el siguiente comando:

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

Haz los cambios siguientes:

  • KUBERNETES_CLUSTER_KUBECONFIG: el archivo kubeconfig del clúster que ejecuta el pod.

  • NAMESPACE: el espacio de nombres. En el caso de los clústeres compartidos, debe ser un espacio de nombres de proyecto. En los clústeres estándar, puede ser cualquier espacio de nombres.

  • POD_NAME: el nombre del pod gestionado por el objeto StatefulSet.

Mostrar PVCs

Para enumerar los objetos PersistentVolumeClaim (PVC) del clúster, ejecuta el siguiente comando:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get pvc

Haz los cambios siguientes:

  • KUBERNETES_CLUSTER_KUBECONFIG: el archivo kubeconfig del clúster que ejecuta los PVCs.

  • NAMESPACE: el espacio de nombres. En el caso de los clústeres compartidos, debe ser un espacio de nombres de proyecto. En los clústeres estándar, puede ser cualquier espacio de nombres.

Obtener información específica de un PVC

Para obtener información sobre un PersistentVolumeClaim (PVC) específico del clúster, ejecuta el siguiente comando:

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

Haz los cambios siguientes:

  • KUBERNETES_CLUSTER_KUBECONFIG: el archivo kubeconfig del clúster que ejecuta el PVC.

  • NAMESPACE: el espacio de nombres. En el caso de los clústeres compartidos, debe ser un espacio de nombres de proyecto. En los clústeres estándar, puede ser cualquier espacio de nombres.

  • PVC_NAME: el nombre del PVC configurado para el objeto StatefulSet.

Obtener información sobre la PV

Para obtener información sobre un PersistentVolume (PV) específico del clúster, ejecuta el siguiente comando:

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

Haz los cambios siguientes:

  • KUBERNETES_CLUSTER_KUBECONFIG: el archivo kubeconfig del clúster que ejecuta el PV.

  • NAMESPACE: el espacio de nombres. En el caso de los clústeres compartidos, debe ser un espacio de nombres de proyecto. En los clústeres estándar, puede ser cualquier espacio de nombres.

  • PV_NAME: el nombre del PV configurado para el objeto StatefulSet.

Siguientes pasos