Halaman ini menunjukkan cara mengupgrade panel kontrol dan node pool secara terpisah di cluster pengguna yang dibuat dengan Google Distributed Cloud (khusus software) di VMware. Halaman ini ditujukan untuk administrator IT dan Operator yang mengelola siklus proses infrastruktur teknologi yang mendasarinya. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten Google Cloud, lihat Peran dan tugas pengguna GKE Enterprise umum. Sebelum membaca dokumen ini, pastikan Anda memahami cara merencanakan dan menjalankan upgrade Google Distributed Cloud seperti yang dijelaskan di bawah ini:
Mengupgrade node pool secara terpisah dari bidang kontrol didukung untuk node pool Ubuntu dan COS, tetapi tidak untuk node pool Windows.
Mengapa mengupgrade node pool dan panel kontrol secara terpisah?
Jika cluster Anda menggunakan versi 1.16 atau yang lebih tinggi, Anda dapat melewati versi minor saat mengupgrade node pool. Melakukan upgrade versi lewati akan mengurangi waktu upgrade node pool dua versi secara berurutan menjadi setengah. Selain itu, upgrade versi lewati memungkinkan Anda meningkatkan waktu antara upgrade yang diperlukan untuk tetap menggunakan versi yang didukung. Mengurangi jumlah upgrade akan mengurangi gangguan workload dan waktu verifikasi. Untuk informasi selengkapnya, lihat Lewati versi saat mengupgrade node pool.
Dalam situasi tertentu, Anda mungkin ingin mengupgrade beberapa, tetapi tidak semua node pool di cluster pengguna, misalnya:
Anda dapat mengupgrade platform kontrol dan node pool yang memiliki traffic ringan atau yang menjalankan workload yang paling tidak penting terlebih dahulu. Setelah yakin bahwa workload Anda berjalan dengan benar di versi baru, Anda dapat mengupgrade node pool tambahan, hingga akhirnya semua node pool diupgrade.
Daripada satu periode pemeliharaan besar untuk upgrade cluster, Anda dapat mengupgrade cluster dalam beberapa periode pemeliharaan. Lihat Memperkirakan komitmen waktu dan merencanakan periode pemeliharaan untuk mengetahui informasi tentang cara memperkirakan waktu untuk periode pemeliharaan.
Sebelum memulai
Di versi 1.29 dan yang lebih baru, pemeriksaan pra-penerbangan sisi server diaktifkan secara default. Pastikan untuk meninjau aturan firewall guna melakukan perubahan yang diperlukan.
Untuk mengupgrade ke versi 1.28 dan yang lebih baru, Anda harus mengaktifkan
kubernetesmetadata.googleapis.com
dan memberikan peran IAMkubernetesmetadata.publisher
ke akun layanan pemantauan logging. Untuk mengetahui detailnya, lihat persyaratan Google API dan IAM.Pastikan versi cluster saat ini adalah versi 1.14 atau yang lebih tinggi.
Mengupgrade bidang kontrol dan node pool yang dipilih
Mengupgrade bidang kontrol cluster pengguna secara terpisah dari node pool pekerja
didukung menggunakan gkectl
, Google Cloud CLI, dan Terraform.
Anda hanya dapat menggunakan Terraform untuk upgrade jika membuat cluster pengguna menggunakan Terraform.
gkectl
Tentukan versi sumber dan versi target dalam variabel placeholder berikut. Semua versi harus berupa nomor versi lengkap dalam format
x.y.z-gke.N
seperti1.16.11-gke.25
.Versi Deskripsi SOURCE_VERSION
Versi cluster saat ini. TARGET_VERSION
Pilih versi target. Pilih patch yang direkomendasikan dari versi minor target. Upgrade workstation admin Anda ke versi target. Tunggu pesan yang menunjukkan bahwa upgrade telah berhasil.
Impor image OS yang sesuai ke vSphere:
gkectl prepare \ --bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Ganti
ADMIN_CLUSTER_KUBECONFIG
dengan jalur filekubeconfig
cluster admin Anda.Buat perubahan berikut dalam file konfigurasi cluster pengguna:
Tetapkan kolom
gkeOnPremVersion
ke versi target,TARGET_VERSION
.Untuk setiap node pool yang ingin Anda upgrade, tetapkan kolom
nodePools.nodePool[i].gkeOnPremVersion
ke string kosong.Untuk setiap node pool yang tidak ingin Anda upgrade, tetapkan
nodePools.nodePool[i].gkeOnPremVersion
ke versi sumber,SOURCE_VERSION
.
Contoh berikut menunjukkan sebagian file konfigurasi cluster pengguna. Ini menentukan bahwa bidang kontrol dan
pool-1
akan diupgrade keTARGET_VERSION
, tetapipool-2
akan tetap diSOURCE_VERSION
.gkeOnPremVersion: TARGET_VERSION ... nodePools: - name: pool-1 gkeOnPremVersion: "" ... - name: pool-2 gkeOnPremVersion: SOURCE_VERSION ...
Upgrade bidang kontrol dan node pool yang dipilih:
gkectl upgrade cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG_FILE
Ganti
USER_CLUSTER_CONFIG
dengan jalur file konfigurasi cluster pengguna Anda.
Mengupgrade node pool tambahan
Dengan menggunakan contoh sebelumnya, misalkan semuanya berfungsi dengan baik dengan pool-1
,
dan sekarang Anda ingin mengupgrade pool-2
.
Di file konfigurasi cluster pengguna, pada bagian
pool-2
, tetapkangkeOnPremVersion
ke string kosong:gkeOnPremVersion: TARGET_VERSION ... nodePools: - name: pool-1 gkeOnPremVersion: "" ... - name: pool-2 gkeOnPremVersion: "" ...
Jalankan
gkectl update cluster
untuk menerapkan perubahan:gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG
gcloud CLI
Mengupgrade cluster pengguna memerlukan beberapa perubahan pada cluster admin. Perintah
gcloud container vmware clusters upgrade
secara otomatis melakukan
hal berikut:
Mendaftarkan cluster admin di GKE On-Prem API jika belum terdaftar.
Mendownload dan men-deploy paket komponen ke cluster admin. Versi komponen cocok dengan versi yang Anda tentukan untuk upgrade. Komponen ini memungkinkan cluster admin mengelola cluster pengguna pada versi tersebut.
Mengupgrade bidang kontrol
Lakukan langkah berikut untuk mengupgrade panel kontrol cluster pengguna.
Update komponen Google Cloud CLI:
gcloud components update
Ubah kebijakan upgrade di cluster:
gcloud container vmware clusters update USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --upgrade-policy control-plane-only=True
Ganti kode berikut:
USER_CLUSTER_NAME
: Nama cluster pengguna yang akan diupgrade.PROJECT_ID
: ID project host fleet tempat cluster pengguna menjadi anggota. Ini adalah project yang Anda tentukan saat cluster dibuat. Jika Anda membuat cluster menggunakangkectl
, ini adalah project ID di kolomgkeConnect.projectID
dalam file konfigurasi cluster.REGION
: Region Google Cloud tempat GKE On-Prem API berjalan dan menyimpan metadata-nya. Jika Anda membuat cluster menggunakan klien GKE On-Prem API, ini adalah region yang Anda pilih saat membuat cluster. Jika Anda membuat cluster menggunakangkectl
, ini adalah region yang Anda tentukan saat mendaftarkan cluster di GKE On-Prem API.
Upgrade bidang kontrol cluster:
gcloud container vmware clusters upgrade USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --version=TARGET_VERSION
Ganti
TARGET_VERSION
dengan versi yang akan diupgrade. Pilih patch yang direkomendasikan dari versi minor target.Output dari perintah ini akan mirip dengan berikut ini:
Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
Dalam contoh output, string
operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179
adalah OPERATION_ID dari operasi yang berjalan lama. Anda dapat mengetahui status operasi dengan menjalankan perintah berikut di jendela terminal lain:gcloud container vmware operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=REGION
Mengupgrade node pool
Lakukan langkah-langkah berikut untuk mengupgrade node pool setelah panel kontrol cluster pengguna telah diupgrade:
Dapatkan daftar node pool di cluster pengguna:
gcloud container vmware node-pools list --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
Untuk setiap node pool yang ingin diupgrade, jalankan perintah berikut:
gcloud container vmware node-pools update NODE_POOL_NAME \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --version=TARGET_VERSION
Terraform
Update komponen Google Cloud CLI:
gcloud components update
Jika Anda belum melakukannya, daftarkan cluster admin di GKE On-Prem API. Setelah cluster terdaftar di GKE On-Prem API, Anda tidak perlu melakukan langkah ini lagi.
Download versi baru komponen dan deploy di cluster admin:
gcloud vmware admin-clusters update ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --required-platform-version=TARGET_VERSION
Ganti kode berikut:
USER_CLUSTER_NAME
: Nama cluster pengguna yang akan diupgrade.PROJECT_ID
: ID project host fleet tempat cluster pengguna menjadi anggota. Ini adalah project yang Anda tentukan saat cluster dibuat. Jika Anda membuat cluster menggunakangkectl
, ini adalah project ID di kolomgkeConnect.projectID
dalam file konfigurasi cluster.REGION
: Region Google Cloud tempat GKE On-Prem API berjalan dan menyimpan metadata-nya. Jika Anda membuat cluster menggunakan klien GKE On-Prem API, ini adalah region yang Anda pilih saat membuat cluster. Jika Anda membuat cluster menggunakangkectl
, ini adalah region yang Anda tentukan saat mendaftarkan cluster di GKE On-Prem API.TARGET_VERSION
: Versi yang akan diupgrade. Pilih patch yang direkomendasikan dari versi minor target.
Perintah ini mendownload versi komponen yang Anda tentukan di
--required-platform-version
ke cluster admin, lalu men-deploy komponen. Komponen ini memungkinkan cluster admin mengelola cluster pengguna pada versi tersebut.Dalam file
main.tf
yang Anda gunakan untuk membuat cluster pengguna, ubahon_prem_version
di resource cluster ke versi baru.Tambahkan hal berikut ke resource cluster sehingga hanya bidang kontrol yang diupgrade:
upgrade_policy { control_plane_only = true }
Lakukan inisialisasi dan buat rencana Terraform:
terraform init
Terraform menginstal library yang diperlukan, seperti penyedia Google Cloud.
Tinjau konfigurasi dan buat perubahan jika diperlukan:
terraform plan
Terapkan rencana Terraform untuk membuat cluster pengguna:
terraform apply
Mengupgrade node pool
Lakukan langkah-langkah berikut untuk mengupgrade node pool setelah panel kontrol cluster pengguna diupgrade:
Di
main.tf
dalam resource untuk setiap node pool yang ingin Anda upgrade, tambahkan hal berikut:on_prem_version = "TARGET_VERSION"
Contoh:
resource "google_gkeonprem_vmware_node_pool" "nodepool-basic" { name = "my-nodepool" location = "us-west1" vmware_cluster = google_gkeonprem_vmware_cluster.default-basic.name config { replicas = 3 image_type = "ubuntu_containerd" enable_load_balancer = true } on_prem_version = "1.16.0-gke.0" }
Lakukan inisialisasi dan buat rencana Terraform:
terraform init
Tinjau konfigurasi dan buat perubahan jika diperlukan:
terraform plan
Terapkan rencana Terraform untuk membuat cluster pengguna:
terraform apply
Pemecahan masalah
Jika mengalami masalah setelah mengupgrade node pool, Anda dapat melakukan roll back ke versi sebelumnya. Untuk informasi selengkapnya, lihat Melakukan roll back node pool setelah upgrade.