Memastikan resource untuk upgrade node


Halaman ini menjelaskan cara memastikan bahwa Anda dapat menggunakan strategi upgrade node untuk membuat perubahan pada node cluster. Sebaiknya verifikasi apakah project Anda memiliki resource yang memadai untuk mengupdate node pool Google Kubernetes Engine (GKE) Standard, 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 pemesanan tertentu.

Sebaiknya pastikan Anda memiliki resource yang memadai jika memiliki persyaratan jenis mesin dan batasan kapasitas khusus. Anda mungkin perlu mengonfigurasi strategi yang memerlukan lebih sedikit resource untuk memastikan bahwa Anda dapat mengupgrade node, atau mengambil tindakan lain seperti membuat reservasi. Untuk mempelajari lebih lanjut, lihat Mengupgrade di lingkungan yang memiliki 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.

Referensi untuk upgrade lonjakan

Upgrade lonjakan adalah strategi upgrade node default. Karena upgrade lonjakan membuat 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 di maxSurge, jumlah upgrade paralel akan kurang dari maxSurge ditambah maxUnavailable. Jika Anda tidak memiliki kapasitas tambahan, lihat cara mengupgrade di lingkungan yang kekurangan 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 mengupgrade secara 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 dengan metode upgrade berkelanjutan.

Referensi untuk upgrade blue-green

Upgrade blue-green menggandakan jumlah node dalam node pool untuk sementara, yang berarti node pool Anda untuk sementara memerlukan resource dua kali lipat. Jika Anda tidak memiliki resource yang memadai dan telah mengonfigurasi node pool untuk menggunakan strategi ini, konfigurasi upgrade lonjakan 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 node pool. Untuk mempelajari lebih lanjut, lihat bagian sebelumnya, Referensi 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 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 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:

  1. Pertimbangkan strategi upgrade yang tidak terlalu banyak menggunakan resource. Jika Anda menggunakan upgrade blue-green, pertimbangkan upgrade lonjakan.
  2. Periksa apakah ada resource Compute Engine di project Anda yang menggunakan resource dan tidak lagi diperlukan. Jika Anda menemukannya, hapus dan coba upgrade lagi.
  3. Jika dua langkah pertama tidak dapat berhenti memblokir upgrade, minta penambahan kuota atau perbesar ukuran pemesanan tertentu.
  4. Jika Anda beroperasi di lingkungan yang memiliki keterbatasan resource, misalnya, persyaratan jenis mesin khusus dan batasan kapasitas, lihat bagian berikut untuk mengetahui langkah-langkah membatalkan pemblokiran upgrade.

Mengupgrade di lingkungan yang memiliki keterbatasan resource

Jika Google Cloud memiliki kapasitas terbatas untuk resource tertentu (misalnya, GPU, atau TPU) yang digunakan kumpulan node Anda, sebaiknya gunakan reservasi untuk memastikan bahwa Anda memiliki resource yang memadai. Jika tidak memiliki resource yang memadai, Anda mungkin tidak dapat mengupgrade node hingga dapat mengakses lebih banyak kapasitas, jika Anda tidak memiliki reservasi untuk kapasitas yang ada.

Jika tidak dapat mendapatkan kapasitas tambahan, Anda tidak dapat menggunakan upgrade blue-green. Untuk upgrade lonjakan, maxSurge memerlukan node tambahan. Dengan, maxUnavailable, jika kapasitas bukan dari reservasi, GKE akan sementara melepaskan kapasitas node saat mengupgradenya, yang berarti jika ada kapasitas terbatas, Anda berisiko kehilangan kapasitas.

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

Upgrade dengan kapasitas terbatas tanpa reservasi

Jika Anda tidak memiliki reservasi untuk node 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 yang lebih lama dan node pool Anda dapat tetap dalam status diupgrade sebagian hingga kapasitas tersedia untuk mengupgrade setiap node.

Sebaiknya buat reservasi atau tingkatkan ukuran reservasi yang ada.

Upgrade dengan kapasitas terbatas dengan reservasi

Jika memiliki reservasi untuk node node pool, Anda dapat mengupgrade node pool di lingkungan yang dibatasi kapasitas, dengan 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 gangguan sekaligus, dan jumlah 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 disediakan. Konfigurasi ini mengganggu satu node pada satu waktu, membuat ulang node untuk memperbaruinya.

Langkah selanjutnya