En esta página, se muestra cómo resolver problemas con el administrador del controlador de Kubernetes (kube-controller-manager
) para Google Distributed 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
:
Para ver todas las asignaciones, ejecuta el siguiente comando de
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
, comprueba si hay eventosLeaderElection
. 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 porname
.
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.