Jika Anda mengalami masalah saat mengupdate GKE di VMware, bagian berikut dapat membantu Anda memecahkan masalah tersebut. Untuk mengetahui informasi selengkapnya tentang setelan yang dapat diperbarui, lihat Hal yang dapat dan tidak dapat diperbarui dalam cluster.
Jika Anda memerlukan bantuan tambahan, hubungi Dukungan Google.
Waktu tunggu pembaruan habis
Waktu tunggu update dihitung secara dinamis berdasarkan resource yang akan diupdate. Namun, penghitungannya tidak selalu akurat. Saat waktu update habis, error yang mirip dengan berikut ini akan ditampilkan:
Di cluster pengguna:
Failed to update the cluster:...timed out waiting for the condition...
Di cluster admin:
Failed to update the admin cluster:...timed out waiting for the condition...
Error waktu tunggu semacam ini dapat diabaikan dengan aman dan Anda dapat mencoba lagi perintah update. Jika Anda mencoba lagi perintah tersebut dan waktu habis lagi dengan pesan error yang sama, hubungi Dukungan Google.
Update berisi beberapa perubahan
Perintah gkectl update admin
dan gkectl update cluster
tidak mengizinkan pembaruan beberapa setelan dalam satu perintah. Saat konfigurasi berisi operasi diff dengan beberapa setelan yang diubah, dan error yang mirip dengan contoh berikut akan ditampilkan:
Update summary for cluster X:
antiAffinityGroups: enabled to be set to true from false &config.AAGSpec{
- Enabled: false,
+ Enabled: true,
}
user master cpu to be set to 5 from 4 config.NodePoolProps{
Role: "master",
MachineType: "standard-master",
- CPUs: 4,
+ CPUs: 5,
MemoryMB: 8192,
Replicas: 3,
... // 2 identical fields
Labels: nil,
NodeTaints: nil,
- Vsphere: nil,
&config.NodePoolVsphereSpec{Datastore: "lifecycle-workloads1-datastore1"},
+ Vsphere: nil,
BootDiskSizeGB: nil,
OSImageType: "",
... // 5 identical fields
}
Exit with error:
Failed to update the cluster: the update contains multiple changes. Please
update only one feature at a time
Error ini dapat terjadi karena berbagai alasan, termasuk:
- Kesalahan atau kesalahan konfigurasi.
- Anda telah menjalankan
gkectl upgrade
sebelumnya dengan perbedaan konfigurasi, dan mengharapkan perubahan akan diterapkan.gkectl upgrade
tidak menerapkan perbedaan konfigurasi apa pun kecuali penambahan versi.
- Anda telah mengedit konfigurasi untuk update fitur lainnya sebelumnya, tetapi lupa
menjalankan perintah
gkectl update
.
Jika Anda mengalami perilaku ini, tinjau perbedaannya dalam pesan error dan perbarui
setelan yang diperlukan satu per satu dengan beberapa perintah gkectl update
. Untuk membantu
mengidentifikasi perubahan, Anda dapat menggunakan gkectl get-config
untuk
membuat file konfigurasi dari cluster
serta melihat status dan konfigurasi yang ada.
Perubahan yang tidak didukung
Perintah gkectl update cluster
dan gkectl update admin
mengabaikan
perubahan yang tidak didukung, dan menampilkan pesan error yang mirip dengan contoh
berikut:
detected unsupported changes: (-current +desired)
...
- AdvancedNetworking: &true,
+ AdvancedNetworking: &false,
...
, which will be ignored
Jika Anda menemukan perilaku ini, tinjau perbedaan dalam pesan error dan lakukan tindakan berikut:
- Jika perubahan tersebut tidak diinginkan, edit file YAML konfigurasi dan perbarui hanya dengan perubahan yang diinginkan dan benar.
- Pada contoh sebelumnya, jika Anda tidak ingin menonaktifkan
AdvancedNetworking
, tetapkanadvancedNetworking: true
dalam file YAML konfigurasi.
- Pada contoh sebelumnya, jika Anda tidak ingin menonaktifkan
- Jika perubahan tersebut dimaksudkan, error tersebut menunjukkan bahwa perubahan tidak
didukung. Lakukan salah satu tindakan berikut:
- Buat ulang cluster jika perlu.
- Hubungi Dukungan Google.
OS image tidak ada
Perintah gkectl update cluster
dan gkectl update admin
mungkin gagal dengan
kegagalan pemeriksaan preflight OS Images
mirip dengan contoh berikut:
Di cluster pengguna:
- Validation Category: OS Images - [FAILURE] User cluster OS images exist: os images [xxxx] don't exist, please run `gkectl prepare` to upload os images.
Di cluster admin:
- Validation Category: OS Images - [FAILURE] Admin cluster OS images exist: os images [xxxx] don't exist, please run `gkectl prepare` to upload os images.
Error ini dapat terjadi jika OS image tiba-tiba dihapus di lingkungan vCenter Anda, misalnya oleh tugas pembersihan berkala.
Untuk mengimpor ulang OS image, jalankan perintah gkectl prepare
.
Untuk mengetahui informasi selengkapnya dan perintah gkectl prepare
lengkap, lihat cara
mengimpor OS image ke vSphere.
Ruang kosong datastore tidak cukup untuk kumpulan node baru
Saat Anda menambahkan kumpulan node baru, perintah gkectl update cluster
mungkin gagal dengan
error pemeriksaan preflight VSphere Datastore FreeSpace
seperti contoh
berikut:
- [FAILURE] VSphere Datastore FreeSpace: vCenter datastore: xxxx insufficient
FreeSpace, requires at least xxx GB
Kegagalan ini menunjukkan bahwa datastore tidak memiliki ruang kosong yang cukup untuk menjalankan kumpulan node baru. Gunakan salah satu opsi berikut yang akan membantu memberikan ruang agar operasi berhasil:
- Kosongkan ruang penyimpanan dari datastore.
- Konfigurasi datastore
nodePools[].vsphere.datastore
yang berbeda untuk kumpulan node.
Langkah selanjutnya
Jika Anda memerlukan bantuan tambahan, hubungi Dukungan Google.