Cette page vous explique comment analyser les performances du processeur des nœuds de votre cluster Google Kubernetes Engine (GKE) à l'aide d'événements de l' unité de surveillance des performances (PMU).
Cette page est destinée aux administrateurs de cluster qui ont des charges de travail sensibles aux performances et qui souhaitent examiner l'exécution du processeur de leurs charges de travail sur leurs nœuds GKE lors du développement, du débogage, de l'analyse comparative et de la surveillance continue.
Avant de commencer
Avant de commencer, effectuez les tâches suivantes :
- Activez l'API Google Kubernetes Engine. Activer l'API Google Kubernetes Engine
- Si vous souhaitez utiliser la Google Cloud CLI pour cette tâche, installez et initialisez la gcloud CLI. Si vous avez déjà installé la gcloud CLI, obtenez la dernière version en exécutant la commande
gcloud components update. Il est possible que les versions antérieures de la gcloud CLI ne permettent pas d'exécuter les commandes de ce document.
Conditions requises et limites
Lorsque vous activez les événements PMU, tenez compte des conditions requises et des limites suivantes :
- Votre cluster doit être en mode Standard.
- Si le provisionnement automatique des nœuds est activé pour votre cluster, vous ne pouvez pas activer les événements PMU pour les pools de nœuds créés via le provisionnement automatique. Si vous activez le provisionnement automatique des nœuds après avoir activé les événements PMU, les pools de nœuds existants ne sont pas affectés.
- Les pools de nœuds de cluster doivent exécuter une série de machines compatible avec la PMU. Pour en savoir plus sur les types de machines compatibles, consultez la section Séries de machines et plates-formes de processeur compatibles.
Créer un cluster GKE
Créez un cluster avec les événements PMU activés pour le pool de nœuds par défaut :
gcloud container clusters create CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--performance-monitoring-unit=PMU_LEVEL \
--machine-type=MACHINE_TYPE
Remplacez les éléments suivants :
CLUSTER_NAME: nom du nouveau clusterCOMPUTE_LOCATION: emplacement Compute Engine du nouveau clusterPMU_LEVEL: type d'événements PMU à collecter Pour en savoir plus, consultez la section Fonctionnement de la PMU dans la documentation Compute Engine. Les valeurs compatibles sont les suivantes :architectural: active les événements PMU architecturaux liés aux événements de cache de niveau non-dernier (LLC).standard: inclut les événements architecturaux et active les événements PMU principaux, y compris les événements de cache L2.enhanced: inclut les événements standards et active tous les événements locaux en dehors du cœur du processeur et les événements PMU LLC. Cette option n'est disponible qu'avec les VM disposant d'un nombre spécifique de processeurs virtuels. Pour en savoir plus, consultez la section Limites dans la documentation Compute Engine.
MACHINE_TYPE: type de machine Compute Engine pour vos nœuds Pour obtenir la liste des types de machines compatibles, consultez la section Séries de machines et plates-formes de processeur compatibles dans la documentation Compute Engine.
Vous pouvez également créer un pool de nœuds pour un cluster existant à l'aide de la
gcloud container node-pools create
commande.
Se connecter au cluster
Configurez kubectl pour communiquer avec le cluster :
gcloud container clusters get-credentials CLUSTER_NAME \
--location=COMPUTE_LOCATION
Vérifier que la PMU est activée
Vérifiez que la PMU est activée pour les nœuds de votre cluster en examinant les messages du noyau.
Obtenez la liste des nœuds du cluster :
kubectl get nodesLe résultat ressemble à ce qui suit :
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.1070000Notez le nom de l'un des nœuds.
Obtenez l'emplacement Compute Engine du nœud :
gcloud compute instances list --filter=NODE_NAMERemplacez
NODE_NAMEpar le nom d'un nœud de l'étape précédente.Le résultat ressemble à ce qui suit :
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 RUNNINGNotez le nom de la
ZONECompute Engine. Dans cet exemple, il s'agit deus-central1-c.Utilisez SSH pour vous connecter au nœud de cluster :
gcloud compute ssh NODE_NAME \ --zone=COMPUTE_ZONERemplacez
COMPUTE_ZONEpar le nom de la zone Compute Engine de l'étape précédente.Examinez les messages du noyau :
sudo dmesg |grep -A10 -i "Performance"Le résultat ressemble à ce qui suit :
[ 0.307634] Performance Events: generic architected perfmon, full- width counters, Intel PMU driver. # Several lines omittedCe résultat indique que le pilote PMU est initialisé.
Étape suivante
- Découvrez comment choisir une plate-forme de processeur minimale.