Mereset node yang gagal di Google Distributed Cloud

Jika node di Google Distributed Cloud gagal, yang dapat terjadi karena masalah penyimpanan, jaringan, atau kesalahan konfigurasi OS, Anda ingin memulihkan kondisi cluster secara efisien. Setelah memulihkan kondisi cluster, Anda dapat memecahkan masalah kegagalan node. Dokumen ini menunjukkan cara memulihkan dari skenario kegagalan node dengan mereset node, dan menghapus node secara paksa jika perlu.

Jika ingin menambahkan atau menghapus node dari cluster saat node belum gagal, lihat Mengupdate cluster.

Jika Anda memerlukan bantuan lainnya, hubungi Cloud Customer Care.

Reset node

Saat terjadi kegagalan node, terkadang Anda tidak dapat menjalankan perintah reset pada node karena node mungkin tidak dapat dijangkau. Anda mungkin perlu menghapus node secara paksa dari cluster.

Jika Anda mereset node dengan bersih dan mengupdate cluster, tindakan berikut akan terjadi:

  1. Node direset, mirip dengan kubeadm reset, dan mesin mengembalikan ke status bawaan.
  2. Referensi terkait ke node akan dihapus dari resource kustom nodepool dan cluster.

Dalam beberapa perintah bmctl berikut untuk mereset node, parameter --force menunjukkan apakah perintah reset (langkah 1) harus dilewati. Jika parameter --force digunakan, bmctl hanya melakukan langkah penghapusan (langkah 2), dan tidak menjalankan perintah reset.

Menghapus node pekerja

Untuk menghapus node pekerja dari cluster, selesaikan langkah-langkah berikut:

  1. Coba reset node hingga bersih. Setelah node direset, node akan dihapus dari cluster:

    bmctl reset nodes \
        --addresses COMMA_SEPARATED_IPS \
        --cluster CLUSTER_NAME \
        --kubeconfig ADMIN_KUBECONFIG
    

    Ganti kode berikut:

    • COMMA_SEPARATED_IP: alamat IP node yang akan direset, seperti 10.200.0.8,10.200.0.9.
    • CLUSTER_NAME: nama cluster target yang berisi node yang gagal.
    • ADMIN_KUBECONFIG: jalur ke file kubeconfig cluster admin.

    Jika perintah ini berhasil, Anda kini dapat mendiagnosis node dan memperbaiki kesalahan konfigurasi yang menyebabkan kegagalan awal. Lewati langkah-langkah yang tersisa di bagian ini.

  2. Jika langkah sebelumnya untuk mereset node gagal, hapus node secara paksa dari cluster. Penghapusan paksa ini akan melewati langkah sebelumnya yang menjalankan perintah reset tersebut dan hanya melakukan langkah untuk menghapus referensi terkait ke node dari nodepool dan resource kustom cluster:

    bmctl reset nodes \
        --addresses COMMA_SEPARATED_IPS \
        --cluster CLUSTER_NAME \
        --kubeconfig ADMIN_KUBECONFIG \
        --force
    

    Sekarang Anda dapat mendiagnosis node dan memperbaiki kesalahan konfigurasi yang menyebabkan kegagalan awal.

  3. Jika Anda menghapus node secara paksa dari cluster node pada langkah sebelumnya, jalankan kembali perintah bmctl reset untuk mereset node:

    bmctl reset nodes \
        --addresses COMMA_SEPARATED_IPS \
        --cluster CLUSTER_NAME \
        --kubeconfig ADMIN_KUBECONFIG
    

Menghapus node bidang kontrol tunggal

Prosesnya sama seperti worker node. Untuk node bidang kontrol, bmctl juga menghapus keanggotaan etcd.

Cluster berhenti dalam status sangat tersedia (HA) setelah Anda menghapus node gagal. Untuk kembali ke status HA, tambahkan node yang responsif ke cluster.

