Memecahkan masalah update Google Distributed Cloud

Jika Anda mengalami masalah saat mengupdate Google Distributed Cloud, bagian berikut mungkin dapat membantu Anda memecahkan masalah tersebut. Untuk mengetahui informasi selengkapnya tentang setelan yang dapat diperbarui, lihat Yang dapat dan tidak dapat diperbarui di cluster.

Jika Anda memerlukan bantuan tambahan, hubungi Cloud Customer Care.

Waktu tunggu update

Waktu tunggu update dihitung secara dinamis berdasarkan resource yang akan diupdate. Namun, penghitungannya tidak selalu akurat. Jika waktu tunggu update habis, error yang mirip dengan yang 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...
    

Jenis error waktu tunggu ini dapat diabaikan dengan aman dan Anda dapat mencoba lagi perintah update. Jika Anda mencoba kembali perintah dan waktu tunggunya habis lagi dengan pesan error yang sama, hubungi Cloud Customer Care.

Update berisi beberapa perubahan

Perintah gkectl update admin dan gkectl update cluster tidak mengizinkan pembaruan beberapa setelan dalam satu perintah. Jika konfigurasi berisi perbedaan dengan beberapa setelan yang diubah, dan error yang mirip dengan contoh berikut 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 diterapkan.
    • gkectl upgrade tidak menerapkan perbedaan konfigurasi apa pun kecuali peningkatan versi.
  • Anda telah mengedit konfigurasi untuk update fitur lain sebelumnya, tetapi lupa menjalankan perintah gkectl update.

Jika Anda mengalami perilaku ini, tinjau perbedaan 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 dan 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 mengalami perilaku ini, tinjau perbedaan dalam pesan error dan lakukan tindakan berikut:

  • Jika perubahan tidak disengaja, edit file YAML konfigurasi dan perbarui hanya dengan perubahan yang benar dan diinginkan.
    • Pada contoh sebelumnya, jika Anda tidak ingin menonaktifkan AdvancedNetworking, tetapkan advancedNetworking: true dalam file YAML konfigurasi.
  • Jika perubahan tersebut memang diinginkan, error akan menunjukkan bahwa perubahan tersebut tidak didukung. Lakukan salah satu tindakan berikut:

OS image tidak ada

Perintah gkectl update cluster dan gkectl update admin mungkin gagal dengan kegagalan pemeriksaan pra-penerbangan OS Images yang 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 image OS dihapus secara tidak terduga di lingkungan vCenter Anda, seperti oleh tugas pembersihan berkala.

Untuk mengimpor ulang image OS impor, jalankan perintah gkectl prepare, seperti berikut:

gkectl prepare \
    --bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --skip-upload-container-images

Tidak cukup ruang kosong datastore untuk node pool baru

Saat Anda menambahkan node pool baru, perintah gkectl update cluster mungkin gagal dengan error pemeriksaan pra-penerbangan VSphere Datastore FreeSpace yang mirip dengan 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 memadai untuk menjalankan node pool baru. Gunakan salah satu opsi berikut untuk membantu menyediakan ruang agar operasi berhasil:

  • Kosongkan ruang penyimpanan dari datastore.
  • Konfigurasikan datastore nodePools[].vsphere.datastore yang berbeda untuk node pool.

Langkah selanjutnya

Jika Anda memerlukan bantuan tambahan, hubungi Cloud Customer Care.