Mencadangkan dan memulihkan cluster lanjutan dengan gkectl

Dokumen ini menjelaskan cara mencadangkan dan memulihkan cluster admin dan pengguna Google Distributed Cloud versi 1.32 dan yang lebih tinggi yang telah mengaktifkan cluster lanjutan.

Proses pencadangan dan pemulihan gkectl tidak mencakup volume persisten. Setiap volume yang dibuat oleh penyedia volume lokal (LVP) tidak akan diubah.

Mencadangkan cluster

Perintah gkectl backup cluster menambahkan informasi cluster dari penyimpanan etcd dan sertifikat PKI untuk cluster yang ditentukan ke file tar. Penyimpanan etcd adalah penyimpanan pendukung Kubernetes untuk semua data cluster dan berisi semua objek Kubernetes dan objek kustom yang diperlukan untuk mengelola status cluster. Sertifikat PKI digunakan untuk autentikasi melalui Transport Layer Security (TLS). Data ini dicadangkan dari bidang kontrol cluster atau dari salah satu bidang kontrol untuk deployment ketersediaan tinggi (HA).

File tar cadangan berisi kredensial sensitif, termasuk kunci akun layanan dan kunci SSH Anda. Simpan file cadangan di lokasi yang aman. Untuk mencegah eksposur file yang tidak diinginkan, proses pencadangan hanya menggunakan file dalam memori.

Cadangkan cluster secara rutin untuk memastikan data snapshot Anda relatif aktual. Sesuaikan kecepatan pencadangan untuk mencerminkan frekuensi perubahan signifikan pada cluster Anda.

Sebelum memulai, pastikan cluster Anda beroperasi dengan benar, dengan kredensial yang berfungsi dan konektivitas SSH ke semua node. Tujuan proses pencadangan adalah untuk mengambil cluster Anda dalam kondisi baik yang diketahui sehingga Anda dapat memulihkan operasi jika terjadi kegagalan besar.

Untuk mencadangkan cluster:

  1. Jalankan perintah berikut untuk memeriksa cluster Anda:

    gkectl diagnose cluster --cluster-name CLUSTER_NAME \
        --kubeconfig ADMIN_KUBECONFIG
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster yang ingin Anda cadangkan.

    • ADMIN_KUBECONFIG: jalur file kubeconfig untuk cluster admin.

  2. Jalankan perintah yang berlaku untuk mencadangkan cluster:

    Cluster admin

    gkectl backup admin --kubeconfig ADMIN_KUBECONFIG
    

    Cluster pengguna

    gkectl backup cluster --cluster-name CLUSTER_NAME \
        --kubeconfig ADMIN_KUBECONFIG
    

Secara default, file tar cadangan disimpan ke direktori gkectl-workspace/backups di workstation admin Anda. File tar diberi nama CLUSTER_NAME_backup_TIMESTAMP.tar.gz, dengan CLUSTER_NAME adalah nama cluster yang dicadangkan dan TIMESTAMP adalah tanggal dan waktu pencadangan dilakukan. Misalnya, jika nama cluster adalah testuser, file cadangan akan memiliki nama seperti testuser_backup_2006-01-02T150405Z0700.tar.gz. Untuk menentukan nama dan lokasi yang berbeda untuk file cadangan, gunakan flag --backup-file.

File cadangan akan berakhir masa berlakunya setelah satu tahun dan proses pemulihan cluster tidak akan berfungsi dengan file cadangan yang sudah tidak berlaku.

File cadangan juga dapat diupload ke Server vCenter Anda, jika bagian berikut dikonfigurasi ke file konfigurasi cluster admin: clusterBackup:

datastore: DATASTORE

Ganti DATASTORE dengan datastore tempat Anda ingin menyimpan cadangan. Datastore harus berada di datacenter yang sama dengan cluster admin. Cadangan terletak di direktori anthos/CLUSTER_NAME/backup datastore yang ditentukan.

