Soluciona problemas del controlador de Kubernetes

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

Se perdió la elección de líder

Este error se puede observar 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 se cierre por sí mismo o que kubelet lo reinicie. Los registros de KCM pueden incluir 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 lidera o falla la verificación de la concesión, 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 todas las concesiones, ejecuta el siguiente comando kubectl:

    kubectl -n kube-system get lease
    
  2. Para verificar el estado de una concesión 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 sucede. En el siguiente ejemplo de resultado, se muestra que, cuando se apagó el primer nodo de forma manual, el segundo asume el liderazgo de inmediato:

    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 pérdida y obtención de 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 falla el líder actual. Para confirmar la falla, 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 tienes problemas con el proceso de elección de líder que se ejecuta o falla de forma repetida, revisa las siguientes consideraciones de corrección:

  • Si KCM se reinicia cada pocos minutos o menos, consulta los registros de KCM para ver las solicitudes fallidas al servidor de la API. Las solicitudes fallidas indican problemas de conectividad entre los componentes o que parte del servicio está sobrecargado.
  • Si el administrador de controladores no se comunica con el servidor de la API durante demasiado tiempo, falla la renovación y la instancia de KCM pierde su liderazgo, incluso si se restablece la conexión más tarde.
  • 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.

También puedes consultar Obtén asistencia para obtener más información sobre los recursos de asistencia, incluidos los siguientes: