Memecahkan masalah pengelola pengontrol Kubernetes

Halaman ini menunjukkan cara menyelesaikan masalah dengan pengontrol Kubernetes (kube-controller-manager) untuk Google Distributed Cloud.

Jika Anda memerlukan bantuan tambahan, hubungi Cloud Customer Care.

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:

  1. Untuk melihat semua lease, jalankan perintah kubectl berikut:

    kubectl -n kube-system get lease
    
  2. Untuk memeriksa status sewa tertentu, seperti lease/kube-controller-manager, gunakan perintah kubectl describe berikut:

    kubectl -n kube-system describe lease/kube-controller-manager
    

    Di bagian Events, periksa peristiwa LeaderElection. 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 menurut name.

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.

Langkah selanjutnya

Jika Anda memerlukan bantuan tambahan, hubungi Cloud Customer Care.