Mereset node yang gagal di Google Distributed Cloud

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

Jika Anda ingin menambah atau menghapus node dari cluster saat node belum gagal, lihat Update cluster.

Jika Anda memerlukan bantuan tambahan, hubungi Cloud Customer Care.

Reset node

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

Jika Anda mereset node dengan rapi dan memperbarui cluster, tindakan berikut akan terjadi:

  1. Node direset, mirip dengan kubeadm reset, dan mesin kembali ke dalam keadaan pra-instal.
  2. Referensi terkait dengan node tersebut akan dihapus dari node pool dan cluster resource kustom.

Di beberapa perintah bmctl berikut untuk mereset node, --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.

Hapus node pekerja

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

  1. Coba reset node hingga bersih. Setelah node direset, node tersebut 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 cluster admin File kubeconfig.

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

  2. Jika langkah sebelumnya untuk mereset node gagal, hapus node secara paksa dari cluster. Penghapusan paksa ini akan melewati langkah sebelumnya yang berjalan yang mengatur ulang perintah dan hanya melakukan langkah untuk menghapus referensi ke node dari node pool 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 paksa menghapus node dari cluster node pada jalankan perintah bmctl reset lagi untuk mereset node:

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

Hapus node bidang kontrol tunggal

Prosesnya sama seperti untuk worker node. Untuk node bidang kontrol, bmctl juga akan membersihkan keanggotaan etcd.

Cluster tersebut berhenti berstatus sangat tersedia (HA) setelah Anda menghapus node yang 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 tersebut 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 cluster admin File kubeconfig.

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

  2. Jika langkah sebelumnya untuk mereset node gagal, Anda dapat menghapus node dari cluster. Penghapusan paksa ini akan melewati langkah sebelumnya yang berjalan yang mengatur ulang perintah, dan hanya melakukan langkah untuk menghapus referensi ke node dari node pool 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 paksa menghapus node dari cluster node pada jalankan perintah bmctl reset lagi 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 node bidang kontrol dalam cluster HA yang memasukkan status gagal, cluster kehilangan kuorum dan menjadi tidak tersedia.

Jika Anda perlu memulihkan cluster pengelolaan, jangan berikan kubeconfig dalam perintah {i>reset<i}. Jika Anda memberikan file kubeconfig untuk pengelolaan cluster baru, sistem akan memaksa cluster baru untuk melakukan operasi reset. Jika Anda memulihkan cluster pengguna, menyediakan jalur ke file kubeconfig.

  1. Untuk memulihkan cluster yang kehilangan kuorum, jalankan perintah berikut di node responsif yang tersisa:

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

    Ganti kode berikut:

    • CONTROL_PLANE_NODE: alamat IP node yang responsif yang tetap menjadi bagian dari cluster itu.
    • CLUSTER_NAME: nama cluster target yang berisi node yang gagal.
    • KUBECONFIG_FILE: jika memulihkan cluster pengguna, jalurnya ke file kubeconfig cluster pengguna.
  2. Setelah Anda 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 cluster admin File kubeconfig.

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

Proses ini hanya menangani pemulihan dari bencana untuk bidang kontrol 3 node deployment HA. Proses ini tidak mendukung pemulihan untuk konfigurasi ketersediaan tinggi (HA) dengan 5 node atau lebih.

Langkah selanjutnya

  • Untuk mengetahui informasi selengkapnya tentang cara menambah atau menghapus node dari cluster jika ada gagal dan memeriksa status {i>node<i}, lihat Update cluster.

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