Masalah umum GKE

Halaman ini mencantumkan masalah umum GKE. Halaman ini ditujukan bagi Admin dan arsitek yang mengelola siklus proses infrastruktur teknologi yang mendasarinya, serta merespons pemberitahuan dan halaman saat tujuan tingkat layanan (SLO) tidak terpenuhi atau aplikasi gagal.

Halaman ini mencantumkan masalah umum untuk semua versi yang didukung dan untuk dua versi minor yang langsung mendahului versi paling awal dalam dukungan yang diperpanjang. Setelah versi mencapai akhir dukungan yang diperpanjang, semua masalah N-2 akan dihapus. Misalnya, saat versi 1.30 mencapai akhir dukungan yang diperpanjang, masalah umum khusus untuk versi 1.28 dan yang lebih lama akan dihapus.

Jika Anda adalah bagian dari Program Developer Google, simpan halaman ini untuk menerima notifikasi saat catatan rilis yang terkait dengan halaman ini dipublikasikan. Untuk mempelajari lebih lanjut, lihat Halaman Tersimpan.

Untuk memfilter masalah umum menurut versi atau kategori produk, pilih filter Anda dari menu drop-down berikut.

Pilih versi GKE Anda:

Pilih kategori masalah Anda:

Atau, telusuri masalah Anda:

Kategori Versi yang diidentifikasi Versi tetap Masalah dan solusi
Operasi 1.33 versi sebelum 1.33.4-gke.1036000 1.33.4-gke.1036000 dan yang lebih baru

Tingkat performa yang salah untuk instance Lustre yang disediakan secara dinamis

Saat menyediakan instance Lustre secara dinamis, pembuatan instance akan gagal dengan error InvalidArgument untuk PerUnitStorageThroughput, terlepas dari nilai perUnitStorageThroughput yang ditentukan dalam permintaan API.

Solusi:

Upgrade cluster GKE ke versi 1.33.4-gke.1036000 atau yang lebih baru. Jika menggunakan channel Stabil, versi yang lebih baru mungkin belum tersedia. Dalam hal ini, Anda dapat memilih versi secara manual dari saluran Reguler atau Cepat yang menyertakan perbaikan.

Operasi
  • 1.32.3-gke.1099000 dan yang lebih baru
  • 1.33
1.33.3-gke.1266000 dan yang lebih baru

Error input/output saat mengganti nama atau memindahkan file menggunakan driver CSI Cloud Storage FUSE

Saat menggunakan driver CSI Cloud Storage FUSE versi yang terpengaruh, mengganti nama atau memindahkan file di bucket Cloud Storage mungkin gagal dengan error I/O.

Solusi:

Tambahkan definisi image sidecar tertentu ke manifes Pod Anda untuk sementara. Di bagian spec.containers pada manifes Pod, tambahkan definisi penampung berikut dengan image: gcr.io/gke-release/gcs-fuse-csi-driver-sidecar-mounter:v1.8.9-gke.2.

    # Add the following block to use the fixed sidecar image
    - name: gke-gcsfuse-sidecar
      image: gcr.io/gke-release/gcs-fuse-csi-driver-sidecar-mounter:v1.8.9-gke.2
    

Untuk mengetahui informasi selengkapnya, lihat manifes Pod di Mengonfigurasi image pribadi untuk container sidecar.

Setelah mengupgrade cluster ke versi GKE tetap atau yang lebih baru, Anda harus menghapus seluruh blok gke-gcsfuse-sidecar dari manifes. Setelah menghapus blok ini, GKE akan melanjutkan penyuntikan dan pengelolaan image sidecar yang benar secara otomatis untuk versi cluster yang diupgrade.

Logging dan pemantauan Semua versi Ditentukan Nanti

Kondisi race di DaemonSet gke-metrics-agent

Saat Anda menambahkan label cloud.google.com/gke-metrics-agent-scaling-level ke node pool untuk meningkatkan alokasi memori DaemonSet gke-metrics-agent secara manual, kondisi persaingan terjadi di DaemonSet selama pembuatan node baru. Kondisi persaingan ini menyebabkan mulai ulang secara berkala dan dapat mengakibatkan hilangnya metrik.

