Esta página mostra como analisar a performance da CPU dos nós de cluster do Google Kubernetes Engine (GKE) usando eventos da unidade de monitoramento de performance (PMU).
Esta página é destinada a administradores de cluster que têm cargas de trabalho sensíveis à performance e querem examinar a execução da CPU das cargas de trabalho nos nós do GKE durante o desenvolvimento, a depuração, o benchmarking e o monitoramento contínuo.
Antes de começar
Antes de começar, verifique se você realizou as tarefas a seguir:
- Ativar a API Google Kubernetes Engine. Ativar a API Google Kubernetes Engine
- Se você quiser usar a Google Cloud CLI para essa tarefa,
instale e, em seguida,
inicialize a
CLI gcloud. Se você instalou a CLI gcloud anteriormente, instale a versão mais recente executando o comando
gcloud components update. Talvez as versões anteriores da CLI gcloud não sejam compatíveis com a execução dos comandos neste documento.
Requisitos e limitações
Ao ativar eventos de PMU, esteja ciente dos seguintes requisitos e limitações:
- O cluster precisa estar no modo Standard.
- Se o cluster tiver o provisionamento automático de nós ativado, nenhum pool de nós criado por provisionamento automático poderá ativar eventos de PMU. Se você ativar o provisionamento automático de nós depois de ativar eventos de PMU, os pools de nós atuais não serão afetados.
- Os pools de nós do cluster precisam executar uma série de máquinas que ofereça suporte à PMU. Para mais informações sobre os tipos de máquinas compatíveis, consulte Séries de máquinas e plataformas de CPU compatíveis.
Criar um cluster do GKE
Crie um cluster com eventos de PMU ativados para o pool de nós padrão:
gcloud container clusters create CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--performance-monitoring-unit=PMU_LEVEL \
--machine-type=MACHINE_TYPE
Substitua:
CLUSTER_NAME: o nome do novo cluster.COMPUTE_LOCATION: o local do Compute Engine para o novo cluster.PMU_LEVEL: o tipo de eventos de PMU a serem coletados. Para mais informações, consulte Como a PMU funciona na documentação do Compute Engine. Os valores aceitos são os seguintes:architectural: ativa eventos de PMU arquitetônicos relacionados a eventos de cache de nível não final (LLC, na sigla em inglês).standard: inclui eventos arquitetônicos e ativa eventos de PMU principais, incluindo eventos de cache L2.enhanced: inclui eventos padrão e ativa eventos locais fora do núcleo da CPU e eventos de PMU LLC. Essa opção só está disponível com VMs que têm um número específico de vCPUs. Para mais informações, consulte Limitações na documentação do Compute Engine.
MACHINE_TYPE: o tipo de máquina do Compute Engine para seus nós. Para uma lista de tipos de máquinas compatíveis, consulte Séries de máquinas e plataformas de CPU compatíveis na documentação do Compute Engine.
Também é possível criar um novo pool de nós para um cluster atual usando o
gcloud container node-pools create
comando.
Conexão ao cluster
Configure kubectl para se comunicar com o cluster:
gcloud container clusters get-credentials CLUSTER_NAME \
--location=COMPUTE_LOCATION
Verificar se a PMU está ativada
Verifique se os nós do cluster têm a PMU ativada examinando as mensagens do kernel.
Confira uma lista de nós no cluster:
kubectl get nodesO resultado será assim:
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.1070000Registre o nome de um dos nós.
Acesse o local do Compute Engine do nó:
gcloud compute instances list --filter=NODE_NAMESubstitua
NODE_NAMEpelo nome de um nó da etapa anterior.O resultado será assim:
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 RUNNINGRegistre o nome da
ZONEdo Compute Engine. Neste exemplo, éus-central1-c.Use SSH para se conectar ao nó do cluster:
gcloud compute ssh NODE_NAME \ --zone=COMPUTE_ZONESubstitua
COMPUTE_ZONEpelo nome da zona do Compute Engine da etapa anterior.Examine as mensagens do kernel:
sudo dmesg |grep -A10 -i "Performance"O resultado será assim:
[ 0.307634] Performance Events: generic architected perfmon, full- width counters, Intel PMU driver. # Several lines omittedEssa saída indica que o driver da PMU foi inicializado.
A seguir
- Saiba como escolher uma plataforma mínima de CPU