Dokumen ini menjelaskan cara meminta upgrade atau downgrade secara manual untuk panel kontrol atau node cluster GKE. Anda dapat mengupgrade versi secara manual sebagai berikut:
- Cluster Autopilot: Mengupgrade versi bidang kontrol.
- Cluster standar: Upgrade versi panel kontrol dan versi node pool.
Untuk mengupgrade cluster, GKE mengupdate versi yang dijalankan panel kontrol dan node. Cluster diupgrade ke versi minor yang lebih baru (misalnya, 1.24 ke 1.25) atau versi patch yang lebih baru (misalnya, 1.24.2-gke.100 ke 1.24.5-gke.200). Untuk mengetahui informasi selengkapnya, lihat Pembuatan versi dan dukungan GKE.
Untuk mengetahui informasi selengkapnya tentang cara kerja upgrade cluster, termasuk upgrade otomatis dan manual, lihat Tentang upgrade cluster GKE.
GKE versi baru diumumkan secara berkala, dan Anda dapat menerima pemberitahuan tentang versi baru yang tersedia untuk setiap cluster tertentu dengan notifikasi cluster. Untuk menemukan target upgrade otomatis tertentu untuk cluster, dapatkan informasi tentang upgrade cluster.
Untuk mempelajari versi yang tersedia, lihat Pembuatan versi. Untuk mempelajari cluster lebih lanjut, silakan melihat Arsitektur cluster. Untuk panduan tentang mengupgrade cluster, silakan melihat Praktik terbaik untuk mengupgrade cluster.
Sebelum memulai
Sebelum memulai, pastikan Anda telah melakukan tugas berikut:
- Aktifkan Google Kubernetes Engine API. Aktifkan Google Kubernetes Engine API
- Jika ingin menggunakan Google Cloud CLI untuk tugas ini,
instal lalu
lakukan inisialisasi
gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan perintah
gcloud components update. gcloud CLI versi sebelumnya mungkin tidak mendukung menjalankan perintah dalam dokumen ini.
- Pastikan Anda sudah memiliki cluster Autopilot atau Standard. Untuk membuat cluster baru, lihat Membuat cluster Autopilot.
Menyimpan data ke persistent disk
Sebelum mengupgrade node pool, Anda harus memastikan bahwa setiap data yang perlu disimpan telah disimpan di Pod menggunakan volume persisten yang menggunakan persistent disk. Persistent disk dilepas, bukan dihapus, selama upgrade, dan datanya "diserahkan" di antar-Pod.
Batasan berikut berlaku untuk disk persisten:
- Node tempat Pod berjalan harus berupa VM Compute Engine
- VM tersebut harus berada di project dan zona Compute Engine yang sama dengan persistent disk
Untuk mempelajari cara menambahkan persistent disk ke instance node yang ada, silakan melihat Menambahkan atau mengubah ukuran persistent disk zona dalam dokumentasi Compute Engine.
Tentang upgrade
Panel kontrol dan nodecluster diupgrade secara terpisah.
Panel kontrol cluster selalu diupgrade secara berkala, terlepas dari apakah cluster Anda telah terdaftar di saluran rilis atau belum.
Batasan
Cluster alfa tidak dapat diupgrade.
Versi yang didukung
Catatan rilis mengumumkan kapan versi baru tersedia dan kapan versi lama tidak lagi tersedia. Anda dapat membuat daftar semua versi cluster dan node yang didukung kapan saja menggunakan perintah ini:
gcloud container get-server-config \
--location=CONTROL_PLANE_LOCATION
Ganti CONTROL_PLANE_LOCATION dengan lokasi
(region atau zona) untuk bidang kontrol, seperti us-central1 atau
us-central1-a.
Jika cluster terdaftar di saluran rilis, Anda dapat mengupgrade ke versi patch di saluran rilis yang berbeda dengan versi minor yang sama dengan panel kontrol. Misalnya, Anda dapat mengupgrade cluster dari versi 1.21.12-gke.1700 di saluran Reguler ke 1.21.13-gke.900 di saluran Cepat. Untuk informasi selengkapnya, silakan melihat Menjalankan versi patch dari saluran yang lebih baru. Semua cluster Autopilot terdaftar di saluran rilis.
Batasan downgrade
Anda dapat mendowngrade versi cluster ke versi yang lebih lama dalam skenario tertentu.
Untuk mengurangi upgrade panel kontrol cluster yang gagal, Anda dapat mendowngrade panel kontrol ke rilis patch sebelumnya jika versi tersebut adalah rilis patch sebelumnya dalam versi minor yang sama. Misalnya, jika panel kontrol cluster Anda menjalankan GKE 1.25.3-gke.400, Anda dapat mendowngrade panel kontrol ke 1.25.2-gke.100, jika versi tersebut masih tersedia.
Anda tidak dapat mendowngrade panel kontrol cluster Kubernetes ke versi minor yang lebih lama. Misalnya, jika panel kontrol Anda menjalankan GKE versi 1.25, Anda tidak dapat melakukan downgrade ke versi 1.24. Jika Anda mencoba melakukannya, pesan error berikut akan muncul:
ERROR: (gcloud.container.clusters.upgrade) ResponseError: code=400,
message=Master cannot be upgraded to "1.24.3-gke.100": specified version is not
newer than the current version.
Anda tidak dapat mendowngrade versi minor panel kontrol cluster, jadi sebaiknya Andamenguji dan memenuhi persyaratan upgrade versi minor dengan cluster di lingkungan pengujian saat versi minor baru tersedia, tetapi sebelum versi tersebut menjadi default. Hal ini terutama direkomendasikan jika cluster Anda mungkin terpengaruh oleh perubahan signifikan dalam versi minor berikutnya, seperti API atau fitur yang tidak digunakan lagi yang akan dihapus.
Untuk memitigasi upgrade node pool yang tidak berhasil, Anda dapat mendowngrade node pool ke rilis patch atau versi minor sebelumnya. Pastikan Anda tidak mendowngrade node ke versi yang lebih dari dua versi minor sebelum versi panel kontrol cluster.
Mengupgrade cluster
Google mengupgrade cluster dan node secara otomatis. Untuk kontrol yang lebih besar atas upgrade otomatis yang diterima cluster dan node-nya, Anda dapat mendaftarkannya ke saluran rilis. Semua cluster Autopilot otomatis terdaftar di saluran rilis.
Untuk mempelajari lebih lanjut cara mengelola versi GKE cluster, silakan melihat Upgrade.
Anda dapat melakukan inisialisasi upgrade manual kapan saja setelah versi baru tersedia.
Mengupgrade panel kontrol secara manual
Saat melakukan inisialisasi upgrade cluster, Anda tidak dapat mengubah konfigurasi cluster selama beberapa menit sampai panel kontrol dapat diakses kembali. Jika Anda perlu mencegah periode nonaktif selama upgrade panel kontrol, pertimbangkan untuk menggunakan cluster Autopilot atau cluster Standard regional. Operasi ini tidak memengaruhi ketersediaan worker node tempat workload Anda berjalan karena node tersebut tetap tersedia selama upgrade panel kontrol.
Anda dapat mengupgrade panel kontrol Autopilot atau Standard secara manual menggunakan konsol Google Cloud atau Google Cloud CLI.
gcloud
Guna melihat versi yang tersedia untuk panel kontrol cluster Anda, jalankan perintah berikut:
gcloud container get-server-config \
--location=CONTROL_PLANE_LOCATION
Untuk mengupgrade ke versi cluster default, jalankan perintah berikut:
gcloud container clusters upgrade CLUSTER_NAME \
--master \
--location=CONTROL_PLANE_LOCATION
Untuk mengupgrade ke versi tertentu yang bukan default, tentukan
flag --cluster-version seperti pada perintah berikut:
gcloud container clusters upgrade CLUSTER_NAME \
--master \
--location=CONTROL_PLANE_LOCATION \
--cluster-version=VERSION
Ganti VERSION dengan versi yang akan digunakan cluster setelah upgrade. Anda dapat menggunakan versi tertentu, seperti
1.18.17-gke.100 atau Anda dapat menggunakan alias versi, seperti latest. Untuk mengetahui informasi
selengkapnya, silakan melihat Menentukan versi cluster.
Konsol
Untuk mengupdate panel kontrol cluster secara manual, lakukan langkah-langkah berikut:
Buka halaman Google Kubernetes Engine di konsol Google Cloud .
Klik nama cluster.
Di bagian Dasar-dasar cluster, klik edit Upgrade Tersedia di samping Versi.
Pilih versi yang diinginkan, lalu klik Simpan Perubahan.
Setelah mengupgrade bidang kontrol cluster Standard, Anda dapat mengupgrade node-nya secara manual. Atau, GKE mengupgrade node pool Standard secara otomatis, secara default. GKE selalu mengupgrade node pool yang dikelola Autopilot secara otomatis, tetapi Anda juga dapat memicu upgrade manual.
Mendowngrade cluster
- Tetapkan pengecualian pemeliharaan sebelum melakukan downgrade untuk mencegah GKE mengupgrade otomatis panel kontrol setelah Anda mendowngradenya.
Downgrade panel kontrol cluster ke versi patch sebelumnya:
gcloud container clusters upgrade CLUSTER_NAME \ --master \ --location=CONTROL_PLANE_LOCATION \ --cluster-version=VERSION
Menonaktifkan upgrade otomatis cluster
Keamanan infrastruktur merupakan prioritas tinggi bagi GKE, sehingga panel kontrol diupgrade secara berkala dan tidak dapat dinonaktifkan. Namun, Anda dapat menerapkan masa dan pengecualian pemeliharaan untuk menangguhkan upgrade sementara bagi panel dan node kontrol.
Meskipun tidak direkomendasikan, Anda dapat menonaktifkan upgrade otomatis node untuk node pool Standar.
Memeriksa histori upgrade bidang kontrol terbaru
Untuk melihat ringkasan histori upgrade otomatis terbaru cluster, dapatkan informasi tentang upgrade cluster.
Atau, Anda dapat mencantumkan operasi terbaru untuk melihat kapan bidang kontrol diupgrade:
gcloud container operations list --filter="TYPE:UPGRADE_MASTER AND TARGET:CLUSTER_NAME" \
--location=CONTROL_PLANE_LOCATION
Mengupgrade node pool
Secara default, node pool Standard telah mengaktifkan upgrade otomatis, dan semua node pool yang dikelola Autopilot di cluster Standard selalu mengaktifkan upgrade otomatis. Upgrade otomatis node memastikan bahwa versi node dan panel kontrol cluster Anda tetap sinkron dan sesuai dengan kebijakan ketidaksesuaian versi Kubernetes, yang memastikan bahwa panel kontrol kompatibel dengan node hingga dua versi minor yang lebih lama dari panel kontrol. Misalnya, bidang kontrol Kubernetes 1.29 kompatibel dengan node Kubernetes 1.27.
Hindari menonaktifkan upgrade otomatis node dengan node pool Standard agar cluster Anda mendapatkan manfaat dari upgrade yang tercantum dalam paragraf sebelumnya.
Dengan upgrade node pool GKE Standard, Anda dapat memilih antara dua strategi upgrade yang dapat dikonfigurasi, yaitu upgrade lonjakan dan upgrade blue-green. Node pool yang dikelola Autopilot di cluster Standard selalu menggunakan upgrade lonjakan.
Untuk node pool Standar, pilih strategi dan gunakan parameter untuk menyesuaikan strategi agar paling sesuai dengan kebutuhan lingkungan cluster Anda.
Cara kerja upgrade node
Saat node sedang diupgrade, GKE berhenti menjadwalkan Pod baru pada node tersebut, dan mencoba menjadwalkan Pod yang berjalan ke node lain. Hal ini serupa dengan peristiwa lain yang membuat ulang node, seperti mengaktifkan atau menonaktifkan fitur pada node pool.
Selama upgrade node otomatis atau manual, PodDisruptionBudget
(PDB) dan
masa tenggang penghentian Pod
dipatuhi selama maksimum 1 jam. Jika Pod yang berjalan di node tidak dapat dijadwalkan ke node baru setelah satu jam, GKE akan tetap memulai upgrade. Perilaku ini berlaku meskipun Anda mengonfigurasi PDB agar selalu
memiliki semua replika yang tersedia dengan menyetel kolom maxUnavailable ke 0
atau 0% atau dengan menyetel kolom minAvailable ke 100% atau ke jumlah
replika. Dalam semua skenario ini, GKE menghapus Pod setelah
satu jam agar penghapusan node dapat terjadi.
Jika workload yang berjalan di node pool Standar memerlukan lebih banyak fleksibilitas dengan penghentian yang terkontrol, gunakan upgrade blue-green yang menyediakan setelan waktu perendaman tambahan untuk memperpanjang pemeriksaan PDB melebihi default satu jam.
Untuk mempelajari lebih lanjut hal yang umumnya terjadi selama penghentian node, lihat topik tentang Pod.
Upgrade hanya akan selesai jika semua node telah dibuat ulang dan cluster dalam status baru. Saat node yang baru diupgrade didaftarkan dengan panel kontrol, GKE akan menandai node tersebut sebagai dapat dijadwalkan.
Instance node baru menjalankan versi Kubernetes baru serta hal berikut:
Agar upgrade node pool dianggap selesai, semua node di node pool harus dibuat ulang. Jika upgrade dimulai, tetapi tidak selesai dan berada dalam status upgrade sebagian, versi node pool mungkin tidak mencerminkan versi semua node. Untuk mempelajari lebih lanjut, lihat Beberapa versi node tidak cocok dengan versi node pool setelah upgrade node pool yang tidak selesai. Untuk memastikan bahwa upgrade node pool telah selesai, periksa status upgrade node pool. Jika operasi upgrade melampaui periode retensi, periksa apakah setiap versi node individual cocok dengan versi node pool.
Mengupgrade node pool secara manual
Anda dapat mengupgrade versi node pool Standar atau node pool yang dikelola Autopilot secara manual dalam cluster Standar. Anda dapat mencocokkan versi panel kontrol atau menggunakan versi sebelumnya yang masih tersedia dan kompatibel dengan panel kontrol. Anda dapat mengupgrade beberapa node pool secara paralel secara manual, sedangkan GKE hanya mengupgrade satu node pool dalam satu waktu secara otomatis.
Saat Anda mengupgrade node pool secara manual, GKE akan menghapus label yang Anda tambahkan ke setiap node menggunakan kubectl.
Untuk menghindari hal ini, terapkan label ke node pool.
Sebelum mengupgrade node pool secara manual, pertimbangkan kondisi berikut:
- Mengupgrade node pool dapat mengganggu workload yang berjalan di node pool tersebut. Untuk menghindari hal ini, Anda dapat membuat node pool baru dengan versi yang diperlukan dan memigrasikan workload. Setelah migrasi, Anda dapat menghapus node pool lama.
- Jika Anda mengupgrade node pool dengan Ingress yang berada dalam status error, grup instance tidak akan disinkronkan. Untuk mengatasi masalah ini, periksa statusnya terlebih dahulu menggunakan
perintah
kubectl get ing. Jika grup instance tidak disinkronkan, Anda dapat mengatasi masalah ini dengan menerapkan kembali manifes yang digunakan untuk membuat ingress.
Anda dapat mengupgrade node pool secara manual ke versi yang kompatibel dengan panel kontrol:
- Untuk node pool Standard, Anda dapat menggunakan konsol Google Cloud atau Google Cloud CLI.
Untuk node pool yang dikelola Autopilot, Anda hanya dapat menggunakan Google Cloud CLI.
Konsol
Untuk mengupgrade node pool Standar menggunakan konsol Google Cloud , lakukan langkah-langkah berikut:
Buka halaman Google Kubernetes Engine di konsol Google Cloud .
Klik nama cluster.
Di halaman Cluster details, klik tab Nodes.
Di bagian Node Pools, klik nama node pool yang ingin Anda upgrade.
Klik edit Edit.
Klik Change di bagian Node version.
Pilih versi yang diperlukan dari menu drop-down Node version, lalu klik Change.
Mungkin perlu waktu beberapa menit untuk mengubah versi node.
gcloud
Variabel berikut digunakan dalam perintah di bagian ini:
CLUSTER_NAME: nama cluster node pool yang akan diupgrade.NODE_POOL_NAME: nama node pool yang akan diupgrade.CONTROL_PLANE_LOCATION: lokasi (region atau zona) untuk bidang kontrol, sepertius-central1atauus-central1-a.VERSION: versi Kubernetes tempat node diupgrade. Misalnya,--cluster-version=1.34.1-gke.1293000ataucluster-version=latest.
Mengupgrade node pool:
gcloud container clusters upgrade CLUSTER_NAME \
--node-pool=NODE_POOL_NAME \
--location=CONTROL_PLANE_LOCATION
Untuk menentukan versi GKE yang berbeda pada node, gunakan flag --cluster-version yang bersifat opsional:
gcloud container clusters upgrade CLUSTER_NAME \
--node-pool=NODE_POOL_NAME \
--location=CONTROL_PLANE_LOCATION \
--cluster-version VERSION
Untuk mengetahui informasi selengkapnya tentang cara menentukan versi, lihat Pembuatan versi.
Untuk informasi selengkapnya, lihat
dokumentasi
gcloud container clusters upgrade.
Mendowngrade node pool
Anda dapat mendowngrade node pool, misalnya, untuk memitigasi upgrade node pool yang tidak berhasil. Tinjau batasan sebelum mendowngrade node pool.
Gunakan strategi upgrade node blue-green jika Anda perlu mengoptimalkan mitigasi risiko untuk upgrade node pool yang memengaruhi workload Anda. Dengan strategi ini, Anda dapat me-roll back upgrade yang sedang berlangsung, agar dikembalikan ke node asli jika upgrade tidak berhasil.
- Tetapkan pengecualian pemeliharaan untuk cluster guna mencegah agar node pool tidak diupgrade secara otomatis oleh GKE setelah didowngrade.
- Untuk mendowngrade node pool, tentukan versi yang lebih lama sambil mengikuti petunjuk untuk Mengupgrade node pool secara manual.
Mengubah parameter upgrade lonjakan
Untuk mempelajari cara mengubah parameter upgrade lonjakan lebih lanjut, silakan melihat Mengonfigurasi upgrade lonjakan.
Memeriksa status upgrade node pool
Anda dapat memeriksa status upgrade menggunakan gcloud container operations.
Melihat daftar setiap operasi yang sedang berjalan dan selesai di cluster dari 12 hari terakhir jika ada kurang dari 5.000 operasi, atau 5.000 operasi terakhir:
gcloud container operations list \
--location=CONTROL_PLANE_LOCATION
Setiap operasi diberi ID operasi dan jenis operasi serta waktu mulai dan berakhir, cluster target, dan status. Daftar tersebut akan terlihat mirip dengan contoh berikut:
NAME TYPE ZONE TARGET STATUS_MESSAGE STATUS START_TIME END_TIME
operation-1505407677851-8039e369 CREATE_CLUSTER us-west1-a my-cluster DONE 20xx-xx-xxT16:47:57.851933021Z 20xx-xx-xxT16:50:52.898305883Z
operation-1505500805136-e7c64af4 UPGRADE_CLUSTER us-west1-a my-cluster DONE 20xx-xx-xxT18:40:05.136739989Z 20xx-xx-xxT18:41:09.321483832Z
operation-1505500913918-5802c989 DELETE_CLUSTER us-west1-a my-cluster DONE 20xx-xx-xxT18:41:53.918825764Z 20xx-xx-xxT18:43:48.639506814Z
Untuk mendapatkan informasi selengkapnya tentang operasi tertentu, tentukan ID operasi seperti yang ditunjukkan dalam perintah berikut:
gcloud container operations describe OPERATION_ID \
--location=CONTROL_PLANE_LOCATION
Contoh:
gcloud container operations describe operation-1507325726639-981f0ed6
endTime: '20xx-xx-xxT21:40:05.324124385Z'
name: operation-1507325726639-981f0ed6
operationType: UPGRADE_CLUSTER
selfLink: https://container.googleapis.com/v1/projects/.../kubernetes-engine/docs/zones/us-central1-a/operations/operation-1507325726639-981f0ed6
startTime: '20xx-xx-xxT21:35:26.639453776Z'
status: DONE
targetLink: https://container.googleapis.com/v1/projects/.../kubernetes-engine/docs/zones/us-central1-a/clusters/...
zone: us-central1-a
Jika upgrade dibatalkan atau gagal dan selesai sebagian, Anda dapat melanjutkan atau melakukan roll back upgrade.
Memeriksa setelan upgrade node pool
Anda dapat melihat detail tentang strategi upgrade node yang digunakan untuk node pool Anda menggunakan perintah gcloud container node-pools
describe. Untuk upgrade blue-green, perintah juga akan menampilkan fase saat ini dari upgrade.
Jalankan perintah berikut:
gcloud container node-pools describe NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION
Ganti kode berikut:
NODE_POOL_NAME: nama node pool yang akan dideskripsikan.CLUSTER_NAME: nama cluster node pool yang akan dideskripsikan.CONTROL_PLANE_LOCATION: lokasi (region atau zona) untuk bidang kontrol, sepertius-central1atauus-central1-a.
Perintah ini akan memberikan output setelan upgrade saat ini. Contoh berikut menampilkan output jika Anda menggunakan strategi upgrade blue-green.
upgradeSettings:
blueGreenSettings:
nodePoolSoakDuration: 1800s
standardRolloutPolicy:
batchNodeCount: 1
batchSoakDuration: 10s
strategy: BLUE_GREEN
Jika Anda menggunakan strategi upgrade blue-green, outputnya juga menyertakan detail tentang setelan upgrade blue-green dan fase perantaranya saat ini. Contoh berikut menunjukkan kemungkinan tampilannya:
updateInfo:
blueGreenInfo:
blueInstanceGroupUrls:
- https://www.googleapis.com/compute/v1/projects/{PROJECT_ID}/zones/{LOCATION}/instanceGroupManagers/{BLUE_INSTANCE_GROUP_NAME}
bluePoolDeletionStartTime: {BLUE_POOL_DELETION_TIME}
greenInstanceGroupUrls:
- https://www.googleapis.com/compute/v1/projects/{PROJECT_ID}/zones/{LOCATION}/instanceGroupManagers/{GREEN_INSTANCE_GROUP_NAME}
greenPoolVersion: {GREEN_POOL_VERSION}
phase: DRAINING_BLUE_POOL
Membatalkan upgrade node pool
Anda dapat membatalkan upgrade kapan saja. Untuk mempelajari lebih lanjut hal yang akan terjadi saat Anda membatalkan upgrade lonjakan, silakan melihat Membatalkan upgrade lonjakan. Untuk mempelajari lebih lanjut apa yang akan terjadi jika Anda membatalkan upgrade blue-green, silakan melihat Membatalkan upgrade blue-green.
Mendapatkan ID operasi upgrade:
gcloud container operations list \ --location=CONTROL_PLANE_LOCATIONMembatalkan upgrade:
gcloud container operations cancel OPERATION_ID \ --location=CONTROL_PLANE_LOCATION
Silakan melihat
dokumentasi
gcloud container operations cancel.
Melanjutkan upgrade node pool
Anda dapat melanjutkan upgrade dengan melakukan inisialisasi upgrade secara manual lagi, dengan menentukan versi target dari upgrade awal.
Misalnya, jika upgrade gagal, atau jika Anda menjeda upgrade yang sedang berlangsung, Anda dapat melanjutkan upgrade yang dibatalkan dengan memulai upgrade yang sama lagi di node pool, dengan menentukan versi target dari operasi upgrade awal.
Untuk mempelajari lebih lanjut apa yang akan terjadi saat Anda melanjutkan upgrade, silakan melihat Melanjutkan upgrade lonjakan dan upgrade blue-green.
Untuk melanjutkan upgrade, gunakan perintah berikut:
gcloud container clusters upgrade CLUSTER_NAME \
--node-pool=NODE_POOL_NAME \
--location=CONTROL_PLANE_LOCATION \
--cluster-version VERSION
Ganti kode berikut:
NODE_POOL_NAME: nama node pool tempat Anda ingin melanjutkan upgrade node pool.CLUSTER_NAME: nama cluster node pool yang ingin Anda lanjutkan upgradenya.CONTROL_PLANE_LOCATION: lokasi (region atau zona) untuk bidang kontrol, sepertius-central1atauus-central1-a.VERSION: versi target dari upgrade node pool yang dibatalkan.
Untuk informasi selengkapnya, silakan melihat dokumentasi
gcloud container clusters upgrade.
Me-roll back upgrade node pool
Anda dapat me-roll back node pool guna mendowngrade node yang diupgrade untuk mengembalikannya ke status aslinya sebelum upgrade node pool dimulai.
Gunakan perintah rollback jika upgrade yang sedang berlangsung dibatalkan, upgrade gagal, atau upgrade tidak selesai karena waktu masa pemeliharaan habis. Atau, jika Anda ingin menentukan versi, ikuti petunjuk untuk mendowngrade node pool.
Untuk mempelajari lebih lanjut apa yang akan terjadi saat Anda me-roll back upgrade node pool, silakan melihat Me-roll back upgrade lonjakan atau Me-roll back upgrade blue-green.
Untuk melakukan roll back upgrade, jalankan perintah berikut:
gcloud container node-pools rollback NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION
Ganti kode berikut:
NODE_POOL_NAME: nama node pool yang upgrade node pool-nya akan di-roll back.CLUSTER_NAME: nama cluster yang upgrade node pool-nya akan di-roll backCONTROL_PLANE_LOCATION: lokasi (region atau zona) untuk bidang kontrol, sepertius-central1atauus-central1-a.
Silakan melihat dokumentasi
gcloud container node-pools rollback.
Menyelesaikan upgrade node pool
Jika menggunakan strategi upgrade blue-green, Anda dapat menyelesaikan upgrade node pool selama Fase perendaman, melewati sisa waktu perendamannya.
Untuk mempelajari cara menyelesaikan upgrade node pool, silakan melihat Menyelesaikan upgrade node pool.
Untuk menyelesaikan upgrade saat menggunakan strategi upgrade blue-green, jalankan perintah berikut:
gcloud container node-pools complete-upgrade NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION
Ganti kode berikut:
NODE_POOL_NAME: nama node pool yang ingin Anda selesaikan upgradenya.CLUSTER_NAME: nama cluster node pool yang ingin Anda selesaikan upgradenya.CONTROL_PLANE_LOCATION: lokasi (region atau zona) untuk bidang kontrol, sepertius-central1atauus-central1-a.
Silakan melihat dokumentasi
gcloud container node-pools complete-upgrade.
Masalah umum
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}'
Meskipun upgrade otomatis mungkin mengalami masalah, proses upgrade otomatis memaksa node untuk melakukan upgrade. Namun, upgrade memerlukan waktu tambahan untuk setiap node dalam namespace istio-system yang melanggar PodDisruptionBudget.
Pemecahan masalah
Untuk mengetahui informasi tentang pemecahan masalah, lihat Memecahkan masalah upgrade cluster.
Langkah berikutnya
- Pelajari Arsitektur cluster.
- Pelajari Saluran rilis.