IBM Cloud Docs
¿Por qué mis pods predeterminados de istio-ingressgateway están atascados en pending?

¿Por qué mis pods predeterminados de istio-ingressgateway están atascados en pending?

Cuando ejecuta kubectl get pod -n istio-system, los pods de istio-ingressgateway se atascan en pending.

Además, cuando obtenga los detalles de uno de los pods ejecutando kubectl describe pods -n istio-system -l app=istio-ingressgateway y compruebe la sección Events de la salida, verá un mensaje similar al siguiente.

Events:
  Type     Reason            Age                From               Message
  ----     ------            ----               ----               -------
  Warning  FailedScheduling  18s (x4 over 15m)  default-scheduler  0/3 nodes are available: 3 node(s) didn't match Pod's node affinity/selector. preemption: 0/3 nodes are available: 3 Preemption is not helpful for scheduling..

Es posible que las claves de etiqueta de zona en los pods de istio-ingressgateway no coincidan con las etiquetas de ninguno de los nodos. Esto impide que las reglas de afinidad de nodo planifiquen pods en nodos.

Para comprobar las claves de etiqueta de zona, ejecute kubectl describe cm managed-istio-custom -n ibm-operators para ver el ConfigMappersonalizado de Istio gestionado. Compruebe el ConfigMap para las claves en el formato istio-ingressgateway-zone-<#>, como por ejemplo istio-ingressgateway-zone-1. Si las claves no están presentes en el ConfigMap, el pod y las etiquetas del nodo trabajador no coinciden.

Para resolver el problema, reinicie el trabajo de configuración de Istio que añade las etiquetas de zona en el ConfigMap.

  1. Suprima el trabajo de configuración de Istio en el espacio de nombres ibm-system.

    kubectl delete job -n ibm-system -l addon.cleanup=istio
    
  2. Espere 15 minutos a que el trabajo actualice el ConfigMap y a que los pods de istio-ingressgateway recojan las etiquetas de zona.

  3. Ejecute kubectl get pod -n istio-system para comprobar el estado de los pods.