Soluciona problemas del administrador de controladores de Kubernetes

En esta página, se muestra cómo resolver problemas con el administrador del 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

Este error puede observarse en un clúster regional o en un plano de control replicado cuando kube-controller-manager (KCM) se reinicia de forma inesperada. Este reinicio puede implicar que kubelet se cierre o reinicie. Los registros de KCM pueden incluir mensajes leaderelection lost.

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

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

El estado de elección de líder se puede recuperar si obtienes los recursos Lease del grupo coordination.k8s.io:

  1. Para ver todas las asignaciones, ejecuta el siguiente comando de 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 de kubectl describe:

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

    En la sección Events, comprueba si hay eventos LeaderElection. Revisa quién asume el liderazgo y cuándo sucede. En el siguiente resultado de ejemplo, se muestra que, cuando el primer nodo se cerró de forma manual, el segundo toma el control 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 ocurre si fracasa el líder actual. Para confirmar el error, consulta 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 experimentas problemas del proceso de elección de líder de forma reiterada o con errores, revisa las siguientes consideraciones para solucionar el problema:

  • Si KCM se reinicia cada pocos minutos o menos, verifica los registros de KCM en busca de solicitudes con errores al servidor de la API. Las solicitudes con errores indican que hay problemas de conectividad entre los componentes o parte del servicio.
  • Si el administrador del controlador no se comunica 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 el plano de control se replica, el nuevo líder debería tomar 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 regional o de múltiples nubes siempre se replica. No intentes inhabilitar la elección de líder para un plano de control replicado. No se puede 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.