Untuk menghapus node dari cluster, selesaikan langkah-langkah berikut:

  1. Coba reset node hingga bersih. Setelah node direset, node akan dihapus dari cluster:

    bmctl reset nodes \
        --addresses COMMA_SEPARATED_IPS \
        --cluster CLUSTER_NAME \
        --kubeconfig ADMIN_KUBECONFIG
    

    Ganti nilai berikut:

    • COMMA_SEPARATED_IP: alamat IP node yang akan direset, seperti 10.200.0.8,10.200.0.9.
    • CLUSTER_NAME: nama cluster target yang berisi node yang gagal.
    • ADMIN_KUBECONFIG: jalur ke file kubeconfig cluster admin.

    Jika perintah ini berhasil, Anda kini dapat mendiagnosis node dan memperbaiki kesalahan konfigurasi yang menyebabkan kegagalan awal. Lewati langkah-langkah yang tersisa di bagian ini.

  2. Jika langkah sebelumnya untuk mereset node gagal, Anda dapat menghapus node secara paksa dari cluster. Penghapusan paksa ini akan melewati langkah sebelumnya yang menjalankan perintah reset tersebut, dan hanya melakukan langkah untuk menghapus referensi terkait ke node dari nodepool dan resource kustom cluster:

    bmctl reset nodes \
      --addresses COMMA_SEPARATED_IPS \
      --cluster CLUSTER_NAME \
      --kubeconfig ADMIN_KUBECONFIG \
      --force
    

    Sekarang Anda dapat mendiagnosis node dan memperbaiki kesalahan konfigurasi yang menyebabkan kegagalan awal.

  3. Jika Anda menghapus node secara paksa dari cluster node pada langkah sebelumnya, jalankan kembali perintah bmctl reset untuk mereset node:

    bmctl reset nodes \
      --addresses COMMA_SEPARATED_IPS \
      --cluster CLUSTER_NAME \
      --kubeconfig ADMIN_KUBECONFIG
    

Kuorum hilang di bidang kontrol HA

Jika terlalu banyak bidang kontrol node di cluster HA yang memasuki status gagal, cluster tersebut akan kehilangan kuorum dan menjadi tidak tersedia.

Jika Anda perlu memulihkan cluster pengelolaan, jangan berikan file kubeconfig dalam perintah reset. Jika Anda menyediakan file kubeconfig untuk cluster pengelolaan, cluster baru akan dipaksa untuk melakukan operasi reset. Saat Anda memulihkan cluster pengguna, berikan jalur ke file kubeconfig tersebut.

  1. Untuk memulihkan cluster yang telah kehilangan kuorum, jalankan perintah berikut pada node yang responsif lainnya:

    bmctl restore --control-plane-node CONTROL_PLANE_NODE \
        --cluster CLUSTER_NAME \
        [--kubeconfig KUBECONFIG_FILE]
    

    Ganti kode berikut:

    • CONTROL_PLANE_NODE: alamat IP node responsif yang tetap menjadi bagian dari cluster.
    • CLUSTER_NAME: nama cluster target yang berisi node yang gagal.
    • KUBECONFIG_FILE: jika memulihkan cluster pengguna, jalur ke file kubeconfig cluster pengguna.
  2. Setelah memulihkan node yang gagal, jalankan perintah bmctl reset untuk mereset node:

    bmctl reset nodes \
       --addresses COMMA_SEPARATED_IPS \
       --cluster CLUSTER_NAME \
       [--kubeconfig KUBECONFIG_FILE]
    

    Ganti kode berikut:

    • COMMA_SEPARATED_IP: alamat IP node yang akan direset, seperti 10.200.0.8,10.200.0.9.
    • CLUSTER_NAME: nama cluster target yang berisi node yang gagal.
    • KUBECONFIG_FILE: jalur ke file kubeconfig cluster admin.

    Jika node yang gagal adalah bagian dari kumpulan node load balancer, setelah dipulihkan, node tersebut mungkin bersaing untuk alamat IP virtual bidang kontrol dan membuat cluster baru menjadi tidak stabil. Jalankan perintah reset terhadap node yang gagal sesegera mungkin setelah Anda memulihkan node.

Proses ini hanya menangani pemulihan dari bencana untuk deployment HA bidang kontrol 3 node. Proses ini tidak mendukung pemulihan untuk penyiapan HA dengan 5 node atau lebih.

Langkah selanjutnya

  • Untuk mengetahui informasi selengkapnya tentang cara menambahkan atau menghapus node dari cluster saat tidak ada kegagalan dan memeriksa status node, lihat Mengupdate cluster.

  • Jika Anda memerlukan bantuan lainnya, hubungi Cloud Customer Care.