Kubernetes 1.29 API yang tidak digunakan lagi


Halaman ini menjelaskan cara menyiapkan cluster untuk upgrade ke GKE versi 1.29. Anda dapat menemukan klien API yang melakukan panggilan ke API yang tidak digunakan lagi dihapus di 1.29 dan memperbarui klien tersebut untuk menggunakan GA API. Untuk mengetahui informasi lebih mendetail, lihat panduan migrasi API Kubernetes yang tidak digunakan lagi.

Menghapus API di versi 1.29

API yang tidak digunakan lagi di Kubernetes versi 1.29 adalah API Beta yang telah berubah ke GA (misalnya v2) atau dari satu versi Beta ke versi lainnya (misalnya, v1beta1 ke v1beta2). API GA memberikan jaminan kompatibilitas jangka panjang dan harus digunakan sebagai pengganti API Beta yang tidak digunakan lagi.

Semua objek yang ada untuk API yang telah ditingkatkan ke versi baru dapat berinteraksi dengan menggunakan API yang diupdate.

Resource kontrol alur

Versi flowcontrol.apiserver.k8s.io/v1beta2 API FlowSchema dan PriorityLevelConfiguration tidak lagi ditayangkan mulai v1.29.

Memigrasikan manifes dan klien API untuk menggunakan versi API flowcontrol.apiserver.k8s.io/v1, yang tersedia sejak v1.29, atau versi flowcontrol.apiserver.k8s.io/v1beta3 API, tersedia sejak v1.26.

Semua objek persisten yang ada dapat diakses dengan API baru.

Versi flowcontrol.apiserver.k8s.io/v1 API memiliki perubahan penting berikut:

  • Nama kolom PriorityLevelConfiguration spec.limited.assuredConcurrencyShares diganti menjadi spec.limited.nominalConcurrencyShares dan hanya ditetapkan secara default ke 30 jika tidak ditentukan, dan nilai eksplisit 0 tidak diubah menjadi 30.

Versi flowcontrol.apiserver.k8s.io/v1beta3 API memiliki perubahan penting berikut:

  • Nama kolom spec.limited.assuredConcurrencyShares PriorityLevelConfiguration diganti menjadi spec.limited.nominalConcurrencyShares.

Bersiap untuk mengupgrade ke versi 1.29

Anda tidak perlu menghapus dan membuat ulang objek API apa pun. Semua objek API lama yang dipertahankan untuk API yang ditingkatkan ke GA sudah dapat dibaca dan diperbarui menggunakan API versi baru.

Namun, sebaiknya Anda memigrasikan klien dan manifes sebelum mengupgrade ke Kubernetes 1.29. Untuk mempelajari lebih lanjut, lihat Panduan Migrasi Kubernetes Deprecated API.

Anda dapat melihat insight dan rekomendasi penghentian untuk menentukan apakah cluster Anda menggunakan API Kubernetes 1.29 yang tidak digunakan lagi. GKE menghasilkan insight penghentian penggunaan saat agen pengguna memanggil API yang tidak digunakan lagi. Insight ini tidak dihasilkan oleh konfigurasi objek Kubernetes Anda.

Menemukan cluster yang menggunakan API yang tidak digunakan lagi

Anda dapat menemukan cluster mana yang menggunakan API yang tidak digunakan lagi melalui insight penghentian penggunaan. Insight penghentian penggunaan juga menyediakan informasi seperti klien API mana yang memanggil API yang tidak digunakan lagi di cluster Anda.

Anda juga dapat menggunakan log audit untuk menemukan klien mana yang melakukan panggilan ke API yang tidak digunakan lagi.

Menemukan klien API yang melakukan panggilan tulis ke API yang tidak digunakan lagi

Untuk cluster dengan Google Cloud Observability yang diaktifkan, Anda dapat menggunakan kueri log audit Aktivitas Admin berikut untuk menampilkan penggunaan API yang tidak digunakan lagi oleh agen pengguna yang tidak dikelola oleh Google:

resource.type="k8s_cluster"
labels."k8s.io/removed-release"="DEPRECATED_API_MINOR_VERSION"
protoPayload.authenticationInfo.principalEmail:("system:serviceaccount" OR "@")
protoPayload.authenticationInfo.principalEmail!~("system:serviceaccount:kube-system:")

Ganti DEPRECATED_API_MINOR_VERSION dengan versi minor yang menghapus API yang tidak digunakan lagi, misalnya 1.22.

Log audit Aktivitas Admin diaktifkan secara otomatis untuk cluster GKE. Dengan kueri ini, log menampilkan agen pengguna yang melakukan panggilan tulis ke API yang tidak digunakan lagi.

Menemukan klien API yang melakukan panggilan baca ke API yang tidak digunakan lagi

Secara default, log audit hanya menampilkan panggilan tulis ke API yang tidak digunakan lagi. Untuk juga menampilkan panggilan baca ke API yang tidak digunakan lagi, konfigurasi log audit Akses Data.

Ikuti petunjuk untuk Mengonfigurasi log audit Akses Data dengan Konsol Google Cloud. Di Konsol Google Cloud, pilih Kubernetes Engine API. Di tab Log Types pada panel informasi, pilih Admin Read dan Data Read.

Dengan mengaktifkan log ini, Anda kini dapat menggunakan kueri asli untuk melihat panggilan baca dan panggilan tulis ke API yang tidak digunakan lagi.

Mengupgrade komponen pihak ketiga

Insight penghentian penggunaan dapat menampilkan hasil untuk agen pihak ketiga yang melakukan panggilan ke API yang tidak digunakan lagi di cluster Anda.

Untuk mengatasi agen pihak ketiga yang memanggil API yang tidak digunakan lagi, sebaiknya lakukan praktik terbaik berikut:

  1. Hubungi penyedia software pihak ketiga Anda untuk mengetahui apakah mereka memiliki versi yang telah diupdate.
  2. Upgrade software pihak ketiga ke versi terbarunya. Jika tidak dapat mengupgrade software, Anda harus menguji apakah mengupgrade GKE ke versi dengan API yang tidak digunakan lagi akan merusak layanan Anda.

Sebaiknya lakukan upgrade ini dan upgrade versi GKE pada cluster staging untuk memantau gangguan sebelum Anda mengupgrade cluster produksi.

Mengupdate cluster yang terdampak oleh penghentian penggunaan

Untuk mengupgrade cluster yang terdampak oleh penghentian penggunaan, lakukan langkah-langkah berikut:

  1. Periksa agen pengguna mana yang menggunakan API yang tidak digunakan lagi di log.
  2. Update agen pengguna yang menggunakan API yang tidak digunakan lagi agar menggunakan versi API yang didukung.
  3. Update software pihak ketiga yang memanggil API yang tidak digunakan lagi ke versi terbarunya.
  4. Upgrade cluster pengujian dan uji aplikasi Anda di lingkungan pengujian sebelum mengupgrade cluster produksi untuk mengurangi risiko gangguan saat API yang tidak digunakan lagi tidak lagi tersedia.
  5. Jika Anda tidak dapat mengupdate agen pengguna yang terdampak, upgrade cluster pengujian terpisah untuk memeriksa apakah upgrade tersebut menyebabkan gangguan. Jika upgrade tidak menyebabkan gangguan, Anda dapat mengupgrade cluster secara manual.

  6. Setelah Anda mengupdate semua agen pengguna, GKE menunggu hingga tidak ada lagi penggunaan API yang tidak digunakan lagi selama 30 hari, lalu membatalkan pemblokiran upgrade otomatis. Upgrade otomatis akan dilanjutkan sesuai dengan jadwal rilis.

Referensi

Informasi selengkapnya tersedia di dokumentasi OSS Kubernetes: