Pastikan resource untuk upgrade node


Halaman ini menjelaskan cara memastikan bahwa Anda dapat menggunakan strategi upgrade node untuk melakukan perubahan pada node cluster Anda. Sebaiknya lakukan verifikasi apakah project Anda memiliki resource yang cukup untuk mengupdate node pool Standard Google Kubernetes Engine (GKE) bergantung pada strategi yang Anda pilih.

Resource yang diperlukan untuk upgrade node

Upgrade node mungkin memerlukan GKE untuk membuat node tambahan sementara, bergantung pada strategi dan konfigurasi node yang Anda pilih. Oleh karena itu, GKE mungkin memerlukan resource tambahan untuk mengupgrade node pool.

Semua node yang dibuat GKE, termasuk node yang digunakan untuk upgrade, bergantung pada kuota resource project Anda, ketersediaan resource, dan kapasitas reservasi, untuk kumpulan node dengan afinitas reservasi tertentu.

Sebaiknya pastikan Anda memiliki resource yang memadai jika 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 Melakukan upgrade di lingkungan yang terbatas resource.

Referensi 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 mengatasi error upgrade.

Referensi untuk upgrade lonjakan

Upgrade lonjakan adalah strategi upgrade node default. Saat upgrade lonjakan menciptakan VM tambahan—jika maxSurge ditetapkan ke lebih dari nol—sebelum menghabiskan 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 kurang dari maxSurge ditambah maxUnavailable. Jika Anda tidak memiliki kapasitas tambahan, lihat cara mengupgrade di lingkungan yang memiliki resource terbatas.

Tabel berikut menjelaskan contoh untuk menunjukkan berbagai perilaku upgrade:

Setelan Upgrade Jumlah node tambahan yang diizinkan oleh 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 Upgrade hanya 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 kumpulan node untuk sementara, yang berarti kumpulan node Anda untuk sementara membutuhkan resource dua kali lebih banyak. Jika Anda tidak memiliki cukup resource yang tersedia dan mengonfigurasi node pool untuk menggunakan strategi ini, konfigurasikan upgrade lonjakan jika Anda perlu berhenti memblokir upgrade. Saat mengonfigurasi strategi ini, pastikan Anda mengonfigurasi parameter upgrade lonjakan yang akan berfungsi dengan resource yang tersedia untuk node kumpulan node. Untuk mempelajari lebih lanjut, lihat bagian sebelumnya, Referensi untuk upgrade lonjakan.

Memeriksa kegagalan terkait resource pada operasi upgrade

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 project Google Cloud 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 penyebabnya adalah kapasitas tidak mencukupi, Anda akan melihat pesan error ketersediaan resource.

Mengatasi error upgrade

Jika upgrade Anda gagal karena resource tidak mencukupi, coba langkah-langkah berikut:

  1. Pertimbangkan strategi upgrade yang tidak terlalu memerlukan sumber daya. Jika Anda menggunakan upgrade berwarna biru-hijau, pertimbangkan upgrade lonjakan.
  2. Periksa apakah ada resource Compute Engine di project Anda yang memakai resource dan tidak lagi diperlukan. Jika Anda menemukannya, hapus dan coba upgrade lagi.
  3. Jika dua langkah pertama tidak dapat berhenti memblokir upgrade Anda, minta penambahan kuota atau tingkatkan ukuran reservasi tertentu.
  4. Jika Anda beroperasi di lingkungan resource yang terbatas dengan, misalnya, persyaratan jenis mesin khusus dan batasan kapasitas, lihat bagian berikutnya untuk mengetahui langkah-langkah berhenti memblokir upgrade.

Mengupgrade di lingkungan yang memiliki resource terbatas

Jika Google Cloud memiliki kapasitas terbatas untuk resource tertentu (misalnya GPU, atau TPU) yang digunakan 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 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 blue-green. Untuk upgrade lonjakan, maxSurge memerlukan node tambahan. Dengan maxUnavailable, jika kapasitas bukan berasal dari reservasi, GKE akan melepaskan kapasitas node untuk sementara saat mengupgradenya. Artinya, jika kapasitasnya terbatas, Anda berisiko kehilangan kapasitas.

Gunakan panduan berikut, bergantung pada apakah Anda memiliki reservasi untuk kumpulan node yang perlu diupgrade.

Upgrade dengan kapasitas terbatas tanpa reservasi

Jika Anda tidak memiliki reservasi untuk node kumpulan node, sebaiknya buat reservasi. Namun, jika 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 akan membuat node lonjakan jika kapasitas tersedia. Jadi, jika tidak ada kapasitas yang tersedia, upgrade mungkin memerlukan waktu lebih lama dan kumpulan node Anda dapat tetap dalam status diupgrade sebagian hingga kapasitas diamankan untuk mengupgrade setiap node.

Sebaiknya buat reservasi atau tingkatkan ukuran reservasi yang ada.

Upgrade dengan kapasitas terbatas dengan reservasi

Jika memiliki reservasi untuk node kumpulan node, Anda dapat mengupgrade kumpulan node di lingkungan yang kapasitasnya terbatas, menyesuaikan setelan upgrade lonjakan untuk kecepatan dan keandalan.

Jika memiliki kapasitas tambahan di reservasi, Anda dapat menggunakan maxSurge untuk membuat node lonjakan. Tetapkan maxSurge, bergantung pada jumlah node yang ingin Anda ganggu pada satu waktu, dan jumlah kapasitas tambahan yang Anda miliki. Misalnya, tetapkan maxSurge=1;maxUnavailable=0 jika Anda hanya ingin mengganggu satu node pada 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 kapasitas telah dicadangkan. Konfigurasi ini mengganggu satu node pada satu waktu, sehingga membuat ulang node untuk mengupdatenya.

Langkah selanjutnya