Halaman ini menunjukkan cara menyelesaikan masalah dengan pengontrol Kubernetes
(kube-controller-manager
) untuk Google Distributed Cloud.
Pemilu pemimpin kalah
Error ini dapat diamati di cluster regional atau bidang kontrol yang direplikasi
saat kube-controller-manager
(KCM) dimulai ulang secara tiba-tiba. {i>Start ulang<i} ini mungkin
melibatkan berhenti sendiri atau dimulai ulang oleh kubelet
. Log KCM mungkin
menyertakan leaderelection lost
pesan.
Skenario ini dapat terjadi ketika pemimpin memeriksa apakah pemimpin masih aktif bagian dari health check KCM.
Jika pemimpin tidak lagi mengarahkan atau pemeriksaan sewa gagal, health check laporan menjadi tidak sehat, dan pemimpin dimulai kembali.
Status pemilu 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 sewa 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 mengambil alih kepemimpinan dan ketika itu terjadi. Contoh output berikut menunjukkan ketika {i>node<i} pertama dimatikan secara manual, {i>node <i}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 dan mendapatkan kepemimpinan dengan menggunakan
kubernetes.io/anthos/leader_election_master_status
metrik dikelompokkan menurutname
.
Proses pemilihan ketua hanya terjadi jika pemimpin saat ini gagal. Anda dapat
konfirmasi kegagalan dengan melihat kubernetes.io/anthos/container/uptime
dan
kubernetes.io/anthos/container/restart_count
metrik difilter menurut
container_name
dari kube-controller-manager
.
Jika Anda mengalami masalah proses pemilihan pemimpin berulang kali atau gagal, tinjau pertimbangan perbaikan berikut:
- Jika KCM dimulai ulang setiap beberapa menit atau kurang, periksa log KCM apakah ada kegagalan 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 tersebut gagal dan {i>instance<i} KCM kehilangan kepemimpinannya, bahkan jika koneksi akan dipulihkan.
- Jika bidang kontrol direplikasi, pemimpin baru harus mengambil alih dengan lancar tanpa periode nonaktif. Anda tidak perlu melakukan tindakan apa pun. Bidang kontrol dari suatu {i>multi-cloud <i}atau cluster regional selalu direplikasi. Jangan mencoba menonaktifkan posisi teratas pilihan untuk sebuah bidang kontrol yang direplikasi. Anda tidak dapat mengaktifkan kembali pemilihan ketua tanpa periode nonaktif.