Questa pagina mostra come risolvere i problemi relativi al controller Kubernetes
manager (kube-controller-manager
) per Google Distributed Cloud.
Elezione del dirigente persa
Questo errore potrebbe essere osservato in un cluster regionale o in un control plane replicato
quando kube-controller-manager
(KCM) viene riavviato in modo imprevisto. Questo riavvio potrebbe
comportare la chiusura automatica o il riavvio da parte di kubelet
. I log di KCM potrebbero
includere messaggi leaderelection lost
.
Questo scenario può verificarsi quando il leader controlla se è ancora attivamente leader nell'ambito del controllo di integrità di KCM.
Se il leader non è più il leader o il controllo del lease non va a buon fine, il controllo di integrità segnala che non è integro e il leader viene riavviato.
Lo stato dell'elezione del leader può essere recuperato ottenendo le risorse Lease
del gruppo coordination.k8s.io
:
Per visualizzare tutti i lease, esegui questo comando
kubectl
:kubectl -n kube-system get lease
Per controllare lo stato di un determinato lease, ad esempio
lease/kube-controller-manager
, utilizza il seguente comandokubectl describe
:kubectl -n kube-system describe lease/kube-controller-manager
Nella sezione
Events
, controlla la presenza di eventiLeaderElection
. Controlla chi assume la leadership e quando. L'output di esempio seguente mostra che quando il primo nodo è stato arrestato manualmente, il secondo assume immediatamente il ruolo di leader: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
Puoi anche osservare il processo di perdita e acquisizione della leadership utilizzando la metrica
kubernetes.io/anthos/leader_election_master_status
raggruppata pername
.
La procedura di elezione del leader viene eseguita solo se il leader attuale non riesce. Puoi
confermare l'errore esaminando le metriche kubernetes.io/anthos/container/uptime
e
kubernetes.io/anthos/container/restart_count
filtrate in base a un
container_name
di kube-controller-manager
.
Se riscontri problemi con il processo di elezione del leader che viene eseguito ripetutamente o non va a buon fine, esamina le seguenti considerazioni per la risoluzione:
- Se KCM viene riavviato ogni pochi minuti o meno, controlla i log di KCM per le richieste non riuscite al server API. Le richieste non riuscite indicano problemi di connettività tra i componenti o che una parte del servizio è sovraccarica.
- Se il gestore dei controller non riesce a comunicare con il server API per troppo tempo, il rinnovo non riesce e l'istanza KCM perde la leadership, anche se la connessione viene ripristinata in un secondo momento.
- Se il control plane viene replicato, il nuovo leader deve subentrare senza problemi senza tempi di inattività. Non è richiesta alcuna azione da parte tua. Il control plane di un cluster multicloud o regionale viene sempre replicato. Non tentare di disattivare la selezione del leader per un piano di controllo replicato. Non puoi riattivare la selezione del leader senza tempi di inattività.
Passaggi successivi
Se hai bisogno di ulteriore assistenza, contatta l'assistenza clienti Google Cloud.
Puoi anche consultare la sezione Richiedere assistenza per ulteriori informazioni sulle risorse di assistenza, tra cui:
- Requisiti per l'apertura di una richiesta di assistenza.
- Strumenti per aiutarti a risolvere i problemi, come log e metriche.
- Componenti supportati, versioni e funzionalità di Google Distributed Cloud per VMware (solo software).