Mengupdate cluster

Dokumen ini menunjukkan cara melakukan update cluster yang tidak menyertakan perubahan versi.

Update cluster adalah perubahan pada konfigurasi cluster.

Upgrade cluster adalah kasus khusus update cluster yang mencakup perubahan pada versi bidang kontrol atau perubahan pada versi kumpulan node. Untuk informasi tentang cara melakukan upgrade, lihat Mengupgrade Google Distributed Cloud.

Tinjau aturan firewall Anda

Di versi 1.29 dan yang lebih baru, pemeriksaan pra-penerbangan sisi server diaktifkan secara default. Pemeriksaan pra-penerbangan sisi server memerlukan aturan firewall tambahan. Di Firewall rules for admin clusters, telusuri "Preflight checks" dan pastikan semua aturan firewall yang diperlukan telah dikonfigurasi.

Dengan pemeriksaan pra-penerbangan sisi server, saat Anda mengupdate cluster pengguna menggunakan gkectl, pemeriksaan pra-penerbangan dijalankan di cluster admin, bukan secara lokal di workstation admin. Pemeriksaan pra-penerbangan sisi server dijalankan di cluster admin saat Anda menggunakan Google Cloud konsol, Google Cloud CLI, atau Terraform untuk mengupdate cluster.

Saat Anda mengupdate cluster admin, Google Distributed Cloud akan men-deploy cluster Kubernetes di Docker (kind) untuk menghosting sementara pengontrol Kubernetes yang diperlukan untuk mengupdate cluster admin. Cluster sementara ini disebut bootstrap cluster. Pemeriksaan pra-penerbangan sisi server dijalankan di cluster bootstrap saat Anda mengupdate cluster admin.

Yang dapat diperbarui

Beberapa fitur dan setelan cluster dapat diupdate, tetapi fitur dan setelan lainnya tidak dapat diupdate setelah cluster dibuat. Untuk melihat fitur mana yang dapat diperbarui, lihat halaman referensi untuk file konfigurasi cluster admin dan file konfigurasi cluster pengguna. Kolom yang dapat diupdate ditandai sebagai Dapat Diubah, dan kolom yang tidak dapat diupdate ditandai sebagai Tidak Dapat Diubah.

Anda juga dapat melihat fitur dan setelan mana yang dapat diupdate dengan menjalankan perintah gkectl.

Untuk melihat apa yang dapat diupdate di cluster admin:

gkectl update admin --help

Contoh output:

Update the admin cluster. Only the following updates are supported and they can
only be updated one at a time:
- Enabling/Disabling Vsphere Resource Metrics
- Adding static IPs
- Updating vCenter CA certificate
- Registering Admin Cluster
- Enabling/Disabling Cloud Audit Logging
- Enabling/Disabling Stackdriver
- Enabling/Disabling Auto Repair
- Enabling/Disabling Auto Resize for Addon Nodes
- Enabling/Disabling GKE OnPrem API
- Updating OS Image Type
- Enabling/Disabling AntiAffinityGroups
- Update Secrets Encryption Configuration
- [Preview] Enabling/Disabling Cluster Backup
- [Preview] Update Cluster Backup configs

Untuk melihat apa yang dapat diupdate di cluster pengguna:

gkectl update cluster --help

Contoh output:

Update a GKE On-Prem cluster. Only the following updates are supported and they
can only be updated one at a time:
- Adding static IPs
- Updating node pool
- Updating user master cpu and memory
- Enabling/Disabling Vsphere Resource Metrics
- Enabling/Disabling vSphere CSI deployment
- Enabling/Disabling Auto Repair
- Enabling/Disabling Cloud Audit Logging
- Enabling/Disabling Stackdriver
- Enabling/Disabling GKE OnPrem API
- Registering User Cluster
- Updating vCenter CA certificate
- Updating MetalLB Address Pools
- Enabling/Disabling Auto Resizing on user master
- Updating NodePoolUpdatePolicy
- Enabling/Disabling AntiAffinityGroups
- [Preview] Enabling/Disabling Node Network Policy
- Updating Secrets Encryption
- Enabling/Disabling DataplaneV2 forwardMode

Perbarui satu hal dalam satu waktu

Perbarui hanya satu fitur atau setelan dalam satu waktu. Misalnya, Anda ingin memperbarui CPU dan memori master dan Anda juga ingin menonaktifkan perbaikan otomatis.

