En esta página, se muestra cómo resolver problemas con el administrador de controlador de Kubernetes (kube-controller-manager
) para Google Distributed Cloud.
Se perdió la elección de líder
Es posible que se observe este error en un clúster regional o en un plano de control replicado cuando kube-controller-manager
(KCM) se reinicie de forma inesperada. Este reinicio puede implicar que se cierre o que kubelet
lo reinicie. Es posible que los registros de KCM incluyan 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 es el líder o falla la verificación del arrendamiento, 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
:
Para ver todos los arrendamientos, 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 comandokubectl describe
:kubectl -n kube-system describe lease/kube-controller-manager
En la sección
Events
, busca eventosLeaderElection
. Revisa quién asume el liderazgo y cuándo lo hace. En el siguiente ejemplo de resultado, se muestra que, cuando se cerró el primer nodo de forma manual, el segundo asumió la responsabilidad 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 se produce si falla el líder actual. Para confirmar la falla, 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 con el proceso de elección de líder que se ejecuta o falla de forma repetida, revisa las siguientes consideraciones de solución:
- Si el KCM se reinicia cada pocos minutos o menos, verifica los registros del KCM en busca de solicitudes fallidas al servidor de la API. Las solicitudes que fallan indican problemas de conectividad entre los componentes o que una parte del servicio está sobrecargada.
- Si el administrador del controlador no se puede comunicar 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 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.