Soluciona problemas del controlador de Kubernetes

En esta página, se muestra cómo resolver problemas con el administrador de controlador de Kubernetes (kube-controller-manager) para Google Distributed Cloud.

Si necesitas asistencia adicional, comunícate con Atención al cliente de Cloud.

Se perdió la elección de líder

Es posible que se observe este error en un clúster regional o en un plano de control replicado cuando kube-controller-manager (KCM) se reinicie de forma inesperada. Este reinicio puede implicar que se cierre o que kubelet lo reinicie. Es posible que los registros de KCM incluyan mensajes leaderelection lost.

Esta situación puede ocurrir cuando el líder verifica si aún está liderando de forma activa como parte de la verificación de estado de KCM.

Si el líder ya no es el líder o falla la verificación del arrendamiento, la verificación de estado informa que no está en buen estado y se reinicia el líder.

Para recuperar el estado de la elección de líder, obtén los recursos Lease del grupo coordination.k8s.io:

  1. Para ver todos los arrendamientos, ejecuta el siguiente comando kubectl:

    kubectl -n kube-system get lease
    
  2. Para verificar el estado de una asignación de tiempo determinada, como lease/kube-controller-manager, usa el siguiente comando kubectl describe:

    kubectl -n kube-system describe lease/kube-controller-manager
    

    En la sección Events, busca eventos LeaderElection. Revisa quién asume el liderazgo y cuándo lo hace. En el siguiente ejemplo de resultado, se muestra que, cuando se cerró el primer nodo de forma manual, el segundo asumió la responsabilidad de forma instantánea:

    Events:
      Type    Reason          Age    From                     Message
      ----    ------          ----   ----                     -------
      Normal  LeaderElection  26m    kube-controller-manager  control-plane_056a86ec-84c5-48b8-b58d-86f3fde2ecdd became leader
      Normal  LeaderElection  5m20s  kube-controller-manager  control-plane2_b0475d49-7010-4f03-8a9d-34f82ed60cd4 became leader
    

    También puedes observar el proceso de perder y ganar liderazgo con la métrica kubernetes.io/anthos/leader_election_master_status agrupada por name.

El proceso de elección de líder solo se produce si falla el líder actual. Para confirmar la falla, observa las métricas kubernetes.io/anthos/container/uptime y kubernetes.io/anthos/container/restart_count filtradas por un container_name de kube-controller-manager.

Si tienes problemas con el proceso de elección de líder que se ejecuta o falla de forma repetida, revisa las siguientes consideraciones de solución:

  • Si el KCM se reinicia cada pocos minutos o menos, verifica los registros del KCM en busca de solicitudes fallidas al servidor de la API. Las solicitudes que fallan indican problemas de conectividad entre los componentes o que una parte del servicio está sobrecargada.
  • Si el administrador del controlador no se puede comunicar con el servidor de la API durante demasiado tiempo, la renovación falla y la instancia de KCM pierde su liderazgo, incluso si la conexión se restablece más adelante.
  • Si se replica el plano de control, el nuevo líder debería asumir el control sin problemas y sin tiempo de inactividad. No es necesario que realices ninguna acción. El plano de control de un clúster de múltiples nubes o regional siempre se replica. No intentes inhabilitar la elección de líder para un plano de control replicado. No puedes volver a habilitar la elección de líder sin tiempo de inactividad.

¿Qué sigue?

Si necesitas asistencia adicional, comunícate con Atención al cliente de Cloud.