Kemudian, Anda akan melakukan dua update terpisah: satu untuk CPU dan memori master, dan satu lagi untuk perbaikan otomatis. Pastikan update pertama berhasil sebelum Anda melakukan update kedua.

Prosedur pembaruan

Anda dapat menggunakan gkectl, konsolgkectl, atau Google Cloud CLI untuk melakukan update pada cluster pengguna. Google Cloud Jika Anda membuat cluster pengguna menggunakan Terraform, Anda dapat menggunakan Terraform untuk memperbarui cluster. Dalam hampir semua kasus, Anda harus menggunakan gkectl untuk memperbarui cluster admin.

Jika Anda menggunakan gkectl untuk mengupdate cluster, pastikan workstation admin Anda memiliki versi gkectl yang diperlukan. Biasanya, Anda menggunakan versi gkectl yang sama dengan versi cluster yang Anda perbarui. Aturan versi berikut diterapkan selama update:

  • Versi minor gkectl tidak boleh lebih rendah dari versi minor cluster. Misalnya, mengupdate cluster 1.30 menggunakan versi 1.29 gkectl tidak diizinkan. Versi patch tidak berpengaruh. Misalnya, Anda dapat menggunakan gkectl versi 1.29.0-gke.1456 untuk mengupdate cluster dengan versi patch yang lebih tinggi, seperti 1.29.1000-gke.94.

  • Versi minor gkectl tidak boleh lebih dari dua versi minor lebih tinggi daripada versi cluster. Misalnya, jika Anda memperbarui cluster 1.28, versi gkectl dapat berupa 1.29 atau 1.30. Namun, Anda tidak dapat menggunakan gkectl versi 1.31 karena tiga versi minor lebih tinggi daripada versi cluster.

  • Jika Anda mengupdate cluster ke cluster lanjutan, versi gkectl harus sama dengan versi cluster Anda.

Jika perlu, lihat Mendownload gkectl untuk mendapatkan gkectl versi yang didukung.

Contoh berikut menunjukkan cara mengupdate cluster.

gkectl

Perintah gkectl update menggunakan salah satu bentuk berikut:

Contoh cluster admin (gkectl update admin)

Misalkan Anda ingin mengubah nilai gkeOnPremAPI.enabled dari false menjadi true di cluster admin. Pertama, edit file konfigurasi cluster admin, dan tetapkan nilainya ke true:

gkeOnPremAPI:
  enabled: true

Kemudian, update cluster admin:

gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG

Ganti kode berikut:

  • ADMIN_CLUSTER_KUBECONFIG: jalur file kubeconfig cluster admin

  • ADMIN_CLUSTER_CONFIG: jalur file konfigurasi cluster admin

Contoh cluster pengguna (gkectl update cluster)

Misalkan Anda ingin mengubah nilai stackdriver.vSphereDisableResourceMetrics dari false menjadi true di cluster pengguna. Pertama, edit file konfigurasi cluster pengguna, dan tetapkan nilai ke true:

stackdriver:
  disableVsphereResourceMetrics: true

Kemudian, perbarui cluster pengguna:

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG

Ganti kode berikut:

  • ADMIN_CLUSTER_KUBECONFIG: jalur file kubeconfig cluster admin

  • USER_CLUSTER_CONFIG: jalur file konfigurasi cluster pengguna

Contoh cluster pengguna (gkectl update credentials)

Misalkan Anda ingin mengubah kredensial yang digunakan cluster pengguna untuk memanggil Server vCenter.

File konfigurasi cluster pengguna memiliki kolom vCenter.credentials.fileRef.path yang mengarah ke file konfigurasi kredensial. Dalam file konfigurasi kredensial, perbarui nilai username dan password. Contoh:

items:
- name: "vcenter-creds"
  username: "new-vcenter-account"
  password: "U$icUKEW#INE"

Kemudian, perbarui kredensial:

gkectl update credentials vsphere \
    --config USER_CLUSTER_CONFIG \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Ganti kode berikut:

  • USER_CLUSTER_CONFIG: jalur file konfigurasi cluster pengguna

  • ADMIN_CLUSTER_KUBECONFIG: jalur file kubeconfig cluster admin

