Saat Anda mencoba mengubah cluster Google Kubernetes Engine (GKE) atau node pool-nya, tindakan Anda mungkin diblokir sementara karena operasi lain sedang berjalan. Masalah ini dapat menunda update penting, administrasi cluster, dan deployment aplikasi.
Gunakan halaman ini untuk mempelajari cara mengidentifikasi operasi yang sedang berjalan. Memahami operasi aktif membantu Anda memperkirakan penundaan dan menentukan kapan harus mencoba lagi tindakan Anda.
Informasi ini penting bagi Developer aplikasi, yang mungkin mengalami batasan ini saat men-deploy atau mengubah aplikasi, serta bagi Admin dan operator platform, yang mengelola keseluruhan siklus proses cluster, upgrade, dan perlu memecahkan masalah tugas administratif yang diblokir. Untuk mengetahui informasi selengkapnya tentang peran umum dan contoh tugas yang kami referensikan dalam Google Cloud konten, lihat Peran dan tugas pengguna GKE umum.
Memahami error operasi serentak
Di GKE, operasi cluster adalah tindakan yang mengubah status bidang kontrol cluster atau node pool-nya. Operasi ini dikelola oleh GKE dan dapat dimulai oleh Anda atau oleh GKE untuk tujuan pemeliharaan. Operasi cluster umum mencakup hal berikut:
- Membuat atau menghapus cluster.
- Mengupgrade versi bidang kontrol cluster.
- Membuat, mengupdate, mengubah ukuran, atau menghapus node pool.
- Mengubah setelan tingkat cluster, seperti mengaktifkan atau menonaktifkan fitur.
- Perbaikan bidang kontrol otomatis yang dimulai oleh GKE.
Saat melakukan operasi pada cluster, Anda mungkin melihat pesan error yang mirip dengan berikut ini:
Cluster is running incompatible operation OPERATION_NAME
Cluster is currently being created, deleted, updated or repaired and cannot be updated
Operation OPERATION_NAME is currently ACTIONING cluster CLUSTER_NAME. Please wait and try again once it is done
Error ini dapat mencakup nilai berikut:
OPERATION_NAME: ID unik untuk operasi yang sudah berjalan di cluster Anda. Gunakan nama ini untuk melacak status operasi yang sudah ada dan memblokir operasi baru Anda agar tidak dimulai.ACTIONING: tindakan yang sedang dilakukan pada cluster. Misalnya,CreatingatauUpdating.CLUSTER_NAME: nama cluster yang menjadi target operasi.
Error ini terjadi karena GKE membatasi jumlah operasi yang dapat berjalan secara bersamaan untuk mencegah konflik. Umumnya, GKE hanya mengizinkan satu operasi di tingkat cluster atau satu operasi per node pool untuk berjalan secara serentak. GKE juga melakukan tindakan otomatisnya sendiri, seperti upgrade bidang kontrol, yang dihitung dalam batas ini dan dapat memblokir Anda untuk sementara agar tidak memulai tugas baru.
Menyelesaikan error operasi serentak
Jika Anda menerima error yang menunjukkan bahwa operasi lain sedang berlangsung, identifikasi tugas yang sedang berlangsung dan tunggu hingga selesai:
Jika Anda tidak mengetahui nama operasi yang memblokir, cantumkan semua operasi yang sedang berlangsung dan tertunda untuk cluster Anda:
gcloud container operations list \ --location=LOCATION \ --filter '(targetLink~/clusters/CLUSTER_NAME$ OR targetLink~/clusters/CLUSTER_NAME/) AND status!=DONE' \ --format jsonGanti kode berikut:
LOCATION: region atau zona Compute Engine (misalnya,us-central1atauus-central1-a) untuk cluster, bergantung pada apakah cluster Anda bersifat regional atau zona.CLUSTER_NAME: nama cluster dengan operasi yang gagal.Outputnya mirip dengan hal berikut ini:
{ "name": "operation-0978307200000-00112233-4455-6677-8899-aabbccddeeff", "operationType": "UPDATE_CLUSTER", "selfLink": "https://container.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-0978307200000-00112233-4455-6677-8899-aabbccddeeff", "startTime": "2001-01-01T00:00:00.000000000Z", "status": "RUNNING", "targetLink": "https://container.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_NAME/nodePools/NODE_POOL_NAME", "zone": "LOCATION" }Dalam output, tinjau kolom
nameuntuk setiap operasi. Nilai ini adalah nama operasi yang memblokir operasi baru Anda agar tidak dimulai. Anda memerlukan nilai ini untuk langkah berikutnya.Untuk mengetahui informasi selengkapnya tentang kolom lain dalam output, lihat dokumentasi API untuk
projects.locations.operations.
Tunggu hingga operasi selesai:
gcloud container operations wait OPERATION_NAME \ --location=LOCATIONGanti
OPERATION_NAMEdengan nama operasi yang memblokir dari pesan error atau langkah sebelumnya.Perintah ini secara aktif memantau operasi dan keluar saat operasi selesai.
Setelah operasi pemblokiran memiliki status
DONE, coba lagi operasi yang menyebabkan error.
Langkah berikutnya
Jika Anda tidak dapat menemukan solusi untuk masalah Anda dalam dokumentasi, lihat Mendapatkan dukungan untuk mendapatkan bantuan lebih lanjut, termasuk saran tentang topik berikut:
- Membuka kasus dukungan dengan menghubungi Layanan Pelanggan Cloud.
- Mendapatkan dukungan dari komunitas dengan
mengajukan pertanyaan di StackOverflow
dan menggunakan tag
google-kubernetes-engineuntuk menelusuri masalah serupa. Anda juga dapat bergabung ke saluran Slack untuk mendapatkan dukungan komunitas lainnya.#kubernetes-engine - Membuka masalah atau permintaan fitur dengan menggunakan issue tracker publik.