Memulihkan cluster

Memulihkan cluster dari cadangan adalah upaya terakhir dan hanya boleh digunakan saat cluster mengalami kegagalan besar dan tidak dapat diaktifkan kembali dengan cara lain. Misalnya, data etcd rusak atau Pod etcd berada dalam loop error.

File tar cadangan berisi kredensial sensitif, termasuk kunci akun layanan dan kunci SSH Anda. Untuk mencegah eksposur file yang tidak diinginkan, proses pemulihan Google Distributed Cloud hanya menggunakan file dalam memori.

Sebelum memulihkan cluster, pastikan kondisi berikut terpenuhi:

  • Pastikan semua mesin node kontrol-plane yang tersedia untuk cluster pada saat pencadangan beroperasi dengan benar dan dapat dijangkau.
  • Pastikan konektivitas SSH antar-node berfungsi dengan kunci SSH yang digunakan pada saat pencadangan. Kunci SSH ini diaktifkan kembali sebagai bagian dari proses pemulihan.
  • Pastikan kunci akun layanan yang digunakan pada saat pencadangan masih aktif. Kunci akun layanan ini diaktifkan kembali untuk cluster yang dipulihkan.

Untuk memulihkan cluster:

  1. Jalankan perintah yang berlaku untuk memulihkan cluster:

    Cluster admin

    gkectl restore admin --backup-file BACKUP_FILE \
        --config ADMIN_CONFIG
    

    Ganti kode berikut:

    • BACKUP_FILE: jalur dan nama file cadangan yang Anda gunakan.

    • ADMIN_CONFIG: jalur ke file konfigurasi cluster admin.

    Cluster pengguna

    gkectl restore cluster --cluster-name CLUSTER_NAME \
        --backup-file BACKUP_FILE \
        --kubeconfig ADMIN_KUBECONFIG
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster yang Anda pulihkan.

    • BACKUP_FILE: jalur dan nama file cadangan yang Anda gunakan.

    • ADMIN_KUBECONFIG: jalur ke file kubeconfig cluster admin.

    Di akhir proses pemulihan, file kubeconfig baru akan dibuat untuk cluster yang dipulihkan di direktori ruang kerja gkectl-workspace.

  2. Setelah pemulihan selesai, jalankan perintah berikut untuk memverifikasi bahwa pemulihan berhasil:

    gkectl diagnose cluster --cluster-name CLUSTER_NAME \
        --kubeconfig GENERATED_KUBECONFIG
    

    Ganti GENERATED_KUBECONFIG dengan file kubeconfig yang dihasilkan.

Memecahkan masalah

Jika Anda mengalami masalah dengan proses pencadangan atau pemulihan, bagian berikut mungkin dapat membantu Anda memecahkan masalah tersebut.

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

Kehabisan memori selama pencadangan atau pemulihan

Jika workstation tempat Anda menjalankan perintah gkectl tidak memiliki banyak RAM, Anda mungkin tidak memiliki cukup memori untuk melakukan proses pencadangan atau pemulihan. Jika diperlukan, buat dan gunakan disk sementara untuk memproses operasi pencadangan atau pemulihan menggunakan parameter --use-disk dalam perintah pencadangan. Untuk mempertahankan izin file, parameter ini mengubah izin file, sehingga Anda harus menjalankan perintah sebagai pengguna root (atau menggunakan sudo).

Memuat ulang kunci SSH setelah pencadangan merusak proses pemulihan

Operasi terkait SSH selama proses pemulihan mungkin gagal jika kunci SSH dimuat ulang setelah pencadangan dilakukan. Dalam hal ini, kunci SSH baru menjadi tidak valid untuk proses pemulihan. Untuk mengatasi masalah ini, Anda dapat menambahkan kembali kunci SSH asli untuk sementara, lalu melakukan pemulihan. Setelah proses pemulihan selesai, Anda dapat merotasi kunci SSH.