Halaman ini menunjukkan cara menyelesaikan masalah terkait pengelola pengontrol Kubernetes (kube-controller-manager
) untuk Google Distributed Cloud Virtual untuk Bare Metal.
Kekalahan dalam pemilihan pemimpin
Error ini mungkin terlihat di cluster regional atau bidang kontrol replika saat kube-controller-manager
(KCM) dimulai ulang secara tidak terduga. Mulai ulang ini mungkin
menyebabkan Anda berhenti sendiri atau dimulai ulang oleh kubelet
. Log KCM mungkin
menyertakan pesan leaderelection lost
.
Skenario ini dapat terjadi saat pemimpin memeriksa apakah pemimpin masih aktif memimpin sebagai bagian dari health check KCM.
Jika pemimpin tidak lagi memimpin atau pemeriksaan lease gagal, laporan health check menjadi tidak responsif, dan posisi teratas dimulai ulang.
Status pemilihan pemimpin dapat diambil dengan mendapatkan resource Lease
dari
grup coordination.k8s.io
:
Untuk melihat semua lease, jalankan perintah
kubectl
berikut:kubectl -n kube-system get lease
Untuk memeriksa status lease tertentu, seperti
lease/kube-controller-manager
, gunakan perintahkubectl describe
berikut:kubectl -n kube-system describe lease/kube-controller-manager
Di bagian
Events
, periksa peristiwaLeaderElection
. Tinjau siapa yang memimpin dan kapan hal itu terjadi. Contoh output berikut menunjukkan bahwa saat node pertama dinonaktifkan secara manual, node kedua langsung mengambil alih kepemimpinan: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
Anda juga dapat mengamati proses kehilangan atau mendapatkan kepemimpinan dengan menggunakan metrik
kubernetes.io/anthos/leader_election_master_status
yang dikelompokkan menurutname
.
Proses pemilihan pemimpin hanya terjadi jika pemimpin saat ini gagal. Anda dapat mengonfirmasi kegagalan dengan melihat metrik kubernetes.io/anthos/container/uptime
dan kubernetes.io/anthos/container/restart_count
yang difilter oleh container_name
dari kube-controller-manager
.
Jika Anda mengalami masalah proses pemilihan pemimpin berulang kali berjalan atau gagal, tinjau pertimbangan perbaikan berikut:
- Jika KCM dimulai ulang setiap beberapa menit atau kurang, periksa log KCM untuk mengetahui permintaan yang gagal ke server API. Permintaan yang gagal menunjukkan masalah konektivitas antara komponen atau bagian dari layanan kelebihan beban.
- Jika pengelola pengontrol gagal berkomunikasi dengan server API terlalu lama, perpanjangan akan gagal dan instance KCM kehilangan kepemimpinannya, meskipun koneksi kemudian dipulihkan.
- Jika bidang kontrol direplikasi, pemimpin baru akan mengambil alih dengan lancar tanpa periode nonaktif. Anda tidak perlu melakukan tindakan apa pun. Bidang kontrol dari cluster multi-cloud atau regional selalu direplikasi. Jangan mencoba menonaktifkan pilihan pemimpin untuk bidang kontrol yang direplikasi. Anda tidak dapat mengaktifkan kembali pemilihan pemimpin tanpa periode nonaktif.