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. Fitur pencadangan dan pemulihan tersedia dalam Pratinjau di versi 1.32 dan GA di versi 1.33 dan yang lebih baru.
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 Anda secara rutin untuk memastikan data snapshot Anda relatif terbaru. Sesuaikan frekuensi 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 menangkap cluster Anda dalam kondisi baik yang diketahui, sehingga Anda dapat memulihkan operasi jika terjadi kegagalan fatal.
Untuk mencadangkan cluster:
Jalankan perintah berikut untuk memeriksa cluster Anda:
gkectl diagnose cluster --cluster-name CLUSTER_NAME \ --kubeconfig ADMIN_KUBECONFIGGanti kode berikut:
CLUSTER_NAME: nama cluster yang ingin Anda cadangkan.
ADMIN_KUBECONFIG: jalur file kubeconfig untuk cluster admin.
Jalankan perintah yang berlaku untuk mencadangkan cluster:
Cluster admin
gkectl backup admin --kubeconfig ADMIN_KUBECONFIGCluster 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 dibuat. Misalnya, jika nama cluster adalah testuser, file cadangan akan memiliki nama seperti testuser_backup_2025-08-23T150405Z0700.tar.gz.
Jika ingin, Anda dapat menentukan nama dan lokasi yang berbeda untuk file cadangan
dengan flag --backup-file, misalnya:
gkectl backup cluster testuser \
--kubeconfig admin-cluster/kubeconfig \
--backup-file cluster-backups/testuser-backup-aug-23-2025.tar.gz
File cadangan akan berakhir masa berlakunya setelah satu tahun dan proses pemulihan cluster tidak akan berfungsi dengan file cadangan yang sudah tidak berlaku.
Pencadangan ke vSphere
Untuk mengonfigurasi pencadangan agar file cadangan untuk cluster admin dan pengguna diupload ke vSphere selain disimpan di workstation admin Anda, lakukan hal berikut:
Tambahkan kolom clusterBackup.datastore ke file konfigurasi cluster admin Anda:
clusterBackup: datastore: DATASTOREGanti
DATASTOREdengan datastore tempat Anda ingin menyimpan cadangan. Datastore harus berada di pusat data yang sama dengan cluster admin. Cadangan terletak di direktorianthos/CLUSTER_NAME/backupdari datastore yang ditentukan.Update cluster admin:
gkectl update admin --kubeconfig ADMIN_KUBECONFIG \ --config ADMIN_CONFIGGanti kode berikut:
ADMIN_KUBECONFIG: jalur file kubeconfig untuk cluster admin.ADMIN_CONFIG: jalur file konfigurasi cluster admin.
Secara default, perintah gkectl backup menyimpan tiga file cadangan terbaru di vSphere dan menghapus file cadangan yang lebih lama. Jika Anda ingin menyimpan
file cadangan lama, tambahkan flag --keep-all-backups, yang tersedia di
versi 1.32.100 dan yang lebih tinggi.
Memulihkan cluster
Memulihkan cluster dari cadangan adalah upaya terakhir dan hanya boleh digunakan jika cluster mengalami kegagalan fatal dan tidak dapat dikembalikan ke layanan dengan cara lain. Misalnya, data etcd rusak atau Pod etcd berada dalam loop error.
Gunakan perintah gkectl restore hanya jika ketiga node bidang kontrol telah gagal.
Jika hanya satu node yang gagal, dan
autoRepair.enabledditetapkan ketruedalam file konfigurasi cluster admin, node yang gagal akan diperbaiki secara otomatis. JikaautoRepair.enabledbelum dikonfigurasi, tambahkan ke file konfigurasi cluster admin dan jalankangkectl update admin. Setelah update, node akan otomatis dibuat ulang.Jika dua node bidang kontrol gagal, lihat bagian Memulihkan kuorum di halaman ini.
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 Anda memulihkan cluster, pastikan kondisi berikut terpenuhi:
- Semua mesin node bidang kontrol yang tersedia untuk cluster pada saat pencadangan beroperasi dengan benar dan dapat dijangkau.
- Konektivitas SSH antar-node berfungsi dengan kunci SSH yang digunakan pada saat pencadangan. Kunci SSH ini diaktifkan kembali sebagai bagian dari proses pemulihan.
- Kunci akun layanan yang digunakan pada saat pencadangan masih aktif. Kunci akun layanan ini diaktifkan kembali untuk cluster yang dipulihkan.
Untuk memulihkan cluster:
Jalankan perintah yang berlaku untuk memulihkan cluster:
Cluster admin
gkectl restore admin --backup-file BACKUP_FILE \ --config ADMIN_CONFIGGanti 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_KUBECONFIGGanti 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.Setelah pemulihan selesai, jalankan perintah berikut untuk memverifikasi bahwa pemulihan berhasil:
gkectl diagnose cluster --cluster-name CLUSTER_NAME \ --kubeconfig GENERATED_KUBECONFIGGanti
GENERATED_KUBECONFIGdengan file kubeconfig yang dihasilkan.
Memulihkan kuorum
Jika dua node bidang kontrol gagal dalam cluster, Anda dapat menggunakan perintah gkectl restore untuk memulihkan kuorum. Saat memulihkan kuorum, alih-alih menentukan file cadangan ke perintah gkectl restore, Anda menentukan alamat IP node bidang kontrol yang berfungsi.
Sebelum menjalankan perintah, pastikan kondisi berikut terpenuhi:
- Ada satu (dan hanya satu) node bidang kontrol yang berfungsi.
- Node bidang kontrol yang berfungsi dapat diakses dengan kunci SSH. Untuk mengetahui informasi selengkapnya, lihat Menggunakan SSH untuk terhubung ke node cluster.
Untuk memulihkan kuorum, jalankan perintah yang berlaku untuk jenis cluster Anda:
Cluster admin
gkectl restore admin --kubeconfig ADMIN_KUBECONFIG \
--config ADMIN_CONFIG \
--control-plane-node WORKING_NODE_IP \
--ssh-key ADMIN_SSH_KEY_PATH
Ganti kode berikut:
ADMIN_KUBECONFIG: jalur file kubeconfig untuk cluster admin.ADMIN_CONFIG: jalur file konfigurasi cluster admin.WORKING_NODE_IP: alamat IP node bidang kontrol yang berfungsi.ADMIN_SSH_KEY_PATH: jalur kunci SSH cluster admin.
Cluster pengguna
gkectl restore cluster --cluster-name CLUSTER_NAME \
--kubeconfig ADMIN_KUBECONFIG \
--control-plane-node WORKING_NODE_IP \
--ssh-key USER_SSH_KEY_PATH
Ganti kode berikut:
CLUSTER_NAME: nama cluster yang Anda pulihkan.ADMIN_KUBECONFIG: jalur ke file kubeconfig cluster admin.WORKING_NODE_IP: alamat IP node bidang kontrol yang berfungsi.USER_SSH_KEY_PATH: jalur kunci SSH cluster pengguna.
Memecahkan masalah
Jika Anda mengalami masalah dengan proses pencadangan atau pemulihan, bagian berikut 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 scratch disk sementara untuk memproses operasi pencadangan atau pemulihan
dengan 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).
Pemuatan ulang kunci SSH setelah pencadangan akan menghentikan proses pemulihan
Operasi terkait SSH selama proses pemulihan mungkin gagal jika kunci SSH diperbarui 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.