Halaman ini menjelaskan cara memastikan Anda dapat menggunakan strategi upgrade node untuk membuat perubahan pada node cluster Anda. Sebaiknya verifikasi apakah project Anda memiliki cukup resource untuk mengupdate node pool Standard Google Kubernetes Engine (GKE) Anda, bergantung pada strategi yang Anda pilih.
Resource yang diperlukan untuk upgrade node
Upgrade node mungkin mengharuskan GKE membuat node tambahan untuk sementara, bergantung pada strategi dan konfigurasi node yang Anda pilih. Oleh karena itu, GKE mungkin memerlukan resource tambahan untuk upgrade node pool.
Semua node yang dibuat GKE, termasuk node yang digunakan untuk upgrade, tunduk pada kuota resource project Anda, ketersediaan resource, dan kapasitas reservasi, untuk node pool dengan afinitas reservasi tertentu.
Sebaiknya verifikasi bahwa Anda memiliki resource yang memadai jika Anda memiliki persyaratan jenis mesin khusus dan batasan kapasitas. Anda mungkin perlu mengonfigurasi strategi yang memerlukan lebih sedikit resource untuk memastikan Anda dapat mengupgrade node, atau melakukan tindakan lain seperti membuat reservasi. Untuk mempelajari lebih lanjut, lihat Upgrade di lingkungan dengan keterbatasan resource.
Resource yang diperlukan untuk berbagai strategi upgrade
Bagian berikut menjelaskan resource tambahan yang diperlukan untuk menggunakan strategi upgrade yang tersedia. Jika Anda mengalami masalah upgrade, periksa operasi upgrade dan ikuti petunjuk untuk menyelesaikan error upgrade.
Resource untuk upgrade lonjakan
Upgrade lonjakan adalah strategi upgrade node default. Karena upgrade lonjakan
membuat VM tambahan—jika maxSurge
ditetapkan ke lebih dari nol—sebelum menguras dan
menghapus node lama, upgrade dapat gagal jika project Anda tidak memiliki cukup
resource.
Jika resource yang tersedia kurang dari jumlah node yang ditentukan dalam
maxSurge
, jumlah upgrade paralel akan kurang dari maxSurge
ditambah
maxUnavailable
. Jika Anda tidak memiliki kapasitas tambahan, lihat cara mengupgrade di
lingkungan dengan keterbatasan resource.
Tabel berikut menjelaskan contoh untuk menunjukkan berbagai perilaku upgrade:
Setelan Upgrade | Jumlah node tambahan yang diizinkan berdasarkan resource yang tersedia | Hasil |
---|---|---|
maxSurge: 5 maxUnavailable: 0 | 5 | Mengupgrade 5 node secara paralel. |
maxSurge: 5 maxUnavailable: 0 | 2 | Hanya mengupgrade 2 node secara paralel. |
maxSurge: 5 maxUnavailable: 0 | 0 | Upgrade gagal, karena node tambahan tidak dapat dimunculkan dan memulai ulang node yang sudah ada dilarang oleh setelan upgrade. GKE akan terus mencoba melakukan upgrade otomatis hingga operasi berhasil. |
maxSurge: 5 maxUnavailable: 1 | 5 | Mengupgrade 6 node secara paralel, sekaligus memastikan node pool hanya kehilangan satu node karena upgrade. |
maxSurge: 5 maxUnavailable: 1 | 2 | Hanya mengupgrade 3 node secara paralel, sekaligus memastikan node pool tidak kekurangan lebih dari satu node karena upgrade. |
maxSurge: 5 maxUnavailable: 1 | 0 | Hanya mengupgrade 1 node pada satu waktu dengan membuat ulang setiap node menggunakan metode upgrade berkelanjutan. |
Referensi untuk upgrade blue-green
Upgrade blue-green menggandakan jumlah node dalam node pool untuk sementara, yang berarti node pool Anda memerlukan dua kali lipat jumlah resource untuk sementara. Jika Anda tidak memiliki cukup banyak resource yang tersedia dan Anda mengonfigurasi node pool untuk menggunakan strategi ini, konfigurasi upgrade lonjakan sebagai gantinya jika Anda perlu membatalkan pemblokiran upgrade. Saat mengonfigurasi strategi ini, pastikan Anda mengonfigurasi parameter upgrade lonjakan yang akan berfungsi dengan resource yang tersedia untuk node pool. Untuk mempelajari lebih lanjut, lihat bagian sebelumnya, Sumber daya untuk upgrade lonjakan.
Memeriksa operasi upgrade untuk mengetahui kegagalan terkait resource
Anda dapat menemukan informasi selengkapnya tentang operasi upgrade serta informasi tentang kegagalan upgrade dengan memeriksa objek operasi upgrade Anda. Untuk menampilkan daftar objek operasi upgrade, jalankan perintah berikut:
gcloud container operations list \
--filter="STATUS=DONE AND TYPE=UPGRADE_NODES AND targetLink:https://container.googleapis.com/v1/projects/PROJECT_ID/zones/COMPUTE_ZONE/clusters/CLUSTER_NAME"
Ganti kode berikut:
PROJECT_ID
: ID Google Cloud project Anda.COMPUTE_ZONE
: zona Compute Engine untuk cluster Anda.CLUSTER_NAME
: nama cluster Anda.
Jika upgrade terbaru Anda gagal karena kuota resource tidak mencukupi, outputnya akan seperti berikut ini:
gcloud container operations describe operation-1234567891234-1abc2d3e
detail: "Insufficient quota to satisfy the request: waiting on IG: instance https://www.googleapis.com/compute/v1/projects/my-project-123/zones/us-central1-a/instances/gke-my-cluster-default-pool-123ab45c-de67\
\ is still CREATING. Last attempt errors: [QUOTA_EXCEEDED] Instance 'gke-my-cluster-default-pool-123ab45c-de67'\
\ creation failed: Quota 'IN_USE_ADDRESSES' exceeded. Limit: 50.0 in region us-central1.\
...
Jika alasannya adalah karena pemesanan yang tidak memadai, output-nya akan seperti berikut:
gcloud container operations describe operation-1234567891234-1abc2d3e
detail: "Reservation does not have enough resources for the request: waiting on IG:\
\ instance https://www.googleapis.com/compute/v1/projects/my-project-123/zones/us-central1-a/instances/gke-my-cluster-default-pool-123ab45c-de67\
\ is still CREATING. Last attempt error: [CONDITION_NOT_MET] Instance 'gke-my-cluster-default-pool-123ab45c-de67'\
\ creation failed: Specified reservation 'foo' does not have available resources\
\ for the request."
Jika alasannya adalah karena kapasitas tidak memadai, Anda akan melihat pesan error ketersediaan resource.
Mengatasi error upgrade
Jika upgrade Anda gagal karena resource tidak mencukupi, coba langkah-langkah berikut:
- Pertimbangkan strategi upgrade yang tidak terlalu membebani resource. Jika Anda menggunakan upgrade blue-green, pertimbangkan upgrade lonjakan.
- Periksa apakah ada resource Compute Engine di project Anda yang memakai resource dan tidak lagi diperlukan. Jika Anda menemukannya, hapus dan coba upgrade lagi.
- Jika dua langkah pertama tidak dapat menghentikan pemblokiran upgrade, minta penambahan kuota atau perbesar ukuran pemesanan tertentu.
- Jika Anda beroperasi di lingkungan dengan keterbatasan resource, misalnya, dengan persyaratan jenis mesin khusus dan batasan kapasitas, lihat bagian berikutnya untuk mengetahui langkah-langkah membatalkan pemblokiran upgrade.
Upgrade di lingkungan dengan sumber daya terbatas
Jika Google Cloud memiliki kapasitas terbatas untuk resource tertentu (misalnya, GPU, atau TPU) yang digunakan oleh kumpulan node Anda, sebaiknya gunakan reservasi untuk memastikan Anda memiliki resource yang memadai. Jika tidak memiliki resource yang memadai, Anda mungkin tidak dapat mengupgrade node hingga Anda dapat mengakses kapasitas yang lebih besar, jika Anda tidak memiliki reservasi untuk kapasitas yang ada.
Jika tidak bisa mendapatkan kapasitas tambahan, Anda tidak dapat menggunakan upgrade biru-hijau. Untuk upgrade lonjakan,
maxSurge
memerlukan node tambahan. Dengan,
maxUnavailable
,
jika kapasitas bukan dari reservasi, GKE akan melepaskan kapasitas node untuk sementara saat mengupgradenya, yang berarti jika kapasitas terbatas, Anda berisiko kehilangan kapasitas tersebut.
Gunakan panduan berikut, bergantung pada apakah Anda memiliki reservasi untuk node pool yang perlu diupgrade.
Melakukan upgrade dengan kapasitas terbatas tanpa reservasi
Jika Anda tidak memiliki reservasi untuk node di kumpulan node, sebaiknya buat reservasi. Namun, jika Anda tidak dapat melakukannya, sebaiknya gunakan upgrade lonjakan dengan konfigurasi default maxSurge=1;maxUnavailable=0
. Dengan konfigurasi ini, Anda tidak berisiko kehilangan kapasitas yang ada. Namun, upgrade lonjakan hanya membuat node lonjakan jika kapasitas tersedia. Jadi, jika tidak ada kapasitas yang tersedia, upgrade mungkin memerlukan
waktu lebih lama dan node pool Anda dapat tetap dalam status diupgrade sebagian hingga
kapasitas diamankan untuk mengupgrade setiap node.
Sebaiknya buat reservasi atau tambah ukuran reservasi yang ada.
Melakukan upgrade dengan kapasitas terbatas dengan pemesanan
Jika memiliki reservasi untuk node pool, Anda dapat mengupgrade node pool di lingkungan dengan keterbatasan kapasitas, menyesuaikan setelan upgrade lonjakan untuk kecepatan dan keandalan.
Jika memiliki kapasitas tambahan dalam reservasi, Anda dapat menggunakan maxSurge
untuk
membuat node lonjakan. Tetapkan maxSurge
bergantung pada jumlah node yang ingin Anda
ganggu sekaligus, dan seberapa besar kapasitas tambahan yang Anda miliki. Misalnya, tetapkan
maxSurge=1;maxUnavailable=0
jika Anda hanya ingin mengganggu satu node dalam satu waktu, atau
jika Anda hanya memiliki kapasitas untuk membuat satu node tambahan.
Jika tidak memiliki kapasitas tambahan, Anda dapat menggunakan maxUnavailable
dengan
konfigurasi seperti maxSurge=0;maxUnavailable=1
, karena kapasitasnya
dicadangkan. Konfigurasi ini mengganggu satu node dalam satu waktu, membuat ulang node untuk memperbaruinya.
Langkah berikutnya
- Pelajari Strategi upgrade node
- Pelajari kuota resource
- Pelajari cara menggunakan pemesanan