Halaman ini menunjukkan cara menyelesaikan masalah terkait pengontrol Kubernetes (kube-controller-manager) untuk Google Distributed Cloud.
Pemilihan pemimpin gagal
Error ini mungkin terlihat di cluster regional atau bidang kontrol yang direplikasi saat kube-controller-manager (KCM) dimulai ulang secara tidak terduga. Mulai ulang ini mungkin melibatkan penghentian sendiri atau dimulai ulang oleh kubelet. Log KCM mungkin menyertakan pesan leaderelection lost.
Skenario ini dapat terjadi saat pemimpin memeriksa apakah pemimpin masih aktif sebagai bagian dari health check KCM.
Jika pemimpin tidak lagi memimpin atau pemeriksaan sewa gagal, health check akan melaporkan bahwa pemimpin tidak responsif, dan pemimpin akan dimulai ulang.
Status pemilihan pemimpin dapat diambil dengan mendapatkan resource Lease dari grup coordination.k8s.io:
Untuk melihat semua sewa, jalankan perintah
kubectlberikut:kubectl -n kube-system get leaseUntuk memeriksa status sewa tertentu, seperti
lease/kube-controller-manager, gunakan perintahkubectl describeberikut:kubectl -n kube-system describe lease/kube-controller-managerDi bagian
Events, periksa peristiwaLeaderElection. Tinjau siapa yang mengambil kepemimpinan dan kapan hal itu terjadi. Output contoh berikut menunjukkan bahwa saat node pertama dimatikan 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 leaderAnda juga dapat mengamati proses kehilangan dan mendapatkan kepemimpinan menggunakan metrik
kubernetes.io/anthos/leader_election_master_statusyang 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 menurut container_name dari kube-controller-manager.
Jika Anda mengalami masalah terkait proses pemilihan pemimpin yang 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 yang kelebihan beban.
- Jika pengontrol gagal berkomunikasi dengan server API terlalu lama, perpanjangan akan gagal dan instance KCM akan kehilangan kepemimpinannya, meskipun koneksi dipulihkan nanti.
- Jika bidang kontrol direplikasi, pemimpin baru harus mengambil alih dengan lancar tanpa waktu henti. Anda tidak perlu melakukan tindakan apa pun. Bidang kontrol cluster multi-cloud atau regional selalu direplikasi. Jangan mencoba menonaktifkan pemilihan pemimpin untuk bidang kontrol yang direplikasi. Anda tidak dapat mengaktifkan kembali pemilihan pemimpin tanpa waktu henti.
Langkah berikutnya
Jika Anda memerlukan bantuan tambahan, hubungi Layanan Pelanggan Cloud. Anda juga dapat melihat Mendapatkan dukungan untuk mengetahui informasi selengkapnya tentang resource dukungan, termasuk hal berikut:
- Persyaratan untuk membuka kasus dukungan.
- Alat untuk membantu Anda memecahkan masalah, seperti konfigurasi lingkungan, log, dan metrik.
- Komponen yang didukung .