Estas páginas mostram como resolver problemas com o gestor do controlador do Kubernetes (kube-controller-manager
) para o Google Distributed Cloud.
Eleição de líder perdida
Este erro pode ser observado num cluster regional ou num plano de controlo replicado quando o kube-controller-manager
(KCM) é reiniciado inesperadamente. Este reinício pode envolver o encerramento automático ou o reinício por parte de kubelet
. Os registos do KCM podem incluir mensagens leaderelection lost
.
Este cenário pode ocorrer quando o líder verifica se ainda está a liderar ativamente como parte da verificação do estado do KCM.
Se o líder deixar de liderar ou a verificação de concessão falhar, a verificação de estado comunica que o estado não é bom e o líder é reiniciado.
Pode obter o estado da eleição de líder através dos recursos Lease
do grupo coordination.k8s.io
:
Para ver todas as concessões, execute o seguinte comando
kubectl
:kubectl -n kube-system get lease
Para verificar o estado de uma determinada concessão, como
lease/kube-controller-manager
, use o seguinte comandokubectl describe
:kubectl -n kube-system describe lease/kube-controller-manager
Na secção
Events
, verifique se existem eventosLeaderElection
. Reveja quem assume a liderança e quando isso acontece. O exemplo de saída seguinte mostra que, quando o primeiro nó foi encerrado manualmente, o segundo assume instantaneamente a liderança: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
Também pode observar o processo de perda e ganho de liderança através da métrica
kubernetes.io/anthos/leader_election_master_status
agrupada porname
.
O processo de eleição do líder só ocorre se o líder atual falhar. Pode confirmar a falha consultando as métricas kubernetes.io/anthos/container/uptime
e kubernetes.io/anthos/container/restart_count
filtradas por um container_name
de kube-controller-manager
.
Se tiver problemas com o processo de eleição do líder a ser executado repetidamente ou a falhar, reveja as seguintes considerações de remediação:
- Se o KCM for reiniciado a cada poucos minutos ou menos, verifique os registos do KCM quanto a pedidos falhados ao servidor da API. Os pedidos com falhas indicam problemas de conetividade entre os componentes ou que parte do serviço está sobrecarregada.
- Se o gestor do controlador não conseguir comunicar com o servidor da API durante demasiado tempo, a renovação falha e a instância do KCM perde a respetiva liderança, mesmo que a ligação seja restaurada posteriormente.
- Se o plano de controlo for replicado, o novo líder deve assumir o controlo sem problemas e sem tempo de inatividade. Não é necessária qualquer ação da sua parte. O plano de controlo de um cluster multinuvem ou regional é sempre replicado. Não tente desativar a eleição de líder para um plano de controlo replicado. Não pode voltar a ativar a eleição de líder sem tempo de inatividade.
O que se segue?
Se precisar de assistência adicional, contacte o apoio ao cliente do Google Cloud.
Também pode consultar o artigo Receber apoio técnico para mais informações sobre recursos de apoio técnico, incluindo o seguinte:
- Requisitos para abrir um registo de apoio técnico.
- Ferramentas para ajudar a resolver problemas, como registos e métricas.
- Componentes suportados, versões e funcionalidades do Google Distributed Cloud para VMware (apenas software).