Memecahkan masalah pengelola pengontrol Kubernetes

Halaman ini menunjukkan cara menyelesaikan masalah terkait pengelola pengontrol Kubernetes (kube-controller-manager) untuk Google Distributed Cloud Virtual untuk Bare Metal.

Jika Anda memerlukan bantuan lainnya, hubungi Cloud Customer Care.

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:

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

    kubectl -n kube-system get lease
    
  2. Untuk memeriksa status lease 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 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 menurut name.

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.

Langkah selanjutnya

Jika Anda memerlukan bantuan lainnya, hubungi Cloud Customer Care.