Saat cluster Google Distributed Cloud sedang dalam proses diinstal, biner dan layanan systemd diinstal di node yang menghosting cluster tersebut, dan layanan mulai memproses port di node.
Namun, jika penginstalan cluster gagal, semua biner dan layanan ini harus dihapus. Dengan kata lain, node perlu direset atau dibersihkan untuk mempersiapkannya agar dapat mencoba menginstal cluster lagi. Jika node tidak direset dengan cara ini, upaya berikutnya untuk menginstal cluster di node tersebut akan gagal.
Halaman ini menjelaskan cara melakukan operasi pembersihan node tertentu dan cara menghapus cluster.
Halaman ini ditujukan untuk Admin, arsitek, dan Operator yang mengelola siklus proses infrastruktur teknologi dasar. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten, lihat Peran dan tugas pengguna GKE umum. Google Cloud
Memilih metode penghapusan
Metode yang Anda gunakan untuk menghapus cluster bergantung pada:
- Jenis cluster.
- Jika Anda hanya ingin membersihkan node tertentu dan tidak menghapus seluruh cluster.
- Cara cluster dibuat.
Google Distributed Cloud menyediakan metode penghapusan berikut:
Konsol Google Cloud atau Google Cloud CLI:
Gunakan konsol atau gcloud CLI untuk menghapus cluster pengguna yang dikelola oleh GKE On-Prem API. Cluster pengguna dikelola oleh GKE On-Prem API jika salah satu kondisi berikut benar:
Cluster dibuat di konsol atau menggunakan gcloud CLI, yang secara otomatis mengonfigurasi GKE On-Prem API untuk mengelola cluster. Google Cloud
Cluster dibuat menggunakan
bmctl
, tetapi dikonfigurasi agar dikelola oleh GKE On-Prem API.
bmctl
:- Gunakan
bmctl reset nodes
untuk mereset node tertentu. Gunakan
bmctl reset
untuk menghapus jenis cluster berikut:- Cluster admin, hybrid, dan mandiri (disebut sebagai cluster yang dikelola sendiri). Hal ini mencakup cluster admin yang dikelola oleh GKE On-Prem API.
- Cluster pengguna yang tidak dikelola oleh GKE On-Prem API.
Jika Anda menggunakan
bmctl
untuk mereset node atau menghapus cluster, perintah mengharapkan file konfigurasi cluster berada di direktori kerja saat ini. Secara default, jalur tersebut seperti berikut:bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME.yaml
Jika Anda menggunakan tanda
--workspace-dir
untuk menentukan direktori lain selama pembuatan cluster, Anda harus menggunakan tanda tersebut untuk menentukan direktori kerja selama reset cluster.- Gunakan
kubectl
:- Gunakan
kubectl delete cluster
untuk menghapus hanya cluster pengguna yang tidak dikelola oleh cluster API GKE On-Prem. Jangan jalankan perintah pada jenis cluster lainnya. - Perhatikan bahwa jika Anda menggunakan
kubectl delete cluster
, Anda juga harus menghapus namespace tempat cluster berada setelah Anda menghapus cluster.
- Gunakan
Setelah menghapus cluster, Anda dapat menginstalnya kembali setelah melakukan perubahan konfigurasi yang diperlukan.
Menghapus cluster yang dikelola sendiri
Untuk menghapus cluster admin, hybrid, atau mandiri, jalankan perintah berikut:
bmctl reset --cluster CLUSTER_NAME
Dalam perintah, ganti CLUSTER_NAME
dengan nama
cluster yang ingin Anda reset.
Output dari perintah bmctl cluster reset
akan terlihat mirip dengan contoh ini:
Please check the logs at bmctl-workspace/example-cluster-1/log/reset-20221025-184705/reset.log [2022-10-25 18:47:11+0000] Creating bootstrap cluster... OK [2022-10-25 18:48:18+0000] Loading images... OK [2022-10-25 18:48:18+0000] Waiting for reset jobs to finish... [2022-10-25 18:48:28+0000] Operation reset in progress: 1 Completed: 0 Failed: 0 ... [2022-10-25 18:50:08+0000] Operation reset in progress: 0 Completed: 1 Failed: 0 [2022-10-25 18:50:08+0000] Flushing logs... OK [2022-10-25 18:50:08+0000] Deleting GKE Hub member example-cluster-1 in project example-project-12345... [2022-10-25 18:50:11+0000] Successfully deleted GKE Hub member example-cluster-1 in project example-project-12345 [2022-10-25 18:50:11+0000] Deleting bootstrap cluster... OK
Selain menghapus cluster, perintah ini juga menghapus keanggotaan cluster dari fleet.
Untuk cluster admin yang dikelola oleh GKE On-Prem API, Anda juga perlu menghapus resource API di Google Cloud. Jika tidak, cluster akan ditampilkan di halaman GKE clusters di konsol Google Cloud . Gunakan perintah berikut untuk menghapus resource GKE On-Prem API untuk cluster admin:
gcloud container bare-metal admin-clusters unenroll CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --location=REGION \ --ignore-errors
Ganti kode berikut:
FLEET_HOST_PROJECT_ID
: Project ID fleet tempat cluster admin menjadi anggotanya.REGION
: Region Google Cloud tempat GKE On-Prem API menyimpan metadata cluster.
Flag --ignore-errors
memastikan bahwa pembatalan pendaftaran resource cluster admin bare metal berhasil meskipun terjadi error selama pembatalan pendaftaran.
Setelah penghapusan cluster selesai, Anda dapat membuat cluster baru. Untuk mengetahui detailnya, lihat Ringkasan pembuatan cluster.
Menghapus cluster pengguna
Jika cluster pengguna dikelola oleh GKE On-Prem API, hapus cluster menggunakan
konsol atau gcloud CLI. Jika tidak, gunakan bmctl
atau kubectl
untuk menghapus cluster.
bmctl
Anda dapat menggunakan bmctl
untuk menghapus cluster pengguna yang dibuat dengan
bmctl
atau kubectl
, dan yang tidak terdaftar di GKE On-Prem API.
Jalankan perintah berikut untuk menghapus cluster pengguna dengan bmctl
:
bmctl reset --cluster USER_CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG_PATH
Dalam perintah, ganti entri berikut dengan informasi khusus untuk lingkungan Anda:
USER_CLUSTER_NAME
: nama cluster pengguna yang Anda hapus.ADMIN_KUBECONFIG_PATH
: jalur ke filekubeconfig
cluster admin terkait.bmctl
mendukung penggunaan--kubeconfig
sebagai alias untuk flag--admin-kubeconfig
.
Output dari perintah bmctl cluster reset
akan terlihat mirip dengan contoh ini:
Please check the logs at bmctl-workspace/example-cluster-1/log/reset-20221025-184705/reset.log [2022-10-25 18:47:11+0000] Creating bootstrap cluster... OK [2022-10-25 18:48:18+0000] Loading images... OK [2022-10-25 18:48:18+0000] Waiting for reset jobs to finish... [2022-10-25 18:48:28+0000] Operation reset in progress: 1 Completed: 0 Failed: 0 ... [2022-10-25 18:50:08+0000] Operation reset in progress: 0 Completed: 1 Failed: 0 [2022-10-25 18:50:08+0000] Flushing logs... OK [2022-10-25 18:50:08+0000] Deleting GKE Hub member example-cluster-1 in project example-project-12345... [2022-10-25 18:50:11+0000] Successfully deleted GKE Hub member example-cluster-1 in project example-project-12345 [2022-10-25 18:50:11+0000] Deleting bootstrap cluster... OK
kubectl
Anda dapat menggunakan kubectl
untuk menghapus cluster pengguna yang dibuat dengan
bmctl
atau kubectl
, dan yang tidak terdaftar di GKE On-Prem API. Untuk menggunakan
kubectl
guna menghapus cluster pengguna, Anda harus menghapus objek cluster terlebih dahulu,
lalu namespace-nya. Jika tidak, tugas untuk mereset mesin tidak dapat dibuat,
dan proses penghapusan mungkin akan macet tanpa batas waktu.
Untuk menghapus cluster pengguna dengan kubectl
:
Jalankan perintah berikut untuk menghapus objek cluster:
kubectl delete cluster USER_CLUSTER_NAME -n USER_CLUSTER_NAMESPACE \ --kubeconfig ADMIN_KUBECONFIG_PATH
Dalam perintah, ganti entri berikut dengan informasi khusus untuk lingkungan Anda:
USER_CLUSTER_NAME
: nama cluster pengguna yang Anda hapus.USER_CLUSTER_NAMESPACE
: namespace untuk cluster. Secara default, namespace cluster untuk Google Distributed Cloud adalah nama cluster yang diawali dengancluster-
. Misalnya, jika Anda memberi nama clustertest
, namespace akan memiliki nama seperticluster-test
.ADMIN_KUBECONFIG_PATH
: jalur ke filekubeconfig
cluster admin terkait.
Setelah cluster berhasil dihapus, jalankan perintah berikut untuk menghapus namespace:
kubectl delete namespace USER_CLUSTER_NAMESPACE --kubeconfig ADMIN_KUBECONFIG_PATH
Konsol
Jika cluster pengguna dikelola oleh GKE On-Prem API, lakukan langkah-langkah berikut untuk menghapus cluster:
Di konsol, buka halaman ringkasan cluster Google Kubernetes Engine.
Pilih project Google Cloud tempat cluster pengguna berada.
Di daftar cluster, klik cluster yang ingin Anda hapus.
Dalam daftar cluster, cari cluster yang ingin Anda hapus. Jika Type adalah external, ini menunjukkan bahwa cluster dibuat menggunakan
bmctl
dan tidak terdaftar di GKE On-Prem API. Dalam hal ini, ikuti langkah-langkah di tabbmctl
ataukubectl
untuk menghapus cluster.Jika ikon di kolom Status menunjukkan masalah, ikuti langkah-langkah di tab gcloud CLI untuk menghapus cluster. Anda harus menambahkan tanda
--ignore-errors
ke perintah penghapusan.Klik nama cluster yang ingin Anda hapus.
Di panel Detail, di dekat bagian atas jendela, klik
Hapus.Saat diminta untuk mengonfirmasi, masukkan nama cluster, lalu klik Hapus.
gcloud CLI
Jika cluster pengguna dikelola oleh GKE On-Prem API, lakukan langkah-langkah berikut untuk menghapus cluster di komputer yang telah menginstal gcloud CLI:
Login dengan Akun Google Anda:
gcloud auth login
Perbarui komponen:
gcloud components update
Dapatkan daftar cluster untuk membantu memastikan bahwa Anda menentukan nama cluster yang benar dalam perintah penghapusan:
gcloud container bare-metal clusters list \ --project=FLEET_HOST_PROJECT_ID \ --location=LOCATION
Ganti kode berikut:
FLEET_HOST_PROJECT_ID
: ID project tempat cluster dibuat.LOCATION
: Google Cloud Lokasi yang terkait dengan cluster pengguna.
Outputnya mirip dengan hal berikut ini:
NAME LOCATION VERSION ADMIN_CLUSTER STATE example-user-cluster-1a us-west1 1.32.200-gke.104 example-admin-cluster-1 RUNNING
Jalankan perintah berikut untuk menghapus cluster:
gcloud container bare-metal clusters delete USER_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --location=LOCATION \ --force \ --allow-missing
Ganti kode berikut:
USER_CLUSTER_NAME
: Nama cluster pengguna yang akan dihapus.FLEET_HOST_PROJECT_ID
: ID project tempat cluster dibuat.LOCATION
: Google Cloud Lokasi yang terkait dengan cluster pengguna.
Flag
--force
memungkinkan Anda menghapus cluster yang memiliki node pool. Tanpa tanda--force
, Anda harus menghapus kumpulan node terlebih dahulu, lalu menghapus cluster.Flag
--allow-missing
adalah flag Google API standar. Jika Anda menyertakan tanda ini, perintah akan menampilkan keberhasilan jika cluster tidak ditemukan.Jika perintah menampilkan error yang berisi teks
failed connecting to the cluster's control plane
, hal ini menunjukkan masalah konektivitas dengan cluster admin, Connect Agent, atau lingkungan lokal. Untuk memecahkan masalah terkait Connect Agent, lihat Mengumpulkan log Connect Agent.Jika Anda merasa masalah konektivitas bersifat sementara, misalnya, karena masalah jaringan, tunggu dan coba lagi perintahnya.
Jika Anda mengetahui bahwa cluster admin telah dihapus, atau jika komputer node untuk cluster admin atau pengguna telah dimatikan atau offline, sertakan tanda
--ignore-errors
dan coba lagi perintah.Anda juga perlu menyertakan
--ignore-errors
jika cluster dihapus menggunakanbmctl
ataukubectl
, yang membuat resource GKE On-Prem API berada di Google Cloud. Salah satu gejalanya adalah cluster masih ditampilkan di halaman GKE clusters di konsol dalam keadaan tidak sehat.
Untuk mengetahui informasi tentang flag lainnya, lihat referensi gcloud CLI.
Mereset node cluster tertentu
Anda mungkin ingin mereset node tertentu dari cluster jika, misalnya, cluster admin telah dihapus, tetapi cluster pengguna yang dikelola oleh cluster admin tersebut tetap ada. Dalam hal ini, seluruh cluster pengguna tidak dapat dihapus karena cluster admin telah dihapus. Akibatnya, node cluster pengguna harus direset satu per satu.
Untuk mereset node, Anda memerlukan akun layanan dengan akses baca ke Artifact Registry. Perintah
bmctl
mengharapkan file kunci JSON untuk akun layanan ini sebagai
argumen. Untuk mereset node individual cluster, jalankan perintah berikut:
bmctl reset nodes --addresses NODE_1_IP_ADDRESS,NODE_2_IP_ADDRESS \ --ssh-private-key-path SSH_KEY_PATH \ --gcr-service-account-key SERVICE_ACCOUNT_KEY_PATH \ --login-user root
Dalam perintah, ganti entri berikut dengan informasi khusus untuk lingkungan Anda:
NODE_1_IP_ADDRESS , NODE_2_IP_ADDRESS
: daftar alamat IP node yang ingin Anda hapus, yang dipisahkan koma.SSH_KEY_PATH
: jalur ke kunci pribadi SSH. Kunci ini akan digunakan untuk membuat koneksi SSH dengan node selama reset.SERVICE_ACCOUNT_KEY_PATH
: jalur ke file JSON yang berisi kunci akun layanan. Kunci ini memberikan izinbmctl
untuk menarik image dari Artifact Registry. Anda dapat membuat kunci akun layanan menggunakan konsol atau gcloud CLI. Untuk mengetahui detailnya, lihat Membuat dan mengelola kunci akun layanan. Cara lain untuk membuat file kunci akun layanan adalah dengan menjalankan perintahcreate config
dengan tanda--create-service-accounts
. Untuk mengetahui detail tentang perintah tersebut, lihat Membuat dan mengelola konfigurasi cluster dengan bmctl.
Detail penghapusan cluster
Selama penghapusan, pendaftaran keanggotaan fleet cluster, pemasangan penyimpanan, dan data dari anthos-system StorageClass
akan dihapus.
Untuk semua node, antarmuka tunnel yang digunakan untuk jaringan cluster dihapus, dan direktori berikut dihapus:
/etc/kubernetes
/etc/cni/net.d
/root/.kube
/var/lib/kubelet
Untuk node load balancer:
- Layanan
keepalived
danhaproxy
dihapus. - File konfigurasi untuk
keepalived
danhaproxy
dihapus.