En esta página, se muestra cómo analizar el rendimiento de la CPU de los nodos de tu clúster de Google Kubernetes Engine (GKE) con eventos de la unidad de supervisión del rendimiento (PMU).
Esta página está dirigida a los administradores de clústeres que tienen cargas de trabajo sensibles al rendimiento y desean examinar la ejecución de la CPU de sus cargas de trabajo en sus nodos de GKE durante el desarrollo, la depuración, la evaluación comparativa y la supervisión continua.
Antes de comenzar
Antes de comenzar, asegúrate de haber realizado las siguientes tareas:
- Habilita la API de Google Kubernetes Engine. Habilitar la API de Google Kubernetes Engine
- Si deseas usar Google Cloud CLI para esta tarea, instala y, luego, inicializa gcloud CLI. Si ya instalaste gcloud CLI, ejecuta
gcloud components update
para obtener la versión más reciente.
Requisitos y limitaciones
Cuando habilites los eventos de PMU, ten en cuenta los siguientes requisitos y limitaciones:
- Tu clúster debe estar en modo estándar.
- Si tu clúster tiene habilitado el aprovisionamiento automático de nodos, los grupos de nodos creados a través del aprovisionamiento automático no pueden habilitar eventos de PMU. Si habilitas el aprovisionamiento automático de nodos después de habilitar los eventos de PMU, los grupos de nodos existentes no se verán afectados.
- Los grupos de nodos del clúster deben ejecutar el tipo de máquina C4 o C4A.
Crea un clúster de GKE
Crea un clúster con eventos de PMU habilitados para el grupo de nodos predeterminado:
gcloud container clusters create CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--performance-monitoring-unit=PMU_LEVEL \
--machine-type=MACHINE_TYPE
Reemplaza lo siguiente:
CLUSTER_NAME
el nombre del clúster nuevo.COMPUTE_LOCATION
: la ubicación de Compute Engine para el clúster nuevo.PMU_LEVEL
: Es el tipo de eventos de PMU que se recopilarán. Para obtener más información, consulta Cómo funciona la PMU en la documentación de Compute Engine. Los valores admitidos son los siguientes:architectural
: Habilita los eventos de PMU arquitectónicos relacionados con eventos de caché que no son de último nivel (LLC).standard
: Incluye eventos de arquitectura y habilita eventos de PMU principales, incluidos los eventos de caché de L2.enhanced
: Incluye eventos estándar y habilita cualquier evento local fuera de los eventos de PMU de LLC y del núcleo de CPU. Esta opción solo está disponible con VMs que tienen una cantidad específica de vCPUs. Para obtener más información, consulta Limitaciones en la documentación de Compute Engine.
MACHINE_TYPE
: Es el tipo de máquina de Compute Engine para tus nodos. Para obtener una lista de los tipos de máquinas compatibles, consulta las limitaciones en la documentación de Compute Engine.
También puedes crear un grupo de nodos nuevo para un clúster existente con el comando gcloud container node-pools create
.
Conéctate al clúster
Configura kubectl
para comunicarse con el clúster:
gcloud container clusters get-credentials CLUSTER_NAME \
--location=COMPUTE_LOCATION
Verifica que la PMU esté habilitada
Para verificar que los nodos del clúster tengan habilitada la PMU, examina los mensajes del kernel.
Obtén una lista de nodos en el clúster:
kubectl get nodes
El resultado es similar a este:
NAME STATUS ROLES AGE VERSION gke-c1-default-pool-44be3e13-prr1 Ready <none> 5d23h v1.27.13-gke.1070000 gke-c1-default-pool-7abc4a17-9dlg Ready <none> 2d21h v1.27.13-gke.1070000 gke-c1-default-pool-ed969ef6-4gzp Ready <none> 5d v1.27.13-gke.1070000
Registra el nombre de uno de los nodos.
Obtén la ubicación de Compute Engine del nodo:
gcloud compute instances list --filter=NODE_NAME
Reemplaza
NODE_NAME
por el nombre de un nodo del paso anterior.El resultado es similar a este:
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS gke-c1-default-pool-44be3e13-prr1 us-central1-c c4-standard-4 true 10.128.0.67 34.170.44.164 RUNNING
Registra el nombre del
ZONE
de Compute Engine. En este ejemplo, esus-central1-c
.Usa SSH para conectarte al nodo del clúster:
gcloud compute ssh NODE_NAME \ --zone=COMPUTE_ZONE
Reemplaza
COMPUTE_ZONE
por el nombre de la zona de Compute Engine del paso anterior.Examina los mensajes del kernel:
sudo dmesg |grep -A10 -i "Performance"
El resultado es similar a este:
[ 0.307634] Performance Events: generic architected perfmon, full- width counters, Intel PMU driver. # Several lines omitted
Este resultado indica que se inicializó el controlador de PMU.
¿Qué sigue?
- Obtén más información para elegir una plataforma de CPU mínima.