Masalah ini terjadi karena ada penundaan sebelum label ditambahkan ke node baru di node pool. Selama penundaan ini, DaemonSet membuat Pod dengan alokasi memori asli di node tersebut. Setelah label diterapkan, DaemonSet membuat Pod yang memiliki alokasi memori baru. Pod yang ada tidak sepenuhnya dihapus saat Pod yang diupdate dimulai. Kedua Pod ini mencoba mengikat ke nomor port yang sama.

Solusi:

Setelah menambahkan label cloud.google.com/gke-metrics-agent-scaling-level ke node pool, mulai ulang DaemonSet gke-metrics-agent:

kubectl -n kube-system rollout restart daemonset gke-metrics-agent
Upgrade 1.33 1.33.2-gke.1043000

Membatasi jumlah file terbuka dengan containerd 2.0

Untuk node pool yang menjalankan GKE versi 1.33, yang menggunakan containerd 2.0, batas lunak default untuk file terbuka (ulimit -n) untuk container diturunkan menjadi 1024.

Ini adalah perubahan pada containerd itu sendiri (lihat containerd PR #8924) yang menghapus LimitNOFILE dari containerd.service sebagai praktik terbaik, sehingga batas lunak sistem default diterapkan.

Workload yang mengharapkan batas sementara default yang lebih tinggi (misalnya, yang secara implisit mengandalkan default yang lebih tinggi sebelumnya) mungkin mengalami kegagalan, seperti error Too many open files.

Solusi:

Upgrade dari versi patch 1.33 yang lebih lama ke 1.33.2-gke.1043000 atau yang lebih baru.

Solusi:

Tingkatkan batas file terbuka untuk workload Anda menggunakan salah satu metode berikut:

  • Penyesuaian Tingkat Aplikasi: Ubah kode atau konfigurasi aplikasi untuk menetapkan ulimit -n atau prlimit --nofile=524288 secara eksplisit.
  • Plugin Penyesuai Ulimit NRI Containerd Gunakan plugin containerd/nri ulimit-adjuster untuk menyesuaikan ulimit.
  • Melakukan downgrade node pool (khusus Standard): Untuk cluster GKE Standard, Anda dapat melakukan downgrade node pool ke versi 1.32 untuk sementara guna menghindari masalah ini hingga solusi permanen tersedia.
Untuk mengetahui informasi selengkapnya tentang migrasi ke containerd 2, lihat Memigrasikan node ke containerd 2.
Upgrade 1.31.5-gke.1169000, 1.32.1-gke.1376000 1.31.7-gke.1164000, 1.32.3-gke.1512000

Status CRD.storedVersions tidak valid untuk CRD terkelola

Beberapa CRD yang dikelola GKE mungkin memiliki kolom status.storedVersions yang tidak valid, yang menimbulkan risiko terganggunya akses ke objek CRD setelah upgrade.

Masalah ini memengaruhi cluster yang memenuhi kedua hal berikut:

  • Cluster yang menggunakan versi GKE yang terpengaruh pada suatu waktu.
  • Cluster yang memiliki versi objek CRD (served=false) yang tidak didukung yang disimpan di etcd.

Solusi:

Solusi yang direkomendasikan adalah menunda upgrade cluster hingga masalah tersebut teratasi.

Atau, jika Anda mengetahui bahwa cluster Anda berisi objek CRD versi yang tidak didukung, Anda dapat menambahkan versi ini ke kolom status.storedVersions menggunakan perintah kubectl patch.

Operasi, logging, dan pemantauan 1.32.2-gke.1652000, 1.31.6-gke.1221000, 1.30.10-gke.1227000
  • 1.32.2-gke.1652003 atau yang lebih baru
  • 1.31.6-gke.1221001 atau yang lebih baru
  • 1.30.10-gke.1227001 atau yang lebih baru

Metrik tidak ada atau penskalaan otomatis beban kerja tidak berfungsi

Anda mungkin melihat kesenjangan dalam data metrik pada versi yang terpengaruh setelah ukuran cluster bertambah lebih dari lima node. Masalah ini juga dapat memengaruhi operasi penskalaan otomatis.

Masalah ini hanya memengaruhi cluster yang diupgrade ke versi yang terpengaruh. Cluster yang baru dibuat akan berfungsi seperti yang diharapkan.

Solusi:

Jika terpengaruh, Anda dapat mendowngrade satu versi patch atau mengupgrade ke versi tetap yang lebih baru.

Operasi

Batas ukuran dan lampiran Google Cloud Hyperdisk

Biasanya, Pod yang tidak dapat dijadwalkan dengan berhasil karena batas lampiran volume node akan memicu penyediaan otomatis node baru. Saat menjalankan workload yang menggunakan produk Hyperdisk dijadwalkan ke node yang menjalankan VM C3, penyediaan otomatis node tidak terjadi dan pod dijadwalkan ke node yang sudah penuh.

Workload dijadwalkan ke node meskipun tidak ada lampiran disk yang tersedia. Beban kerja juga gagal dimulai, karena error seperti berikut:

 AttachVolume.Attach failed for volume "[VOLUME NAME]" : rpc error: code = InvalidArgument desc = Failed to Attach: failed when waiting for zonal op: rpc error: code = InvalidArgument desc = operation operation-[OPERATION NUMBERS] failed (UNSUPPORTED_OPERATION): Maximum hyperdisk-balanced disks count should be less than or equal to [16], Requested : [17]

Masalah ini terjadi pada semua produk Hyperdisk di mesin C3.

Batas pemasangan Hyperdisk bervariasi menurut jumlah vCPU VM dan produk Hyperdisk. Untuk mengetahui informasi selengkapnya, lihat Batas performa Hyperdisk.

Solusi:

Produk Hyperdisk memicu penyediaan otomatis pada bentuk VM lainnya. Sebaiknya gunakan bentuk yang hanya mendukung Hyperdisk.

Operasi 1.32.3-gke.1927000, 1.32.3-gke.1785000, 1.32.3-gke.1717000, 1.32.3-gke.1440000, 1.32.3-gke.1170000, 1.32.3-gke.1250000, 1.32.3-gke.1671000, 1.32.3-gke.1596000, 1.32.3-gke.1298000

gke-metadata-server dihentikan secara paksa karena kehabisan memori (OOMKilled) di node TPU/GPU

Pada node TPU GKE (misalnya ct4p-hightpu-4t) dan node GPU (misalnya a3-highgpu-8g), kernel dapat menghentikan gke-metadata-server dengan OOMKilled saat penggunaan memori server melebihi 100 MB.

Solusi:

Jika Anda mengamati peristiwa OOMKilled untuk gke-metadata-server di node TPU atau GPU, hubungi tim piket GKE Identity (ID Komponen: 395450) untuk mengetahui opsi mitigasi.

Operasi
  • 1.32.0-gke.1358000 hingga 1.32.4-gke.1106006, 1.32.4-gke.1236007, 1.32.4-gke.1353001, 1.32.4-gke.1415001, 1.32.4-gke.1533000
  • 1.33.0-gke.0 hingga 1.33.0-gke.1552000
  • 1.32.4-gke.1353003 dan yang lebih baru
  • 1.33.0-gke.1552000 dan yang lebih baru

Pengubahan ukuran volume mungkin macet karena status NodePendingResize yang tidak terhubung pada PVC.

Cluster pada versi 1.32 yang memiliki node pada versi 1.31 atau yang lebih lama akan gagal memperbarui status PersistentVolumeClaim selama pengubahan ukuran. Status yang salah ini mencegah operasi pengubahan ukuran berikutnya dimulai, sehingga mencegah pengubahan ukuran lebih lanjut.

PVC dalam status ini memiliki kolom status.allocatedResourceStatuses yang berisi NodePendingResize atau kedua kolom status.allocatedResources dan status.conditions.type: FileSystemResizePending.

Jika PVC dibuat saat cluster Anda menggunakan versi yang terpengaruh, Anda mungkin melihat masalah ini tetap terjadi setelah cluster Anda diupgrade ke versi tetap yang diketahui. Dalam skenario ini, PVC Anda perlu di-patch untuk menghapus kolom status.allocatedResources dengan solusi sementara satu kali.

Solusi:

PVC yang macet karena status tidak jelas dapat di-patch untuk menghapus status tersebut. Anda dapat menggunakan perintah patch seperti berikut untuk menghapus status tidak terikat:

kubectl patch pvc $PVC_NAME --subresource='status' --type='merge' -p '{"status":{"allocatedResourceStatuses":null}}'
kubectl patch pvc $PVC_NAME --subresource='status' --type='merge' -p '{"status":{"allocatedResources":null}}'
Operasi
  • 1.32.4-gke.1236007, 1.32.4-gke.1353001
  • 1.32.4-gke.1353003 dan yang lebih baru

Driver PDCSI mungkin mencatat secara berlebihan

Cluster GKE pada versi 1.32 tertentu dapat memancarkan pesan log yang berlebihan dari driver PDCSI. Pencatatan log yang berlebihan ini akan menggunakan kuota Cloud Logging Write API.

Solusi:

Anda dapat mengurangi logging yang berlebihan ini dengan menambahkan filter pengecualian. Untuk mengecualikan pesan log agar tidak di-ingest ke Cloud Logging, gunakan kueri berikut:

      resource.type="k8s_container"
      resource.labels.container_name="gce-pd-driver"
      (sourceLocation.file="cache.go" OR "Cannot process volume group")
    
Operasi
  • 1.27.16-gke.2440000 dan yang lebih baru
  • 1.28.15-gke.1673000 dan yang lebih baru
  • 1.29.13-gke.1038000 dan yang lebih baru
  • 1.30.9 dan yang lebih baru
  • 1.31.7 dan yang lebih baru
  • 1.32.1-gke.1357001 dan yang lebih baru
  • 1.27.16-gke.2691000 dan yang lebih baru
  • 1.28.15-gke.2152000 dan yang lebih baru
  • 1.29.15-gke.1218000 dan yang lebih baru
  • 1.30.11-gke.1190000 dan yang lebih baru
  • 1.31.7-gke.1363000 dan yang lebih baru
  • 1.32.4-gke.1106000 dan yang lebih baru
  • 1.33.0-gke.1552000 dan yang lebih baru

Pod yang mencoba memasang volume persisten NFS pada node COS yang sebelumnya memiliki pemasangan Hanya Baca (RO) hanya akan dipasang dalam mode RO

Untuk GKE versi 1.27 dan yang lebih baru, volume NFS yang menggunakan driver CSI in-tree Kubernetes hanya dapat memasang volume persisten dalam mode RO setelah pemasangan RO sebelumnya di node yang sama.

Solusi:

Downgrade node pool ke versi yang lebih lama dari versi yang terpengaruh

Operasi
  • Versi 1.32 dari 1.32.1-gke.1357001 hingga, tetapi tidak termasuk, 1.32.4-gke.1106000
  • Semua versi 1.33 yang lebih lama dari 1.33.0-gke.1552000
  • Rilis 1.32: 1.32.4-gke.1106000 dan yang lebih baru
  • Rilis 1.33: 1.33.0-gke.1552000 dan yang lebih baru

Pod yang mencoba memasang volume persisten NFS di node Ubuntu tidak akan dapat berjalan.

Untuk volume NFS GKE versi 1.32 dan yang lebih baru yang menggunakan driver CSI bawaan Kubernetes tidak akan dapat memasang volume persisten di node Ubuntu. Jika hal ini terjadi, Anda mungkin melihat pesan error berikut:

"MountVolume.SetUp failed for volume 'nfs-storage' : mount failed: exit status 1"
Output: Mount failed: mount failed: exit status 127
"Output: chroot: failed to run command 'mount': No such file or directory failed to run command mount on Ubuntu nodes"
Selain melihat pesan error ini, Pod yang menggunakan volume ini tidak akan dapat muncul.

Solusi:

Downgrade node pool ke versi 1.31.

Operasi >= 1.28.15-gke.1436000, < 1.28.15-gke.1668000, >= 1.29.12-gke.1040000, < 1.29.13-gke.1028000, >= 1.30.8-gke.1053000, < 1.30.8-gke.1287000, >= 1.31.4-gke.1057000, < 1.31.6-gke.1020000, >= 1.32.0-gke.1281000, < 1.32.1-gke.1302000
  • 1.28.15-gke.1668000 atau yang lebih baru
  • 1.29.13-gke.1028000 atau yang lebih baru
  • 1.30.8-gke.1287000 atau yang lebih baru
  • 1.31.6-gke.1020000 atau yang lebih baru
  • 1.32.1-gke.1302000 atau yang lebih baru

Pod yang menggunakan syscall terkait io_uring dapat memasuki status D (disk sleep), yang juga disebut TASK_UNINTERRUPTIBLE, karena bug di kernel Linux. Proses dalam status D tidak dapat diaktifkan oleh sinyal, termasuk SIGKILL.

Jika Pod terpengaruh oleh masalah umum ini, kontainernya mungkin gagal dihentikan secara normal. Dalam log containerd, Anda mungkin melihat pesan berulang yang mirip dengan berikut ini: Kill container [container-id] yang menunjukkan bahwa sistem berulang kali mencoba menghentikan container.
Secara bersamaan, log kubelet menampilkan pesan error, seperti berikut:

"Kill container failed" err="rpc error: code = DeadlineExceeded desc = context deadline exceeded"

atau

"Error syncing pod, skipping" err="[failed to \"KillContainer\" for \"container-name\" with KillContainerError: \"rpc error: code = DeadlineExceeded desc = an error occurs during waiting for container \\\"container-id\\\" to be killed: wait container \\\"container-id\\\": context deadline exceeded\", failed to \"KillPodSandbox\" for \"pod-uuid\" with KillPodSandboxError: \"rpc error: code = DeadlineExceeded desc = context deadline exceeded\"]" pod="pod-name" podUID="pod-uuid"

Gejala ini menunjukkan proses dalam container yang macet dalam mode tidur yang tidak dapat diinterupsi (status D), yang mencegah penghentian Pod yang tepat.

Beban kerja yang menggunakan io_uring secara langsung, atau yang menggunakan io_uring secara tidak langsung melalui runtime bahasa seperti NodeJS, mungkin terpengaruh oleh masalah umum ini. Beban kerja yang terpengaruh memiliki proses dalam status D (disk sleep) di file /proc/<pid>/state, dan menampilkan string io_uring sebagai bagian dari konten /proc/<pid>/stack. Workload NodeJS mungkin dapat menonaktifkan penggunaan io_uring melalui UV_USE_IO_URING=0.

Solusi:

Upgrade node cluster ke versi yang telah diperbaiki atau yang lebih baru.

Operasi 1.28, 1.29, 1.30, 1.31
  • 1.30.8-gke.1261000 dan yang lebih baru
  • 1.31.4-gke.1183000 dan yang lebih baru
  • 1.32.0-gke.1448000 dan yang lebih baru

Beban kerja yang menggunakan streaming Image gagal dengan error autentikasi

Bug dalam fitur streaming Image dapat menyebabkan workload gagal saat serangkaian kondisi tertentu terpenuhi saat penampung membaca file. Pesan error terkait kegagalan autentikasi mungkin terlihat di log gcfsd.

Untuk memeriksa apakah Anda terpengaruh, telusuri log dengan kueri penelusuran ini: resource.type="k8s_node" resource.labels.project_id="[project_id]" resource.labels.cluster_name="[cluster_name]" logName="projects/[project_id]/logs/gcfsd" "backend.FileContent failed" "Request is missing required authentication credential."

Keberadaan error ini menunjukkan bahwa node terpengaruh.

Jika Anda terpengaruh oleh masalah ini, Anda dapat mengupgrade node pool ke versi GKE yang telah di-patch.

Operasi
  • 1.30.0 hingga 1.30.5-gke.1443001
  • 1.31.0 hingga 1.31.1-gke.1678000
  • 1.30.5-gke.1628000 dan yang lebih baru
  • 1.31.1-gke.1846000 dan yang lebih baru

Peningkatan tingkat penghapusan Pod pada GKE versi 1.30 dan 1.31

Beberapa versi GKE 1.30 dan GKE 1.31 yang menggunakan COS 113 dan COS 117, masing-masing, memiliki kernel yang dibuat dengan opsi CONFIG_LRU_GEN_ENABLED=y. Opsi ini mengaktifkan fitur kernel Multi-Gen LRU, yang menyebabkan kubelet salah menghitung penggunaan memori dan dapat menyebabkan kubelet mengeluarkan Pod.

Opsi konfigurasi CONFIG_LRU_GEN_ENABLED dinonaktifkan di cos-113-18244-151-96 dan cos-117-18613-0-76.

Anda mungkin tidak selalu melihat rasio penghapusan Pod yang tidak biasa karena masalah ini bergantung pada pola penggunaan memori beban kerja. Ada risiko yang lebih tinggi bahwa kubelet akan mengeluarkan Pod untuk workload yang belum menetapkan batas memori di kolom resource. Hal ini karena workload mungkin meminta lebih banyak memori daripada yang dilaporkan kubelet sebagai tersedia.

Jika Anda melihat penggunaan memori yang lebih tinggi pada aplikasi setelah mengupgrade ke versi GKE yang disebutkan tanpa perubahan lain, maka Anda mungkin terpengaruh oleh opsi kernel.

Untuk memeriksa apakah ada tingkat penghapusan Pod yang tidak biasa, analisis metrik berikut dengan Metrics Explorer: kubernetes.io/container_memory_used_bytes dan kubernetes.io/container_memory_request_bytes

Anda dapat menggunakan kueri PromQL berikut. Ganti nilai untuk cluster_name, namespace_name, metadata_system_top_level_controller_type, dan metadata_system_top_level_controller_name dengan nama dan jenis beban kerja yang ingin Anda analisis:

max by (pod_name)(max_over_time(kubernetes_io:container_memory_used_bytes{monitored_resource="k8s_container",memory_type="non-evictable",cluster_name="REPLACE_cluster_name",namespace_name="REPLACE_namespace",metadata_system_top_level_controller_type="REPLACE_controller_type",metadata_system_top_level_controller_name="REPLACE_controller_name"}[${__interval}]))

sum by (pod_name)(avg_over_time(kubernetes_io:container_memory_request_bytes{monitored_resource="k8s_container",cluster_name="REPLACE_cluster_name",namespace_name="REPLACE_namespace",metadata_system_top_level_controller_type="REPLACE_controller_type",metadata_system_top_level_controller_name="REPLACE_controller_name"}[${__interval}]))

Jika Anda melihat lonjakan penggunaan memori yang tidak biasa dan melebihi memori yang diminta, workload mungkin lebih sering dikeluarkan.

Solusi

Jika Anda tidak dapat mengupgrade ke versi yang telah diperbaiki dan jika Anda menjalankan di lingkungan GKE tempat Anda dapat men-deploy Pod istimewa, Anda dapat menonaktifkan opsi LRU Multi-Gen dengan menggunakan DaemonSet.

  1. Perbarui node pool GKE dari tempat Anda ingin menjalankan DaemonSet dengan anotasi untuk menonaktifkan opsi Multi-Gen LRU. Misalnya, disable-mglru: "true".
  2. Perbarui parameter nodeSelector dalam manifes DaemonSet dengan anotasi yang sama dengan yang Anda gunakan pada langkah sebelumnya. Misalnya, lihat file disable-mglru.yaml di repositori GoogleCloudPlatform/k8s-node-tools.
  3. Deploy DaemonSet ke cluster Anda.

Setelah DaemonSet berjalan di semua kumpulan node yang dipilih, perubahan akan segera berlaku dan perhitungan penggunaan memori kubelet kembali normal.

Operasi 1.28, 1.29, 1.30, 1.31
  • 1.28.14-gke.1175000 dan yang lebih baru
  • 1.29.9-gke.1341000 dan yang lebih baru
  • 1.30.5-gke.1355000 dan yang lebih baru
  • 1.31.1-gke.1621000 dan yang lebih baru

Pod terjebak dalam status Terminating

Bug di runtime container (containerd) dapat menyebabkan Pod dan container macet dalam status Terminating dengan error yang serupa dengan berikut:

OCI runtime exec failed: exec failed: cannot exec in a stopped container: unknown

Jika Anda terkena dampak masalah ini, Anda dapat mengupgrade node ke versi GKE dengan versi containerd yang telah diperbaiki.

Operasi 1.28,1.29
  • 1.28.9-gke.1103000 dan yang lebih baru
  • 1.29.4-gke.1202000 dan yang lebih baru
  • 1.30: Semua versi

Bug dalam fitur Streaming image dapat menyebabkan container gagal dimulai.

Container yang berjalan di node dengan streaming image yang diaktifkan pada versi GKE tertentu mungkin gagal dibuat dengan error berikut:

"CreateContainer in sandbox from runtime service failed" err="rpc error: code = Unknown desc = failed to create containerd container: failed to mount [PATH]: too many levels of symbolic links"

Jika Anda terpengaruh oleh masalah ini, Anda dapat memeriksa lapisan kosong atau lapisan duplikat. Jika Anda tidak dapat menghapus lapisan kosong atau lapisan duplikat, nonaktifkan streaming Image.

Operasi 1.27,1.28,1.29
  • 1.28.9-gke.1103000 dan yang lebih baru
  • 1.29.4-gke.1202000 dan yang lebih baru
  • 1.30: Semua versi

Streaming gambar gagal karena file tidak ada

Bug dalam fitur Streaming gambar dapat menyebabkan kegagalan penampung karena file yang hilang.

Container yang berjalan di node dengan streaming Image yang diaktifkan pada versi berikut mungkin gagal dimulai atau berjalan dengan error yang menginformasikan bahwa file tertentu tidak ada. Berikut adalah contoh error tersebut:

  • No such file or directory
  • Executable file not found in $PATH

Jika Anda terpengaruh oleh masalah ini, Anda dapat menonaktifkan streaming Image.

Jaringan, Upgrade, dan update 1,28

Error konfigurasi TLS gateway

Kami telah mengidentifikasi masalah terkait konfigurasi TLS untuk Gateway di cluster yang menjalankan GKE versi 1.28.4-gke.1083000. Hal ini memengaruhi konfigurasi TLS yang menggunakan SSLCertificate atau CertificateMap. Jika Anda mengupgrade cluster dengan Gateway yang ada, update yang dilakukan pada Gateway akan gagal. Untuk Gateway baru, load balancer tidak akan disediakan. Masalah ini akan diperbaiki dalam versi patch GKE 1.28 mendatang.

Upgrade dan update 1.27 1.27.8 atau yang lebih baru

Masalah plugin perangkat GPU

Cluster yang menjalankan GPU dan diupgrade dari 1.26 ke versi patch 1.27 yang lebih lama dari 1.27.8 mungkin mengalami masalah dengan plugin perangkat GPU (nvidia-gpu-device-plugin) node-nya. Lakukan langkah-langkah berikut bergantung pada status cluster Anda:

  • Jika cluster Anda menjalankan versi 1.26 dan memiliki GPU, jangan mengupgrade cluster Anda secara manual hingga versi 1.27.8 tersedia di saluran rilis cluster Anda.
  • Jika cluster Anda menjalankan versi patch 1.27 yang lebih lama dan node terpengaruh, mulai ulang node atau hapus Pod nvidia-gpu-device-plugin secara manual di node (pengelola add-on akan membuat plugin baru yang berfungsi).
  • Jika cluster Anda menggunakan upgrade otomatis, hal ini tidak akan memengaruhi Anda karena upgrade otomatis hanya akan memindahkan cluster ke versi patch dengan perbaikan.
Operasi 1.27,1.28
  • 1.27.5-gke.1300 dan yang lebih baru
  • 1.28.1-gke.1400 dan yang lebih baru

Penskalaan otomatis untuk semua beban kerja berhenti

HorizontalPodAutoscaler (HPA) dan VerticalPodAutoscaler (VPA) dapat menghentikan penskalaan otomatis semua workload dalam cluster jika cluster tersebut berisi objek HPA autoscaling/v2 yang salah dikonfigurasi. Masalah ini memengaruhi cluster yang menjalankan versi patch GKE 1.27 dan 1.28 yang lebih lama (misalnya, 1.27.3-gke.100).

Solusi:

Perbaiki objek HPA autoscaling/v2 yang salah dikonfigurasi dengan memastikan kolom di spec.metrics.resource.target cocok, misalnya:

  • Jika spec.metrics.resource.target.type adalah Utilization, target harus averageUtilization
  • Jika spec.metrics.resource.target.type adalah AverageValue, target harus averageValue

Untuk mengetahui detail selengkapnya tentang cara mengonfigurasi objek HPA autoscaling/v2, lihat dokumentasi HorizontalPodAutoscaler Kubernetes.

Operasi 1.28,1.29
  • 1.28.7-gke.1026000
  • 1.29.2-gke.1060000

Container Threat Detection gagal di-deploy

Deteksi Ancaman Kontainer mungkin gagal di-deploy pada cluster Autopilot yang menjalankan versi GKE berikut:

  • 1.28.6-gke.1095000 hingga 1.28.7-gke.1025000
  • 1.29.1-gke.1016000 hingga 1.29.1-gke.1781000
Jaringan, Upgrade 1.27, 1.28, 1.29, 1.30
  • 1.30.4-gke.1282000 atau yang lebih baru
  • 1.29.8-gke.1157000 atau yang lebih baru
  • 1.28.13-gke.1078000 atau yang lebih baru
  • 1.27.16-gke.1342000 atau yang lebih baru

Masalah konektivitas untuk Pod hostPort setelah upgrade bidang kontrol

Cluster dengan kebijakan jaringan diaktifkan mungkin mengalami masalah konektivitas dengan Pod hostPort. Selain itu, Pod yang baru dibuat mungkin memerlukan waktu tambahan 30 hingga 60 detik untuk siap.

Masalah ini dipicu saat bidang kontrol GKE cluster diupgrade ke salah satu versi GKE berikut

  • 1.30 hingga 1.30.4-gke.1281999
  • 1.29.1-gke.1545000 hingga 1.29.8-gke.1156999
  • 1.28.7-gke.1042000 hingga 1.28.13-gke.1077999
  • 1.27.12-gke.1107000 hingga 1.27.16-gke.1341999

Solusi:

Upgrade atau buat ulang node segera setelah upgrade bidang kontrol GKE.

Jaringan 1.31, 1.32
  • 1.32.1-gke.1729000 atau yang lebih baru
  • 1.31.6-gke.1020000 atau yang lebih baru

Traffic UDP yang terganggu antar-Pod yang berjalan di node yang sama

Cluster dengan visibilitas intra-node diaktifkan mungkin mengalami masalah traffic UDP antar-Pod yang berjalan di node yang sama.

Masalah ini dipicu saat node cluster GKE diupgrade ke atau dibuat dengan salah satu versi GKE berikut:

  • 1.32.1-gke.1729000 atau yang lebih baru
  • 1.31.6-gke.1020000 atau yang lebih baru

Jalur yang terpengaruh adalah traffic UDP Pod-ke-Pod di node yang sama melalui Hostport atau Layanan.

Resolusi

Upgrade cluster ke salah satu versi tetap berikut:

  • 1.32.3-gke.1927000 atau yang lebih baru
  • 1.31.7-gke.1390000 atau yang lebih baru
Operasi 1.29,1.30,1.31
  • 1.29.10-gke.1071000 atau yang lebih baru
  • 1.30.5-gke.1723000 atau yang lebih baru
  • 1.31.2-gke.1115000 atau yang lebih baru

Enkripsi database Cloud KMS dan Ray Operator yang tidak kompatibel

Beberapa versi Ray Operator tidak kompatibel dengan enkripsi database Cloud KMS.

Solusi Sementara:

Upgrade bidang kontrol cluster ke versi tetap atau yang lebih baru.

Upgrade dan update 1.30, 1.31
  • 1.30.8-gke.1051000 atau yang lebih baru
  • 1.31.1-gke.2008000 dan yang lebih baru

Pod GPU Maintenance Handler Macet dalam Status CrashLoopBackOff

Dengan masalah ini, Pod gpu-maintenance-handler terjebak dalam status `CrashLoopBackOff` di masing-masing node. Status ini mencegah label `upcoming maintenance` diterapkan ke node GKE, yang dapat memengaruhi proses pengurasan node dan pengusiran pod untuk workload.

"Node upcoming maintenance label not applied due to error: Node "gke-yyy-yyy" is invalid: metadata.labels: Invalid value: "-62135596800": a valid label must be an empty string or consist of alphanumeric characters, '-','' or '.', and must start and end with an alphanumeric character (e.g.'MyValue', or 'my_value', or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9.]*)?[A-Za-z0-9])?')"

Jika Anda terpengaruh oleh masalah ini, Anda dapat menyelesaikannya dengan mengupgrade bidang kontrol ke versi GKE yang menyertakan perbaikan.

Operasi 1.33.1-gke.1522000 dan yang lebih baru 1.33.4-gke.1142000 dan yang lebih baru

Pod gagal dimulai di node dengan streaming Image yang diaktifkan

Pada node dengan streaming Image yang diaktifkan, workload mungkin gagal dimulai dengan tanda tangan error berikut: Failed to create pod sandbox ... context deadline exceeded

Log port serial node yang terpengaruh juga berisi tanda tangan error berikut: task gcfsd ... blocked for more than X seconds

Kehadiran dua tanda tangan error ini menunjukkan kebuntuan di salah satu komponen streaming Gambar. Kebuntuan ini menghambat Pod agar berhasil dimulai.

Mitigasi:

Mulai ulang node untuk mitigasi cepat. Perhatikan bahwa node yang dimulai ulang mungkin masih mengalami kebuntuan lagi. Untuk mitigasi yang lebih kuat, nonaktifkan streaming Image di node pool dengan menjalankan perintah berikut:

gcloud container node-pools update NODE_POOL_NAME --cluster CLUSTER_NAME --no-enable-image-streaming
Catatan: menonaktifkan streaming Image akan membuat ulang semua node dalam node pool.

Langkah berikutnya