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.
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
:
Para ver todas las asignaciones de tiempo, ejecuta el siguiente comando
kubectl
:kubectl -n kube-system get lease
Para verificar el estado de una asignación de tiempo determinada, como
lease/kube-controller-manager
, usa el siguiente comando dekubectl describe
:kubectl -n kube-system describe lease/kube-controller-manager
En la sección
Events
, verifica si hay eventosLeaderElection
. 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 porname
.
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.