Halaman ini menjelaskan cara menggunakan bmctl
untuk mencadangkan dan memulihkan cluster yang dibuat
dengan GDCV untuk Bare Metal. Petunjuk ini berlaku untuk semua jenis cluster yang didukung oleh GKE di Bare Metal.
Proses pencadangan dan pemulihan bmctl
tidak menyertakan volume
persisten. Setiap volume yang dibuat oleh penyedia volume lokal (LVP) tidak akan
diubah.
Mencadangkan cluster
Perintah bmctl backup cluster
menambahkan informasi cluster dari penyimpanan etcd
dan sertifikat PKI untuk cluster yang ditentukan, cluster tersebut 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
otentikasi melalui 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. Simpan file cadangan di lokasi yang aman. Untuk mencegah eksposur file yang tidak diinginkan, proses pencadangan GKE pada Bare Metal hanya menggunakan file dalam memori.
Cadangkan cluster Anda secara rutin untuk memastikan data snapshot Anda relatif terbaru. Sesuaikan tingkat pencadangan untuk mencerminkan frekuensi perubahan signifikan pada cluster Anda.
Versi bmctl
yang Anda gunakan untuk mencadangkan cluster harus cocok dengan versi cluster pengelola.
Untuk mencadangkan cluster:
Pastikan cluster Anda beroperasi dengan benar, dengan kredensial yang berfungsi dan konektivitas SSH ke semua node.
Tujuan proses pencadangan adalah untuk merekam cluster Anda dalam keadaan baik yang diketahui, sehingga Anda dapat memulihkan operasi jika terjadi kegagalan bencana.
Gunakan perintah berikut untuk memeriksa cluster Anda:
bmctl check cluster -c CLUSTER_NAME --kubeconfig ADMIN_KUBEONFIG
Ganti kode berikut:
CLUSTER_NAME
: nama cluster yang akan Anda cadangkan.ADMIN_KUBEONFIG
: jalur file kubeconfig untuk cluster admin.
Jalankan perintah berikut untuk memastikan cluster target tidak dalam status rekonsiliasi:
kubectl describe cluster CLUSTER_NAME -n CLUSTER_NAMESPACE --kubeconfig ADMIN_KUBEONFIG
Ganti kode berikut:
CLUSTER_NAME
: nama cluster yang akan dicadangkan.CLUSTER_NAMESPACE
: namespace untuk cluster. Secara default, namespace cluster untuk GKE di Bare Metal adalah nama cluster yang diawali dengancluster-
. Misalnya, jika Anda menamai cluster Andatest
, namespace akan memiliki nama seperticluster-test
.ADMIN_KUBEONFIG
: jalur file kubeconfig untuk cluster admin.
Periksa bagian
Status
dalam output perintah untukConditions
jenisReconciling
.Seperti yang ditunjukkan dalam contoh berikut, status
False
untukConditions
ini berarti cluster sudah stabil dan siap dicadangkan.... Status: ... Cluster State: Running ... Control Plane Node Pool Status: ... Conditions: Last Transition Time: 2023-11-03T16:37:15Z Observed Generation: 1 Reason: ReconciliationCompleted Status: False Type: Reconciling ...
Jalankan perintah berikut untuk mencadangkan cluster:
bmctl backup cluster -c CLUSTER_NAME --kubeconfig ADMIN_KUBEONFIG
Ganti kode berikut:
CLUSTER_NAME
: nama cluster yang akan dicadangkan.ADMIN_KUBEONFIG
: jalur ke file kubeconfig cluster admin.
Secara default, file tar cadangan disimpan ke direktori ruang kerja (
bmctl-workspace
, secara default) di workstation admin Anda. File tar diberi namaCLUSTER_NAME_backup_TIMESTAMP.tar.gz
, denganCLUSTER_NAME
adalah nama cluster yang sedang dicadangkan danTIMESTAMP
adalah tanggal dan waktu pencadangan dilakukan. Misalnya, jika nama cluster adalahtestuser
, file cadangan akan memiliki nama sepertitestuser_backup_2006-01-02T150405Z0700.tar.gz
.Untuk menentukan nama dan lokasi yang berbeda untuk file cadangan, gunakan flag
--backup-file
.
Masa berlaku file cadangan akan berakhir setelah satu tahun, dan proses pemulihan cluster tidak akan berfungsi dengan file cadangan yang telah habis masa berlakunya.
Memulihkan cluster
Memulihkan cluster dari cadangan adalah upaya terakhir dan harus digunakan saat cluster gagal secara fatal dan tidak dapat dikembalikan ke layanan dengan cara
lain. Misalnya, data etcd rusak atau Pod etcd
mengalami error loop.
File tar cadangan berisi kredensial sensitif, termasuk kunci akun layanan dan kunci SSH. Untuk mencegah eksposur file yang tidak diinginkan, GKE pada proses pemulihan Bare Metal hanya menggunakan file dalam memori.
Versi bmctl
yang Anda gunakan untuk memulihkan cluster harus cocok dengan versi
cluster pengelola.
Untuk memulihkan cluster:
Pastikan semua mesin node 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 admin, cluster hybrid, atau cluster mandiri, jalankan perintah berikut:
bmctl restore cluster -c CLUSTER_NAME --backup-file BACKUP_FILE
Ganti kode berikut:
CLUSTER_NAME
: nama cluster yang sedang Anda pulihkan.BACKUP_FILE
: jalur dan nama file cadangan yang Anda gunakan.
Untuk memulihkan cluster pengguna, jalankan perintah berikut:
bmctl restore cluster -c CLUSTER_NAME --backup-file BACKUP_FILE \ --kubeconfig ADMIN_KUBEONFIG
Ganti kode berikut:
CLUSTER_NAME
: nama cluster yang sedang Anda pulihkan.BACKUP_FILE
: jalur dan nama file cadangan yang Anda gunakan.ADMIN_KUBEONFIG
: jalur ke file kubeconfig cluster admin.
Di akhir proses pemulihan, file kubeconfig baru akan dibuat untuk cluster yang dipulihkan.
Memecahkan masalah
Jika Anda mengalami masalah dengan proses pencadangan atau pemulihan, bagian berikut dapat membantu Anda memecahkan masalah tersebut.
Jika Anda memerlukan bantuan lainnya, hubungi Dukungan Google.
Kehabisan memori selama proses pencadangan atau pemulihan
Anda mungkin menerima pesan error selama proses pencadangan atau pemulihan yang
tidak terlalu jelas atau tidak jelas terkait langkah selanjutnya. Jika workstation
tempat Anda menjalankan perintah bmctl
tidak memiliki banyak RAM, Anda mungkin memiliki
memori yang tidak cukup untuk melakukan proses pencadangan atau pemulihan.
GDCV untuk Bare Metal versi 1.13 dan yang lebih baru dapat menggunakan parameter --use-disk
dalam
perintah pencadangan. Untuk mempertahankan izin file, parameter ini mengubah
izin file, sehingga mengharuskan pengguna yang menjalankan perintah tersebut adalah
pengguna root (atau menggunakan sudo
).
Tidak ada izin untuk file selama pemulihan
Setelah tugas pemulihan berhasil, penghapusan bootstrap dapat gagal dengan pesan error yang mirip dengan contoh berikut:
Error: failed to restore node config files: sftp: "Failure" (SSH_FX_FAILURE)
Error ini dapat berarti bahwa beberapa direktori yang diperlukan oleh pemulihan tidak dapat ditulis.
GDCV untuk Bare Metal versi 1.14 dan yang lebih baru memiliki pesan error yang lebih jelas mengenai direktori mana yang harus dapat ditulisi. Pastikan direktori yang dilaporkan dapat ditulis, dan perbarui izin pada direktori sesuai kebutuhan.
Penyegaran kunci SSH setelah cadangan menghentikan proses pemulihan
Operasi terkait SSH selama proses pemulihan mungkin akan gagal jika kunci SSH dimuat ulang setelah pencadangan dilakukan. Jika demikian, kunci SSH baru menjadi tidak valid untuk proses pemulihan.
Untuk mengatasi masalah ini, Anda dapat menambahkan kembali kunci SSH asli untuk sementara, lalu lakukan pemulihan. Setelah proses pemulihan selesai, Anda dapat merotasi kunci SSH.