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_KUBECONFIGen 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_NAMESPACEEl 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 objetoStatefulSet.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 objetoStatefulSet.
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 objetoStatefulSet.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 objetoStatefulSet.
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 objetoStatefulSet.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 objetoStatefulSet.
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 objetoStatefulSet.
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 objetoStatefulSet.
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 objetoStatefulSet.
Siguientes pasos
- Actualizar cargas de trabajo con reconocimiento del estado
- Escalar cargas de trabajo con reconocimiento del estado
- Gestionar grupos de nodos