Dokumen ini menjelaskan cara mengupgrade cluster dan node pool di Google Distributed Cloud (khusus software) untuk VMware. Dokumen ini menjelaskan langkah-langkah untuk mengupgrade workstation admin, cluster pengguna, dan cluster admin Anda. Sebagai cluster pengguna, dokumen ini menyediakan langkah-langkah untuk mengupgrade bidang kontrol dan kumpulan node secara bersamaan, atau secara terpisah.
Halaman ini ditujukan untuk admin IT dan Operator yang mengelola infrastruktur teknologi yang mendasarinya. Untuk mempelajari lebih lanjut tentang peran dan contoh tugas yang kami rujuk dalam konten Google Cloud, lihat Peran dan tugas pengguna GKE Enterprise yang umum.
Sebelum melanjutkan, sebaiknya tinjau dokumentasi berikut:
Ringkasan upgrade
Di antara hal-hal lainnya, dokumen ini menjelaskan kemiringan versi yang didukung dan aturan versi untuk upgrade, yang telah berubah untuk 1.28 dan yang lebih baru.Praktik terbaik upgrade
Dokumen ini menyediakan checklist dan praktik terbaik untuk mengupgrade cluster.
Meninjau aturan firewall Anda
Pada versi 1.29 dan yang lebih baru, pemeriksaan preflight sisi server diaktifkan secara default. Pemeriksaan preflight sisi server memerlukan aturan firewall tambahan. Di beberapa Aturan firewall untuk cluster admin, telusuri "Pemeriksaan preflight" dan memastikan semua aturan firewall yang diperlukan dikonfigurasi.
Dengan pemeriksaan preflight sisi server, saat Anda mengupgrade cluster pengguna menggunakan
gkectl
, pemeriksaan preflight dijalankan di cluster admin, bukan secara lokal
di workstation admin. Pemeriksaan preflight sisi server juga dijalankan pada admin
cluster saat Anda menggunakan konsol Google Cloud, Google Cloud CLI, atau Terraform
untuk mengupgrade cluster.
Saat Anda mengupgrade cluster admin, Google Distributed Cloud akan men-deploy Kubernetes dalam Docker (jenis) untuk menghosting pengontrol Kubernetes sementara yang diperlukan untuk mengupgrade admin . Cluster sementara ini disebut cluster bootstrap. Sisi server pemeriksaan preflight dijalankan di cluster bootstrap saat Anda mengupgrade admin .
Persyaratan Google API dan IAM
Untuk mengupgrade cluster ke versi 1.28 dan yang lebih baru, Anda harus mengaktifkan
kubernetesmetadata.googleapis.com
dan memberikan kubernetesmetadata.publisher
peran IAM ke
akun layanan pemantauan logging. Ini
perubahan diperlukan agar dapat menggunakan Cloud Monitoring.
Aktifkan
kubernetesmetadata.googleapis.com
:gcloud services enable --project PROJECT_ID \ kubernetesmetadata.googleapis.com
Ganti
PROJECT_ID
dengan ID project host fleet di mana cluster pengguna adalah anggotanya. Ini adalah proyek yang Anda yang ditentukan saat cluster dibuat. Jika Anda yang membuat cluster menggunakangkectl
, ini adalah project ID digkeConnect.projectID
di file konfigurasi cluster.Jika organisasi Anda telah menyiapkan daftar yang diizinkan yang memungkinkan traffic dari Google API dan alamat lainnya melewati server proxy Anda, tambahkan
kubernetesmetadata.googleapis.com
ke daftar yang diizinkan.Berikan peran
kubernetesmetadata.publisher
ke akun layanan pemantauan logging:gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/kubernetesmetadata.publisher"
Ganti SERVICE_ACCOUNT_EMAIL dengan email alamat akun layanan pemantauan log Anda.
Persyaratan IAM untuk mengupgrade cluster pengguna
Lewati bagian ini jika Anda berencana menggunakan gkectl
untuk upgrade cluster pengguna.
Jika Anda ingin menggunakan konsol Google Cloud, Google Cloud CLI, atau Terraform untuk
mengupgrade cluster pengguna, dan Anda bukan pemilik project, Anda harus diberi
Peran Identity and Access Management roles/gkeonprem.admin
di project Google Cloud yang
tempat cluster dibuat. Untuk detail tentang izin
yang disertakan dalam peran ini,
lihat
Peran lokal GKE
dokumentasi IAM.
Untuk menggunakan konsol guna mengupgrade cluster, minimal Anda juga memerlukan hal berikut:
roles/container.viewer
. Peran ini memungkinkan pengguna melihat GKE Halaman cluster dan resource container lainnya di konsol. Sebagai detail tentang izin yang disertakan dalam peran ini, atau untuk memberikan peran dengan izin akses baca/tulis, lihat Peran Kubernetes Engine dokumentasi IAM.roles/gkehub.viewer
. Peran ini memungkinkan pengguna melihat cluster di konsol. Untuk mengetahui detail tentang izin yang disertakan dalam peran ini, atau untuk memberikan peran dengan baca/tulis izin,lihat Peran GKE Hub di dokumentasi IAM.
Membuat perubahan konfigurasi sebelum atau setelah upgrade
Jika Anda perlu membuat perubahan konfigurasi pada cluster, lakukan update cluster sebelum atau sesudah melakukan upgrade. Satu-satunya perubahan pada konfigurasi cluster untuk upgrade harus menjadi versinya. Bergantung pada versi dan jenis cluster, konfigurasi lainnya perubahan akan diabaikan secara diam-diam atau menyebabkan upgrade gagal. Untuk selengkapnya informasi melihat Hapus perubahan yang tidak didukung untuk berhenti memblokir upgrade.
Mengupgrade workstation admin Anda
Anda perlu mengupgrade workstation admin jika berencana menggunakan gkectl
untuk
mengupgrade cluster pengguna.
Jika Anda berencana menggunakan konsol, gcloud CLI, atau
Untuk mengupgrade cluster pengguna, Anda dapat melewati upgrade admin
untuk saat ini. Tetapi Anda perlu meningkatkan
{i>workstation<i} admin ketika Anda
siap mengupgrade cluster admin karena hanya gkectl
yang mendukung admin
upgrade cluster.
Cara mengupgrade workstation admin bergantung pada cara Anda membuatnya: gkeadm atau dikelola oleh pengguna.
gkeadm
Menemukan file yang diperlukan
Sebelum membuat workstation admin, Anda telah mengisi
file konfigurasi workstation admin
yang dibuat oleh gkeadm create config
. Nama {i>default<i} untuk file ini adalah
admin-ws-config.yaml
.
Selain itu, workstation Anda memiliki file informasi. Nama {i>default<i} dari sama dengan nama {i>workstation<i} admin Anda.
Temukan file konfigurasi workstation admin dan file informasi Anda. Anda
mereka untuk melakukan
langkah-langkah peningkatan. Jika file ini berada dalam
direktori dan mereka memiliki nama {i>
default<i}, maka Anda tidak perlu menentukan
ketika Anda menjalankan
perintah {i>upgrade<i}. Jika file ini berada dalam
direktori lain, atau jika Anda telah mengubah nama {i>file<i}, maka Anda menentukannya
menggunakan flag --config
dan --info-file
.
Jika file informasi output tidak ada, Anda dapat membuat ulang file. Lihat Membuat ulang file informasi jika tidak ada.
Upgrade
Untuk mengupgrade workstation admin:
Unduh
gkeadm
:gkeadm upgrade gkeadm --target-version TARGET_VERSION
Ganti TARGET_VERSION dengan versi target upgrade Anda. Anda harus menentukan nomor versi lengkap dalam bentuk
X.Y.Z-gke.N.
. Untuk mengetahui daftar versi Google Distributed Cloud, lihat Pembuatan Versi.Upgrade workstation admin Anda:
gkeadm upgrade admin-workstation --config AW_CONFIG_FILE \ --info-file INFO_FILE
Ganti kode berikut:
AW_CONFIG_FILE
: jalur workstation admin Anda file konfigurasi Anda. Anda dapat menghilangkan flag ini jika file tersebut berada dalam dan memiliki namaadmin-ws-config.yaml
.INFO_FILE
: jalur file informasi Anda. Anda dapat menghilangkan penanda ini jika file berada di direktori Anda saat ini. Nama {i>default<i} dari sama dengan nama {i>workstation<i} admin Anda.
Dikelola pengguna
Di workstation admin, buka direktori tempat Anda ingin menginstal
versi baru gkectl
.
Unduh gkectl
:
gcloud storage cp gs://gke-on-prem-release/gkectl/VERSION/gkectl ./ chmod +x gkectl
Ganti VERSION dengan versi target upgrade Anda. Contoh: 1.30.0-gke.1930
.
Download paket Google Distributed Cloud. Pastikan versi sesuai dengan
yang Anda gunakan untuk mendownload gkectl
:
gcloud storage cp gs://gke-on-prem-release/gke-onprem-bundle/VERSION/gke-onprem-vsphere-VERSION.tgz ./
Memeriksa versi yang tersedia untuk upgrade cluster
Jalankan perintah berikut untuk melihat versi yang tersedia untuk diupgrade:
gkectl version --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Output menunjukkan versi saat ini dan versi yang tersedia untuk upgrade.
Jika Anda berencana untuk menggunakan konsol, gcloud CLI atau
Terraform untuk upgrade, perlu waktu sekitar 7 hingga 10 hari setelah rilis untuk versi
baru tersedia di GKE On-Prem API di semua region Google Cloud.
Konsol hanya mencantumkan versi yang tersedia untuk pengguna
upgrade cluster. Langkah-langkah untuk mengupgrade cluster pengguna menggunakan
gcloud CLI atau Terraform menyertakan langkah yang harus dilakukan
gcloud container vmware clusters query-version-config
untuk mendapatkan versi yang tersedia untuk upgrade.
Mengupgrade cluster pengguna
Anda dapat menggunakan gkectl
, konsol, gcloud CLI, atau
Terraform untuk mengupgrade cluster pengguna. Untuk informasi tentang cara
memutuskan alat mana yang akan
menggunakan, melihat
Pilih alat untuk mengupgrade cluster pengguna.
Gkectl
Bersiap untuk mengupgrade cluster pengguna
Lakukan langkah-langkah berikut di workstation admin Anda:
Jalankan
gkectl prepare
untuk mengimpor OS image ke vSphere:gkectl prepare \ --bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Jika cluster Anda memiliki kumpulan node Windows, jalankan
gkectl prepare windows
, dan perbarui kolomosImage
untuk kumpulan node. Untuk petunjuk terperinci, lihat Mengupgrade cluster pengguna dengan node pool Windows.Di file konfigurasi cluster pengguna, tetapkan
gkeOnPremVersion
ke versi target upgrade Anda.Khusus kumpulan node Ubuntu dan COS: Menentukan kumpulan node yang ingin Anda {i>upgrade.<i} Meningkatkan kumpulan node secara terpisah dari bidang kontrol didukung untuk kumpulan node Ubuntu dan COS, tetapi tidak untuk kumpulan node Windows.
Di file konfigurasi cluster pengguna, tunjukkan kumpulan node mana yang ingin meningkatkan versi, sebagai berikut:
Untuk setiap kumpulan node yang ingin Anda upgrade, hapus metode Kolom
nodePools.nodePool[i].gkeOnPremVersion
, atau tetapkan ke kosong {i>string<i}.Untuk setiap kumpulan node yang tidak ingin Anda upgrade, tetapkan
nodePools.nodePool[i].gkeOnPremVersion
ke versi saat ini.
Misalnya, cluster pengguna Anda berada di versi 1.15.5-gke.41 dan memiliki dua kumpulan node:
pool-1
danpool-2
. Juga anggaplah bahwa Anda ingin upgrade bidang kontrol danpool-1
ke 1.16.3-gke.45, tetapi Anda inginpool-2
untuk tetap menggunakan versi 1.15.5-gke.41. Bagian berikutnya dari file konfigurasi cluster pengguna menunjukkan cara menentukan contoh ini:gkeOnPremVersion: 1.16.3-gke.45 nodePools: - name: pool-1 gkeOnPremVersion: "" cpus: 4 memoryMB: 8192 replicas: 3 osImageType: ubuntu_containerd - name: pool-2 gkeOnPremVersion: 1.15.5-gke.41 cpus: 4 memoryMB: 8192 replicas: 5 osImageType: ubuntu_containerd
Menjalankan pemeriksaan preflight
Saat mengupgrade ke versi 1.29 dan yang lebih baru, Anda dapat menjalankan pemeriksaan preflight sebelum mengupgrade cluster pengguna:
gkectl upgrade cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG \ --dry-run
Dengan flag --dry-run
, gkectl upgrade cluster
menjalankan pemeriksaan preflight
tetapi tidak memulai proses {i>upgrade<i}. Meskipun versi sebelumnya dari
Google Distributed Cloud menjalankan pemeriksaan preflight, dan tidak dapat dijalankan secara terpisah
dari peningkatan versi. Dengan menambahkan tanda --dry-run
, Anda dapat menemukan dan memperbaiki
masalah yang ditemukan pemeriksaan preflight pada cluster pengguna Anda sebelum
{i>upgrade.<i}
Jalankan gkectl upgrade cluster
Ada dua variasi perintah gkectl upgrade cluster
:
Asinkron: (direkomendasikan)
Dengan variasi asinkron, perintah memulai upgrade, lalu selesai. Anda tidak perlu melihat {i> output<i} perintah untuk seluruh atau durasi upgrade. Sebagai gantinya, Anda dapat memeriksa upgrade secara berkala dengan menjalankangkectl list clusters
dangkectl describe clusters
. Untuk menggunakan variasi asinkron, sertakan flag--async
dalam perintah.Sinkron:
Dengan variasi sinkron, perintahgkectl upgrade cluster
menghasilkan output ke {i>workstation<i} admin saat upgrade berlangsung.
Upgrade asinkron
Lewati langkah ini jika Anda mengupgrade ke versi yang lebih lama dari 1,16.
Jika Anda menggunakan kredensial yang disiapkan dan registry pribadi untuk cluster pengguna, pastikan kredensial registry pribadi sebelum mengupgrade cluster pengguna. Untuk informasi tentang cara Untuk menyiapkan kredensial registry pribadi, lihat Konfigurasi kredensial yang disiapkan untuk cluster pengguna.
Di workstation admin, mulai upgrade asinkron:
gkectl upgrade cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG \ --async
Perintah sebelumnya selesai, dan Anda dapat terus menggunakan komputer admin saat upgrade sedang berlangsung.
Untuk melihat status upgrade:
gkectl list clusters --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Output menunjukkan nilai untuk cluster
STATE
. Jika cluster masih saat diupgrade, nilaiSTATE
adalahUPGRADING
. Contoh:NAMESPACE NAME READY STATE AGE VERSION my-uc-gkeonprem-mgmt my-uc False UPGRADING 9h 1.30.0-gke.1
Nilai yang mungkin untuk
STATE
adalahPROVISIONING
,UPGRADING
,DELETING
,UPDATING
,RUNNING
,RECONCILING
,ERROR
, danUNKNOWN
.Untuk mendapatkan detail selengkapnya tentang progres upgrade dan peristiwa cluster:
gkectl describe clusters --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --cluster USER_CLUSTER_NAME -v 5
Output akan menampilkan resource kustom OnPremUserCluster untuk pengguna yang ditentukan cluster, yang mencakup status, kondisi, dan peristiwa cluster.
Kami mencatat peristiwa untuk awal dan akhir setiap fase upgrade penting, termasuk:
- ControlPlaneUpgrade
- MasterNodeUpgrade
- AddonsUpgrade
- NodePoolsUpgrade
Contoh output:
Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal NodePoolsUpgradeStarted 22m onprem-user-cluster-controller Creating or updating node pools: pool-2: Creating or updating node pool Normal AddonsUpgradeStarted 22m onprem-user-cluster-controller Creating or updating addon workloads Normal ControlPlaneUpgradeStarted 25m onprem-user-cluster-controller Creating or updating cluster control plane workloads: deploying user-kube-apiserver-base, ...: 14/15 pods are ready Normal ControlPlaneUpgradeFinished 23m onprem-user-cluster-controller Control plane is running
Setelah upgrade selesai,
gkectl list clusters
menampilkanSTATUS
RUNNING
:NAMESPACE NAME READY STATE AGE VERSION my-uc-gkeonprem-mgmt my-uc True RUNNING 9h 1.30.0-gke.1
Selain itu, setelah upgrade selesai,
gkectl describe clusters
akan menampilkan KolomLast GKE On Prem Version
padaStatus
. Contoh:Status: Cluster State: RUNNING Last GKE On Prem Version: 1.30.0-gke.1
Memecahkan masalah upgrade asinkron
Untuk upgrade asinkron, durasi waktu tunggu didasarkan pada
jumlah node dalam cluster. Jika upgrade memerlukan waktu lebih lama dari waktu tunggu
durasi, status cluster berubah dari UPGRADING
menjadi ERROR
, dengan
yang mengatakan bahwa waktu operasi peningkatan
telah habis. Perhatikan bahwa status ERROR
di sini berarti upgrade memerlukan waktu lebih lama dari yang diperkirakan, tetapi belum
dihentikan. Pengontrol melanjutkan rekonsiliasi dan terus mencoba kembali
operasi.
Biasanya waktu tunggu disebabkan oleh deadlock yang disebabkan oleh
PodDisruptionBudget (PDB). Dalam hal ini, Pod tidak dapat dikeluarkan dari
{i>node<i}, dan {i>node<i} lama
tidak dapat dikosongkan. Jika penghapusan Pod memakan waktu lebih lama
dari 10 menit, kita akan menulis peristiwa ke objek OnPremUserCluster. Anda dapat
tangkap peristiwa dengan menjalankan gkectl describe clusters
. Setelah itu, Anda dapat menyesuaikan
PDB untuk memungkinkan {i>
node<i} mengalir. Setelah itu, peningkatan
dapat dilanjutkan dan
pada akhirnya.
Contoh peristiwa:
Warning PodEvictionTooLong 96s (x2 over 4m7s) onprem-user-cluster-controller Waiting too long(>10m0.00000003s) for (kube-system/coredns-856d6dbfdf-dl6nz) eviction.
Selain itu, jika upgrade diblokir atau gagal, Anda dapat menjalankan gkectl diagnose
untuk
periksa masalah umum cluster. Berdasarkan hasilnya, Anda dapat
memutuskan apakah akan
lakukan perbaikan manual atau hubungi tim dukungan Anthos untuk bantuan lebih lanjut.
Upgrade sinkron
Perintah gkectl upgrade
menjalankan pemeriksaan preflight. Jika pemeriksaan preflight
gagal, perintah akan diblokir. Anda harus memperbaiki kegagalannya, atau gunakan
--skip-preflight-check-blocking
. Anda hanya boleh melewati preflight
memeriksa apakah Anda yakin tidak ada kegagalan kritis.
Lanjutkan dengan langkah-langkah berikut di workstation admin Anda:
Lewati langkah ini jika Anda mengupgrade ke versi yang lebih lama dari 1,16.
Jika Anda menggunakan kredensial yang disiapkan dan registry pribadi untuk cluster pengguna, pastikan kredensial registry pribadi sebelum mengupgrade cluster pengguna. Untuk informasi tentang cara Untuk menyiapkan kredensial registry pribadi, lihat Konfigurasi kredensial yang disiapkan untuk cluster pengguna.
Upgrade cluster:
gkectl upgrade cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG_FILE
Jika Anda meningkatkan ke versi 1.14.0 atau yang lebih tinggi, file {i>kubeconfig<i} baru dibuat untuk cluster pengguna yang menimpa file yang ada. Untuk melihat detail cluster dalam file, jalankan perintah berikut:
kubectl config view --kubeconfig USER_CLUSTER_KUBECONFIG
Mengupgrade node pool tambahan
Jika Anda hanya mengupgrade bidang kontrol cluster pengguna, atau mengupgrade bidang kontrol dan beberapa, tetapi tidak semua kumpulan node, lakukan langkah-langkah berikut untuk mengupgrade kumpulan node:
Edit file konfigurasi cluster pengguna Anda. Untuk setiap kumpulan node yang Anda ingin mengupgrade, hapus
nodePools.nodePool[i].gkeOnPremVersion
, atau setel ke string kosong, seperti yang ditunjukkan pada contoh berikut:gkeOnPremVersion: 1.16.3-gke.45 nodePools: - name: pool-1 gkeOnPremVersion: "" cpus: 4 memoryMB: 8192 replicas: 3 osImageType: ubuntu_containerd - name: pool-2 gkeOnPremVersion: "" cpus: 4 memoryMB: 8192 replicas: 5 osImageType: ubuntu_containerd
Jalankan
gkectl update cluster
untuk menerapkan perubahan:gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG
Ganti kode berikut:
ADMIN_CLUSTER_KUBECONFIG
: jalur kubeconfig cluster admin Anda fileUSER_CLUSTER_CONFIG
: jalur konfigurasi cluster pengguna Anda file
Jika mengalami masalah setelah mengupgrade kumpulan node, Anda dapat melakukan roll back ke ke versi sebelumnya. Untuk informasi selengkapnya, lihat Melakukan roll back kumpulan node setelah upgrade.
Melanjutkan upgrade
Jika upgrade cluster pengguna terganggu, Anda dapat melanjutkan cluster pengguna
upgrade dengan menjalankan perintah upgrade yang sama dengan --skip-validation-all
tanda:
gkectl upgrade cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG_FILE \ --skip-validation-all
Konsol
Upgrade cluster pengguna memerlukan beberapa perubahan pada cluster admin. Tujuan konsol 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. Tujuan sesuai dengan versi yang Anda tentukan untuk upgrade. Komponen ini memungkinkan cluster admin mengelola cluster pengguna pada versi tersebut.
Untuk mengupgrade cluster pengguna:
Di konsol, buka Ringkasan cluster Google Kubernetes Engine kami.
Pilih project Google Cloud, lalu pilih cluster yang ingin Anda ingin meng-upgrade.
Di panel Details, klik Detail selengkapnya.
Di bagian Dasar-dasar cluster, klik
Upgrade.Dalam daftar Choose target version, pilih versi yang ingin Anda meng-upgrade ke. Daftar hasil seleksi hanya berisi rilis patch terbaru.
Klik Upgrade.
Sebelum cluster diupgrade, pemeriksaan preflight akan dijalankan untuk memvalidasi cluster dan kondisi node. Jika pemeriksaan preflight lulus, cluster pengguna diupgrade. Perlu waktu sekitar 30 menit untuk menyelesaikan upgrade.
Untuk melihat status upgrade, klik Tampilkan Detail di Cluster Detail.
gcloud CLI
Upgrade cluster pengguna memerlukan beberapa perubahan pada cluster admin. Tujuan
perintah gcloud container vmware clusters upgrade
secara otomatis melakukan
berikut ini:
Mendaftarkan cluster admin di GKE On-Prem API jika belum terdaftar.
Mendownload dan men-deploy paket komponen ke cluster admin. Tujuan sesuai dengan versi yang Anda tentukan untuk upgrade. Komponen ini memungkinkan cluster admin mengelola cluster pengguna pada versi tersebut.
Untuk mengupgrade cluster pengguna:
Update komponen Google Cloud CLI:
gcloud components update
Kumpulan node Ubuntu dan COS saja: Jika Anda hanya ingin mengupgrade pengguna bidang kontrol cluster dan membiarkan semua kumpulan node ubah kebijakan upgrade pada 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 {i>upgrade.<i}PROJECT_ID
: ID project host fleet di mana cluster pengguna adalah anggotanya. Ini adalah proyek yang Anda yang ditentukan saat cluster dibuat. Jika Anda yang membuat cluster menggunakangkectl
, ini adalah project ID digkeConnect.projectID
di file konfigurasi cluster.REGION
: Region Google Cloud tempat GKE On-Prem API berjalan dan menyimpan metadatanya. Jika Anda yang 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.
Dapatkan daftar versi yang tersedia untuk diupgrade:
gcloud container vmware clusters query-version-config \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
Output perintah ini akan mirip dengan berikut ini:
versions: - version: 1.16.3-gke.45 - version: 1.16.2-gke.28 - version: 1.16.1-gke.45 - version: 1.16.0-gke.669 - version: 1.15.6-gke.25 - version: 1.15.5-gke.41 An Anthos version must be made available on the admin cluster ahead of the user cluster creation or upgrade. Versions annotated with isInstalled=true are installed on the admin cluster for the purpose of user cluster creation or upgrade whereas other version are released and will be available for upgrade once dependencies are resolved. To install the version in the admin cluster, run: $ gcloud container vmware admin-clusters update my-admin-cluster --required-platform-version=VERSION
Anda dapat mengabaikan pesan setelah daftar versi. Tidak masalah jika versi yang Anda upgrade diinstal di admin . Perintah
upgrade
mendownload dan men-deploy paket yang sesuai dengan versi yang Anda tentukan dalam perintahupgrade
.Mengupgrade cluster. Jika Anda menjalankan perintah
update
untuk mengubah upgrade kebijakan kecontrol-plane-only=True
, hanya bidang kontrol cluster yang diupgrade. Jika tidak, bidang kontrol cluster dan semua kumpulan node akan diupgrade.gcloud container vmware clusters upgrade USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --version=VERSION
Ganti VERSION dengan Google Distributed Cloud yang ingin Anda upgrade. Menentukan versi dari output perintah sebelumnya. Sebaiknya upgrade ke versi terbaru patch.
Output dari perintah ini 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
Jika Anda memilih untuk hanya mengupgrade bidang kontrol cluster pengguna, lakukan langkah-langkah berikut untuk mengupgrade kumpulan node setelah bidang kontrol telah diupgrade:
Dapatkan daftar kumpulan node di cluster pengguna:
gcloud container vmware node-pools list --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
Untuk setiap kumpulan node yang ingin Anda upgrade, jalankan perintah berikut berikut:
gcloud container vmware node-pools update NODE_POOL_NAME \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --version=VERSION
Terraform
Update komponen Google Cloud CLI:
gcloud components update
Jika Anda belum melakukannya, mendaftarkan cluster admin di GKE On-Prem API. Setelah cluster didaftarkan di GKE On-Prem API, Anda tidak perlu lakukan langkah ini lagi.
Dapatkan daftar versi yang tersedia untuk diupgrade:
gcloud container vmware clusters query-version-config \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
Ganti kode berikut:
USER_CLUSTER_NAME
: Nama cluster pengguna.PROJECT_ID
: ID project fleet tempat cluster pengguna tersebut menjadi anggota. Ini adalah proyek yang Anda yang ditentukan saat cluster dibuat. Jika Anda yang membuat cluster menggunakangkectl
, ini adalah project ID digkeConnect.projectID
di file konfigurasi cluster.REGION
: Region Google Cloud tempat GKE On-Prem API berjalan dan menyimpan metadatanya. Di filemain.tf
yang yang Anda gunakan untuk membuat cluster pengguna, region ini berada dilocation
pada resource cluster.
Output perintah ini akan mirip dengan berikut ini:
versions: - version: 1.16.3-gke.45 - version: 1.16.2-gke.28 - version: 1.16.1-gke.45 - version: 1.16.0-gke.669 - version: 1.15.6-gke.25 - version: 1.15.5-gke.41 An Anthos version must be made available on the admin cluster ahead of the user cluster creation or upgrade. Versions annotated with isInstalled=true are installed on the admin cluster for the purpose of user cluster creation or upgrade whereas other version are released and will be available for upgrade once dependencies are resolved. To install the version in the admin cluster, run: $ gcloud container vmware admin-clusters update my-admin-cluster --required-platform-version=VERSION
Download komponen versi baru dan deploy di admin :
gcloud container vmware admin-clusters update ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --required-platform-version=VERSION
Perintah ini mengunduh versi komponen yang Anda tentukan di
--required-platform-version
ke cluster admin, lalu men-deploy komponen-komponennya. Komponen ini memungkinkan cluster admin mengelola pengguna klaster pada versi itu.Di file
main.tf
yang Anda gunakan untuk membuat cluster pengguna, ubahon_prem_version
di resource cluster ke versi baru.Kumpulan node Ubuntu dan COS saja: Jika Anda hanya ingin mengupgrade pengguna bidang kontrol cluster dan membiarkan semua kumpulan node tambahkan kode berikut ke resource cluster:
upgrade_policy { control_plane_only = true }
Lakukan inisialisasi dan buat paket Terraform:
terraform init
Terraform menginstal semua library yang diperlukan, seperti Google Cloud penyedia layanan.
Tinjau konfigurasi dan buat perubahan jika diperlukan:
terraform plan
Terapkan rencana Terraform untuk membuat cluster pengguna:
terraform apply
Mengupgrade node pool
Jika Anda memilih untuk hanya mengupgrade bidang kontrol cluster pengguna, lakukan langkah-langkah berikut untuk mengupgrade kumpulan node tambahan setelah bidang kontrol telah diupgrade:
Di
main.tf
pada resource untuk setiap kumpulan node yang ingin Anda upgrade, tambahkan hal berikut:on_prem_version = "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 paket Terraform:
terraform init
Tinjau konfigurasi dan buat perubahan jika diperlukan:
terraform plan
Terapkan rencana Terraform untuk membuat cluster pengguna:
terraform apply
Mengupgrade cluster admin
Setelah mengupgrade cluster pengguna, Anda dapat mengupgrade cluster admin.
Sebelum memulai:
Tentukan apakah sertifikat Anda sudah yang terbaru, dan perpanjang jika perlu.
Jika Anda mengupgrade ke versi 1.13 atau yang lebih baru, Anda harus terlebih dahulu mendaftarkan cluster admin dengan mengisi bagian
gkeConnect
di cluster admin file konfigurasi Anda. Jalankan perintahgkectl
update cluster dengan perubahan file konfigurasi.Pastikan
gkectl
dan cluster Anda adalah versi yang sesuai untuk upgrade, dan Anda telah mendownload paket yang sesuai. Versi ketidaksesuaian antara klaster admin dan pengguna bergantung pada konfigurasi jaringan . Untuk memastikan Anda dapat mengupgrade cluster admin, lihat Kemiringan versi cluster pengguna dan admin.Pastikan kolom
bundlepath
di file konfigurasi cluster admin cocok dengan jalur paket yang ingin Anda {i>upgrade.<i}Jika Anda melakukan perubahan lain pada kolom di cluster admin konfigurasi file, perubahan tersebut akan diabaikan selama upgrade. Untuk membuat perubahan tersebut diterapkan, Anda harus mengupgrade cluster terlebih dahulu, lalu menjalankan perintah update cluster dengan perubahan file konfigurasi untuk membuat perubahan lain pada cluster.
Jalankan gkectl upgrade admin
Lakukan langkah-langkah di bagian ini pada workstation admin Anda. Ada dua variasi
dari perintah gkectl upgrade admin
:
Asinkron:
Dengan variasi asinkron, perintah memulai upgrade, lalu selesai. Anda tidak perlu melihat {i> output<i} perintah untuk seluruh atau durasi upgrade. Sebagai gantinya, Anda dapat memeriksa upgrade secara berkala dengan menjalankangkectl list admin
dangkectl describe admin
. Untuk menggunakan variasi asinkron, sertakan flag--async
di bagian perintah.Persyaratan untuk upgrade asinkron:
- Hanya didukung untuk cluster admin ketersediaan tinggi (HA) dengan versi 1.29 atau yang lebih tinggi.
- Semua cluster pengguna harus mengaktifkan Controlplane V2.
Sinkron:
Dengan variasi sinkron, perintahgkectl upgrade admin
menghasilkan output ke {i>workstation<i} admin saat upgrade berlangsung.
Upgrade asinkron
Di workstation admin, mulai upgrade asinkron:
gkectl upgrade admin \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG_FILE \ --async
Ganti kode berikut:
ADMIN_CLUSTER_KUBECONFIG
: jalur ke file kubeconfig cluster admin.ADMIN_CLUSTER_CONFIG_FILE
: jalur ke file konfigurasi cluster admin.
Perintah sebelumnya selesai, dan Anda dapat terus menggunakan komputer admin saat upgrade sedang berlangsung.
dengan
gkectl upgrade admin
, jalankan perintah berikut:gkectl upgrade admin -h
Untuk melihat status upgrade:
gkectl list admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Output menunjukkan nilai untuk cluster
STATE
. Jika cluster masih saat diupgrade, nilaiSTATE
adalahUPGRADING
. Contoh:NAME STATE AGE VERSION gke-admin-test UPGRADING 9h 1.30.0-gke.1930
Nilai yang mungkin untuk
STATE
adalahRUNNING
,UPGRADING
,RECONCILING
,ERROR
, danUNKNOWN
.Untuk mendapatkan detail selengkapnya tentang progres upgrade dan peristiwa cluster:
gkectl describe admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Output akan menampilkan resource kustom OnPremAdminCluster untuk resource yang ditentukan admin yang mencakup status, kondisi, dan peristiwa cluster.
Kami mencatat peristiwa untuk awal dan akhir setiap fase upgrade penting.
Contoh output:
Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal ControlPlaneUpgradeStarted 40m onprem-admin-cluster-controller Creating or updating admin cluster API Controller Normal ControlPlaneMachineUpgradeStarted 40m onprem-admin-cluster-controller Creating or updating control plane machine Normal StatusChanged 40m onprem-admin-cluster-controller OnPremAdminCluster status changed: - New ClusterState condition: UPGRADING - New Ready condition: False, CreateOrUpdateControlPlaneMachine, Creating or updating control plane machine Normal StatusChanged 2m onprem-admin-cluster-controller OnPremAdminCluster status changed: - New ClusterState condition: RUNNING - New Ready condition: True, ClusterRunning, Cluster is running
Setelah upgrade selesai,
gkectl list admin
menampilkanSTATUS
RUNNING
:NAME STATE AGE VERSION gke-admin-test RUNNING 9h 1.30.0-gke.1930
Selain itu, setelah upgrade selesai,
gkectl describe admin
akan menampilkan KolomLast GKE On Prem Version
padaStatus
. Contoh:Status: Cluster State: RUNNING Last GKE On Prem Version: 1.30.0-gke.1
Memecahkan masalah upgrade asinkron
Untuk upgrade asinkron, durasi waktu tunggu didasarkan pada jumlah
node lainnya di cluster. Jika upgrade membutuhkan waktu lebih lama dari durasi waktu tunggu,
status cluster diubah dari UPGRADING
menjadi ERROR
, dengan peristiwa yang menyatakan
bahwa waktu operasi peningkatan
telah habis. Perhatikan bahwa status ERROR
di sini berarti
upgrade memerlukan waktu lebih lama dari yang diperkirakan, tetapi belum dihentikan. Tujuan
pengontrol melanjutkan rekonsiliasi dan terus mencoba kembali operasi tersebut.
Jika upgrade diblokir atau gagal, Anda dapat menjalankan
gkectl diagnose
untuk memeriksa
masalah cluster yang umum. Berdasarkan hasilnya, Anda dapat memutuskan apakah akan
perbaikan manual atau hubungi Dukungan Google Cloud
untuk bantuan lebih lanjut.
Upgrade sinkron
Jalankan perintah berikut:
gkectl upgrade admin \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG_FILE \
Ganti kode berikut:
ADMIN_CLUSTER_KUBECONFIG
: jalur ke admin file kubeconfig cluster.ADMIN_CLUSTER_CONFIG_FILE
: jalur ke admin file konfigurasi cluster Anda.
Perintah
gkectl upgrade
menjalankan pemeriksaan preflight. Jika pemeriksaan preflight gagal, perintah akan diblokir. Anda harus memperbaiki kegagalan tersebut atau menggunakan flag--skip-preflight-check-blocking
dengan perintah untuk berhenti memblokirnya.Jika Anda meningkatkan ke versi 1.14.0 atau yang lebih tinggi, file {i>kubeconfig<i} baru dibuat untuk cluster admin yang menimpa file apa pun yang ada. Untuk melihat detail cluster dalam file, jalankan perintah berikut:
kubectl config view --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Hapus paket lengkap
Jika Anda telah mendownload paket lengkap, dan telah berhasil menjalankan
gkectl prepare
dan gkectl upgrade admin
, Anda harus menghapus
paket lengkap untuk menghemat kapasitas disk di workstation admin. Jalankan perintah berikut
perintah untuk menghapus paket lengkap:
rm /var/lib/gke/bundles/gke-onprem-vsphere-${TARGET_VERSION}-full.tgz
Melanjutkan upgrade cluster admin
Jika upgrade cluster admin terganggu atau gagal, upgrade dapat dilanjutkan jika pos pemeriksaan cluster admin berisi status yang diperlukan untuk memulihkan status sebelum gangguan.
Peringatan: Jangan perbaiki master admin dengan gkectl repair admin-master
setelah
upaya upgrade yang gagal. Ini akan menyebabkan cluster admin mengalami
status.
Ikuti langkah-langkah berikut:
Periksa apakah bidang kontrol admin responsif sebelum Anda memulai upaya upgrade awal. Lihat Mendiagnosis masalah cluster. Seperti yang dibahas dalam topik tersebut, jalankan perintah
gkectl diagnose cluster
untuk cluster admin.Jika bidang kontrol admin tidak responsif sebelum upaya upgrade awal, perbaiki bidang kontrol admin dengan perintah
gkectl repair admin-master
.Saat Anda menjalankan kembali perintah upgrade setelah upgrade terhenti atau gagal, gunakan paket dan versi target yang sama seperti yang Anda lakukan pada upaya upgrade sebelumnya.
Saat Anda menjalankan kembali perintah upgrade, upgrade yang dilanjutkan akan membuat ulang cluster admin status dari checkpoint dan menjalankan ulang seluruh upgrade. Mulai dari 1.12.0, jika bidang kontrol admin tidak responsif, proses upgrade akan langsung mengupgrade ke versi target tanpa mencoba memulihkan cluster admin di sebelum melanjutkan ke upgrade.
Upgrade akan dilanjutkan dari titik kegagalan atau keluar dari titik pemeriksaan cluster admin. Jika checkpoint tidak tersedia, upgrade akan kembali mengandalkan bidang kontrol admin, sehingga bidang kontrol admin harus responsif agar dapat melanjutkan upgrade. Setelah upgrade berhasil, checkpoint tersebut akan dibuat ulang.
Jika gkectl
keluar secara tidak terduga selama upgrade cluster admin, cluster jenis tidak akan dibersihkan. Sebelum menjalankan kembali perintah upgrade untuk melanjutkan upgrade, hapus cluster jenis:
docker stop gkectl-control-plane && docker rm gkectl-control-plane
Setelah menghapus cluster jenis, jalankan kembali perintah upgrade.
Melakukan roll back workstation admin setelah upgrade
Anda dapat melakukan roll back workstation admin ke versi yang digunakan sebelum upgrade.
Selama upgrade, gkeadm
akan merekam versi sebelum diupgrade di file informasi output. Selama rollback, gkeadm
akan menggunakan versi yang tercantum untuk mendownload file lama.
Untuk melakukan roll back workstation admin ke versi sebelumnya:
gkeadm rollback admin-workstation --config=AW_CONFIG_FILE
Anda dapat menghapus --config=AW_CONFIG_FILE
jika file konfigurasi workstation admin Anda adalah admin-ws-config.yaml
default. Jika tidak, ganti AW_CONFIG_FILE dengan jalur ke file konfigurasi workstation admin.
Perintah rollback melakukan langkah-langkah berikut:
- Mendownload versi rollback
gkeadm
. - Mencadangkan direktori utama workstation admin saat ini.
- Membuat workstation admin baru menggunakan versi rollback
gkeadm
. - Menghapus workstation admin asli.
Instal paket dengan versi berbeda untuk upgrade
Jika Anda mengupgrade workstation, paket dengan versi yang sesuai akan diinstal di perangkat tersebut untuk mengupgrade cluster. Jika Anda menginginkan versi yang berbeda, ikuti langkah-langkah berikut guna menginstal paket untuk TARGET_VERSION, yang merupakan versi yang ingin Anda upgrade.
Untuk memeriksa
gkectl
dan versi cluster saat ini, jalankan perintah ini. Gunakan flag--details/-d
untuk mengetahui informasi yang lebih mendetail.gkectl version --kubeconfig ADMIN_CLUSTER_KUBECONFIG --details
Output-nya memberikan informasi tentang versi cluster Anda.
Berdasarkan output yang Anda dapatkan, cari masalah berikut, lalu perbaiki sesuai kebutuhan.
Jika versi cluster admin saat ini memiliki lebih dari satu versi minor yang lebih rendah dari TARGET_VERSION, upgrade semua cluster Anda menjadi satu versi minor yang lebih rendah dari TARGET_VERSION.
Jika versi
gkectl
lebih rendah dari 1.11, dan Anda ingin mengupgrade ke 1.12.x, Anda harus melakukan beberapa upgrade. Upgrade satu versi minor satu per satu, hingga Anda mencapai 1.11.x, lalu lanjutkan dengan petunjuk dalam topik ini.Jika versi
gkectl
lebih rendah dari TARGET_VERSION, upgrade workstation admin ke TARGET_VERSION.
Jika Anda sudah menetapkan bahwa versi
gkectl
dan cluster Anda sesuai untuk diupgrade, download paket.Periksa apakah tarball paket sudah ada di workstation admin.
stat /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz
Jika paket tidak ada di workstation admin, download paket tersebut.
gcloud storage cp gs://gke-on-prem-release/gke-onprem-bundle/TARGET_VERSION/gke-onprem-vsphere-TARGET_VERSION.tgz /var/lib/gke/bundles/
Instal paket.
gkectl prepare --bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Ganti ADMIN_CLUSTER_KUBECONFIG dengan jalur file kubeconfig Anda. Anda dapat menghilangkan flag ini jika file tersebut berada di direktori Anda saat ini dan memiliki nama
kubeconfig
.Cantumkan versi cluster yang tersedia, dan pastikan versi target tersebut disertakan dalam versi cluster pengguna yang tersedia.
gkectl version --kubeconfig ADMIN_CLUSTER_KUBECONFIG --details
Anda kini dapat membuat cluster pengguna pada versi target, atau mengupgrade cluster pengguna ke versi target.
Memecahkan masalah proses upgrade
Jika Anda mengalami masalah saat mengikuti proses upgrade yang direkomendasikan, ikuti rekomendasi berikut untuk menyelesaikannya. Saran ini mengasumsikan bahwa Anda telah memulai penyiapan versi 1.11.x dan melanjutkan proses upgrade yang direkomendasikan.
Lihat juga: Memecahkan masalah pembuatan dan upgrade cluster
Memecahkan masalah upgrade cluster pengguna
Misalkan Anda menemukan masalah pada versi upgrade saat mengupgrade cluster pengguna. Anda menentukan dari Dukungan Google bahwa masalah akan diperbaiki dalam rilis patch mendatang. Anda dapat melanjutkan sebagai berikut:
- Terus gunakan versi saat ini untuk produksi.
- Uji rilis patch di cluster non-produksi saat dirilis.
- Upgrade semua cluster pengguna produksi ke versi rilis patch setelah Anda yakin.
- Upgrade cluster admin ke versi rilis patch.
Memecahkan masalah upgrade cluster admin
Jika mengalami masalah saat mengupgrade cluster admin, Anda harus menghubungi Dukungan Google untuk menyelesaikan masalah dengan cluster admin.
Sementara itu, dengan alur upgrade baru, Anda tetap bisa mendapatkan manfaat dari fitur cluster pengguna baru tanpa diblokir oleh upgrade cluster admin, yang memungkinkan Anda mengurangi frekuensi upgrade cluster admin jika diinginkan. Proses upgrade Anda dapat dilanjutkan sebagai berikut:
- Mengupgrade cluster pengguna produksi ke versi 1.12.x.
- Pertahankan cluster admin pada versi sebelumnya dan terus terima patch keamanan.
- Uji upgrade cluster admin dari 1.11.x ke 1.12.x di lingkungan pengujian, dan laporkan masalah jika ada;
- Jika masalah Anda teratasi dengan rilis patch 1.12.x, Anda dapat memilih untuk mengupgrade cluster admin produksi ke rilis patch ini jika diinginkan.
Masalah umum untuk versi terbaru
Masalah umum berikut dapat memengaruhi upgrade jika Anda melakukan upgrade dari versi 1.7 atau yang lebih baru.
Lihat juga: Masalah umum
Upgrade workstation admin dapat gagal jika disk data hampir penuh
Jika Anda mengupgrade workstation admin dengan perintah gkectl upgrade admin-workstation
, upgrade mungkin gagal jika disk data hampir penuh, karena sistem mencoba mencadangkan workstation admin saat ini secara lokal saat mengupgrade ke workstation admin baru. Jika Anda tidak dapat mengosongkan cukup ruang di disk data, gunakan perintah gkectl upgrade admin-workstation
dengan tanda tambahan --backup-to-local=false
untuk mencegah pembuatan cadangan lokal dari workstation admin saat ini.
Gangguan untuk workload dengan PodDisruptionBudgets
Saat ini, mengupgrade cluster dapat menyebabkan gangguan atau periode nonaktif untuk workload yang menggunakan PodDisruptionBudgets (PDB).
Node gagal menyelesaikan proses upgrade
Jika Anda memiliki objek PodDisruptionBudget
yang dikonfigurasi untuk tidak mengizinkan gangguan tambahan, upgrade node mungkin akan gagal untuk mengupgrade ke versi panel kontrol setelah beberapa percobaan. Untuk mencegah kegagalan ini, sebaiknya
tingkatkan skala Deployment
atau HorizontalPodAutoscaler
agar
node dapat dihabiskan sambil tetap mematuhi konfigurasi
PodDisruptionBudget
.
Untuk melihat semua objek PodDisruptionBudget
yang tidak mengizinkan gangguan apa pun:
kubectl get poddisruptionbudget --all-namespaces -o jsonpath='{range .items[?(@.status.disruptionsAllowed==0)]}{.metadata.name}/{.metadata.namespace}{"\n"}{end}'
Lampiran
Tentang aturan DRS VMware yang diaktifkan di versi 1.1.0-gke.6
Mulai versi 1.1.0-gke.6, Google Distributed Cloud secara otomatis membuat VMware Distributed Resource Scheduler aturan anti-afinitas (DRS) untuk node cluster pengguna, sehingga tersebar di setidaknya tiga {i>host<i} fisik di pusat data Anda. Per versi 1.1.0-gke.6, fitur ini diaktifkan secara otomatis untuk cluster baru dan cluster klaster.
Sebelum melakukan upgrade, pastikan lingkungan vSphere Anda memenuhi persyaratan berikut kondisi:
VMware DRS diaktifkan. VMware DRS memerlukan lisensi vSphere Enterprise Plus Google. Untuk mempelajari cara mengaktifkan DRS, lihat Mengaktifkan VMware DRS dalam cluster
Nama pengguna vSphere yang diberikan di file konfigurasi kredensial memiliki izin
Host.Inventory.EditCluster
.Ada setidaknya tiga host fisik yang tersedia.
Jika lingkungan vSphere Anda tidak memenuhi kondisi sebelumnya, Anda dapat masih di-upgrade, tetapi untuk meng-upgrade cluster pengguna dari 1.3.x ke 1.4.x, Anda perlu untuk menonaktifkan kelompok anti-afinitas. Untuk informasi selengkapnya, lihat masalah umum dalam catatan rilis Google Distributed Cloud.
Tentang periode nonaktif selama upgrade
Resource | Deskripsi |
---|---|
Cluster Admin | Saat cluster admin tidak aktif, bidang kontrol cluster pengguna workload di cluster pengguna terus berjalan, kecuali jika mereka terpengaruh oleh kegagalan yang menyebabkan periode nonaktif. |
Bidang kontrol cluster pengguna | Biasanya, tidak akan ada periode nonaktif yang signifikan pada cluster pengguna bidang kontrol. Namun, koneksi jangka panjang ke Kubernetes API servernya bisa rusak dan harus dibangun kembali. Dalam kasus tersebut, pemanggil API harus mencoba lagi hingga berhasil membuat koneksi. Di kolom kemungkinan terburuknya, periode nonaktif dapat mencapai satu menit selama proses upgrade. |
Node cluster pengguna | Jika upgrade memerlukan perubahan pada node cluster pengguna, Google Distributed Cloud membuat ulang node secara bertahap, dan menjadwalkan ulang Pod yang berjalan pada node ini. Anda dapat mencegah dampak terhadap workload dengan mengonfigurasi PodDisruptionBudgets yang tepat dan aturan anti-afinitas. |
Membuat ulang file informasi jika tidak ada
Jika file informasi output untuk workstation admin tidak ada, Anda harus membuat ulang file ini agar dapat melanjutkan upgrade. File ini dibuat saat Anda pertama kali membuat workstation, dan jika Anda telah melakukan upgrade, file tersebut akan diperbarui dengan informasi baru.
File informasi output memiliki format ini:
Admin workstation version: GKEADM_VERSION Created using gkeadm version: GKEADM_VERSION VM name: ADMIN_WS_NAME IP: ADMIN_WS_IP SSH key used: FULL_PATH_TO_ADMIN_WS_SSH_KEY To access your admin workstation: ssh -i FULL-PATH-TO-ADMIN-WS-SSH-KEY ubuntu@ADMIN-WS-IP
Berikut adalah contoh file informasi output:
Admin workstation version: v1.10.3-gke.49 Created using gkeadm version: v1.10.3-gke.49 VM name: admin-ws-janedoe IP: 172.16.91.21 SSH key used: /usr/local/google/home/janedoe/.ssh/gke-admin-workstation Upgraded from (rollback version): v1.10.0-gke.194 To access your admin workstation: ssh -i /usr/local/google/home/janedoe/.ssh/gke-admin-workstation ubuntu@172.16.91.21
Buat file di editor, dengan mengganti parameter yang sesuai. Simpan file dengan nama file yang sama dengan nama VM di direktori tempat gkeadm dijalankan. Misalnya, jika nama VM adalah admin-ws-janedoe
, simpan file sebagai admin-ws-janedoe
.
Langkah selanjutnya
Dokumentasi referensi gcloud CLI
Dokumentasi referensi Terraform