Résoudre les problèmes liés aux charges de travail Arm


Cette page explique comment résoudre les problèmes liés aux charges de travail Arm déployées sur vos clusters Google Kubernetes Engine (GKE) Autopilot ou Standard.

Plantage des pods sur les nœuds Arm

Le problème suivant se produit lorsque vous déployez un pod sur un nœud Arm, mais que l'image de conteneur n'a pas été créée pour l'architecture Arm.

Pour identifier le problème, procédez comme suit :

  1. Obtenez l'état de vos pods :

    kubectl get pods
    
  2. Obtenez les journaux de l''un des pods qui plante :

    kubectl logs POD_NAME
    

    Remplacez POD_NAME par le nom du pod qui plante.

    Vous devriez voir dans les journaux de vos pods un message d'erreur semblable à celui-ci :

    exec ./hello-app: exec format error
    

Pour résoudre ce problème, assurez-vous que votre image de conteneur est compatible avec l'architecture Arm. Nous vous recommandons de créer des images multi-architectures.

Le pod ne déclenche pas le scaling à la hausse

Applicable à : Autopilot

Le problème suivant se produit dans les clusters Autopilot lorsque vous tentez de déployer des charges de travail Arm sur des versions GKE non compatibles ou dans des régions Google Cloud non compatibles.

Pour identifier le problème, obtenez le journal des événements de votre cluster :

kubectl get events -w

Le résultat ressemble à ce qui suit :

117s        Normal    NotTriggerScaleUp   pod/hello-app2-78fc858558-pg4hz   pod didn't trigger scale-up (it wouldn't fit if a new node is added): 2 node(s) didn't match Pod's node affinity/selector

Pour résoudre ce problème, vérifiez que votre cluster Autopilot exécute la version GKE 1.24.1-gke.1400 ou ultérieure et que la région Google Cloud est compatible avec les nœuds Arm.

Pods bloqués à l'état "Pending"

Applicable à : Autopilot

Le problème suivant se produit lorsque vous essayez de déployer des pods Autopilot sur l'architecture Arm, mais que votre projet Google Cloud n'a plus de quota.

Pour identifier le problème, obtenez le journal des événements de votre cluster :

kubectl get events -w

Le résultat ressemble à ce qui suit :

29m         Warning   FailedScaleUp       pod/hello-app-7b86c88cb8-8vt2k   Node scale up in zones asia-southeast1-b associated with this pod failed: GCE quota exceeded. Pod is at risk of not being scheduled.

Cet événement peut ne pas apparaître dans votre journal dès que vous déployez vos pods.

Pour résoudre ce problème, essayez de demander une augmentation de quota.