Konsol

  1. Di konsol, buka halaman ringkasan cluster Google Kubernetes Engine.

    Buka cluster GKE

  2. Pilih Google Cloud project, lalu pilih cluster yang ingin Anda perbarui.

  3. Di panel Detail, klik Detail selengkapnya.

  4. Kolom yang dapat diperbarui di konsol Google Cloud memiliki ikon pensil. Klik salah satu ikon pensil. Di kotak yang terbuka, ubah nilai kolom sesuai keinginan, lalu klik SELESAI.

  5. Di bagian atas halaman, di status progres, klik Tampilkan detail. Tunggu hingga update selesai.

gcloud CLI

Jalankan perintah update yang berlaku. Tentukan hanya tanda untuk konfigurasi yang ingin Anda ubah:

Memperbarui pengguna admin di cluster pengguna

Server Kubernetes API setiap cluster harus dapat mengizinkan permintaan yang diterimanya. Untuk mengonfigurasi otorisasi, Anda perlu mengonfigurasi kebijakan role-based access control (RBAC) Kubernetes di setiap cluster. Pengguna admin adalah pengguna yang telah diberi peran cluster-admin di cluster pengguna. Peran ini memberikan akses administratif penuh ke cluster kepada pengguna.

Misalkan Alice dan Bob adalah satu-satunya pengguna admin di cluster pengguna yang disebut cluster-1 di region us-west1. Misalkan Alice ingin menambahkan Trent sebagai pengguna admin tambahan. Alice dapat menjalankan perintah berikut:

gcloud container vmware clusters update cluster-1 \
    --project example-project-id-12345 \
    --location us-west1 \
    --admin-users alice@example.com \
    --admin-users bob@example.com \
    --admin-users trent@example.com

Perintah sebelumnya mempertahankan Alice dan Bob dalam daftar pengguna admin dan menambahkan Trent ke daftar pengguna admin. Perhatikan bahwa Alice dan Bob harus tercantum dalam perintah, karena perintah akan menggantikan daftar pengguna admin saat ini dengan daftar yang ditentukan dalam perintah. Perhatikan juga bahwa setiap tanda --admin-users hanya menentukan satu pengguna. Anda tidak dapat menentukan beberapa pengguna dalam satu tanda.

Terraform

  1. Ubah nilai kolom yang berlaku dalam file konfigurasi Terraform yang Anda gunakan untuk membuat cluster atau node pool. Untuk mengetahui deskripsi kolom mendetail, lihat dokumentasi referensi Terraform:

  2. Perbarui konfigurasi dengan menjalankan terraform apply.

Memperbarui pengguna admin di cluster pengguna

Server Kubernetes API setiap cluster harus dapat mengizinkan permintaan yang diterimanya. Untuk mengonfigurasi otorisasi, Anda perlu mengonfigurasi kebijakan role-based access control (RBAC) Kubernetes di setiap cluster. Pengguna admin adalah pengguna yang telah diberi peran cluster-admin di cluster pengguna. Peran ini memberikan akses administratif penuh ke cluster kepada pengguna.

Misalkan Alice dan Bob adalah satu-satunya pengguna admin di cluster pengguna tertentu. Misalkan Alice ingin menambahkan Trent sebagai pengguna admin tambahan. Alice dapat menyesuaikan konfigurasi Terraform sebagai berikut, lalu menjalankan terraform apply:

authorization {
  admin_users {
    username = "alice@example.com"
    username = "bob@example.com"
    username = "trent@example.com"
  }
}

Penyesuaian sebelumnya mempertahankan Alice dan Bob dalam daftar pengguna admin dan menambahkan Trent ke daftar pengguna admin. Perhatikan bahwa Alice dan Bob harus tercantum dalam konfigurasi baru, karena perintah terraform apply akan menggantikan daftar pengguna admin saat ini dengan daftar yang ditentukan dalam konfigurasi.

Informasi selengkapnya

Dokumen yang tercantum di bagian ini memberikan detail tambahan tentang cara memperbarui cluster.

Memperbarui cluster/admin

Dokumen berikut memberikan detail tentang penggunaan gkectl update admin dan gkectl update cluster untuk memperbarui fitur dan setelan:

Perbarui kredensial

Dokumen berikut memberikan detail tentang penggunaan gkectl update credentials untuk memperbarui kunci dan sertifikat:

Langkah berikutnya

Mengupgrade cluster