Soluciona problemas del administrador del controlador 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 Virtual for Bare Metal.

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

Elecciones de líder perdidas

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 salir o kubelet reiniciarlo. Los registros de KCM pueden incluir mensajes leaderelection lost.

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

Si el líder ya no está a la cabeza o la verificación de asignación de tiempo falla, la verificación de estado informa que no está en buen estado y el 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 de tiempo, 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 de kubectl describe:

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

    En la sección Events, verifica si hay eventos LeaderElection. Revisa quién toma 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 pérdida y adquisición de liderazgo mediante la métrica kubernetes.io/anthos/leader_election_master_status agrupada por name.

El proceso de elección de líder solo ocurre si el líder actual falla. Para confirmar el error, 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 del proceso de elección de líderes que se ejecutan o falla de forma reiterada, revisa las siguientes consideraciones para solucionarlos:

  • Si KCM se reinicia cada pocos minutos o menos, comprueba los registros de KCM en busca de solicitudes fallidas al servidor de la API. Las solicitudes fallidas indican que los problemas de conectividad entre los componentes o parte del servicio están sobrecargados.
  • 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 más tarde se restablece la conexión.
  • Si el plano de control se replica, el líder nuevo debería tomar el control sin problemas 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.