Menggunakan API beta Kubernetes dengan cluster GKE


Gunakan API beta Kubernetes untuk mengakses fitur baru di cluster Google Kubernetes Engine (GKE). Untuk menggunakan API beta yang diperkenalkan dengan versi 1.24 atau yang lebih baru, konfigurasi API beta.

Cara fitur baru diperkenalkan dengan Kubernetes API

Cluster GKE terdiri dari bidang kontrol dan worker node. Bidang kontrol mengekspos server API, yang mengekspos Kubernetes API sehingga pengguna akhir, beserta komponen internal dan eksternal, dapat berkomunikasi. API ini berkembang dari waktu ke waktu, dengan fitur baru diperkenalkan di tahap Alfa atau Beta, lalu beralih menjadi Ketersediaan Umum (GA) atau tidak digunakan lagi dan dihapus dalam versi minor yang lebih baru.

Anda hanya dapat menggunakan API alfa dengan cluster alfa, tetapi Anda dapat menggunakan API beta dengan semua jenis cluster GKE. Mulai Kubernetes versi 1.24, API beta baru secara default dinonaktifkan di cluster baru. Cluster yang ada yang dibuat dengan menjalankan versi yang lebih lama dari 1.24 akan terus mengaktifkan API beta yang ada, karena diaktifkan secara otomatis (diperkenalkan sebelum 1.24) atau API beta yang diaktifkan secara manual (diperkenalkan 1.24 atau yang lebih baru) tidak dapat dinonaktifkan di cluster yang ada. Untuk semua cluster, API beta yang sudah ada yang diperkenalkan sebelum versi 1.24 tetap diaktifkan secara default, dan versi baru API beta yang sudah ada juga tetap diaktifkan secara default.

Misalnya, jika v1beta1 API diperkenalkan di Kubernetes versi 1.22, versi baru dari API beta ini, seperti v1beta3, akan diperkenalkan di Kubernetes versi 1.25, API tersebut akan otomatis diaktifkan. Hal ini terjadi karena ini adalah versi baru dari API beta yang sudah ada, bukan API beta yang sepenuhnya baru. Namun, API beta baru dengan versi v1beta1 yang diperkenalkan di Kubernetes versi 1.24 atau yang lebih baru dinonaktifkan secara default.

Untuk menggunakan API beta yang diperkenalkan dengan versi 1.24 dan yang lebih baru, Anda harus mengonfigurasi API beta per resource per cluster. Anda dapat mengaktifkan API saat pembuatan cluster atau untuk cluster yang ada. Untuk mengetahui API beta yang tersedia untuk versi minor cluster Anda, lihat API beta yang tersedia.

Setelah Anda mengaktifkannya, API beta akan tetap aktif hingga API beta tersebut tidak digunakan lagi dan cluster diupgrade ke versi minor tempat API dihapus. Untuk melihat API beta mana yang telah diaktifkan cluster Anda, lihat Memeriksa API beta yang diaktifkan.

API beta yang tersedia

Anda dapat mengaktifkan subset API beta Kubernetes untuk cluster GKE. API beta lainnya tidak tersedia karena alasan seperti berikut:

  • API beta bergantung pada fitur Kubernetes non-GA.
  • API beta tidak aman.
  • API beta tidak kompatibel dengan Autopilot.

Lihat tabel berikut untuk API beta dan versi minor yang sesuai tempat API tersebut diperkenalkan:

Versi Kubernetes API beta ditambahkan dengan versi minor Kubernetes ini Tersedia dengan GKE Catatan
1.31
  • storage.k8s.io/v1beta1/volumeattributesclasses
  • networking.k8s.io/v1beta1/ipaddresses
  • networking.k8s.io/v1beta1/servicecidrs
  • storage.k8s.io/v1beta1/volumeattributesclasses
  • networking.k8s.io/v1beta1/ipaddresses
  • networking.k8s.io/v1beta1/servicecidrs

Anda harus mengaktifkan kedua API networking.k8s.io secara bersamaan. Tindakan ini akan mengaktifkan fitur Kubernetes beta Multiple Service CIDRs di cluster GKE yang menjalankan versi 1.31.1-gke.1361000 atau yang lebih baru. Untuk mengetahui detail selengkapnya, lihat catatan rilis GKE 4 Oktober 2024.

1.29
  • Tidak ada
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicies
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicybindings
Anda harus mengaktifkan kedua API secara bersamaan. Tindakan ini akan mengaktifkan fitur beta Validating Admission Policy.
1.28
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicies
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicybindings
  • Tidak ada
1.27
  • authentication.k8s.io/v1beta1/selfsubjectreviews
  • authentication.k8s.io/v1beta1/selfsubjectreviews

Pertimbangan sebelum menggunakan API beta

API beta Kubernetes tunduk kepada Kebijakan Penghentian Layanan Kubernetes. Jika API beta tidak digunakan lagi, Anda harus menghentikan penggunaannya. Untuk mempelajari lebih lanjut, lihat Penghentian penggunaan API Beta.

Sebelum memulai

Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Jika ingin menggunakan Google Cloud CLI untuk tugas ini, instal lalu lakukan inisialisasi gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.

Mengonfigurasi API beta

API beta diaktifkan per resource per cluster. Anda dapat mengaktifkan API saat membuat cluster atau untuk cluster yang sudah ada.

Untuk mencantumkan resource API beta untuk perintah ini, gunakan representasi {group}/{version}/{resource}. Versinya harus versi beta. Contoh representasi valid ini adalah authentication.k8s.io/v1beta1/selfsubjectreviews.

Untuk perintah di bagian berikutnya, ganti variabel berikut:

  • CLUSTER_NAME: nama cluster yang ingin Anda perbarui.
  • LIST_OF_APIS: daftar API beta yang ingin Anda aktifkan, dalam daftar yang dipisahkan koma.
  • COMPUTE_REGION: region Compute Engine untuk cluster baru. Untuk cluster zona, gunakan --zone=COMPUTE_ZONE.

Buat cluster baru dengan API beta diaktifkan

Buat cluster baru dengan daftar API beta diaktifkan:

gcloud container clusters create-auto CLUSTER_NAME  \
    --enable-kubernetes-unstable-apis=LIST_OF_APIS \
    --region=COMPUTE_REGION

Mengaktifkan API beta di cluster yang ada

Aktifkan daftar API beta di cluster yang ada:

gcloud container clusters update CLUSTER_NAME  \
    --enable-kubernetes-unstable-apis=LIST_OF_APIS \
    --region=COMPUTE_REGION

Menonaktifkan API beta di cluster yang ada

Anda tidak dapat menonaktifkan API beta yang sudah diaktifkan di cluster. API beta tetap tersedia hingga tidak digunakan lagi dan cluster diupgrade ke versi minor tempat API dihapus. Untuk mempelajari lebih lanjut, lihat Penghentian penggunaan API Beta.

Memeriksa API beta yang diaktifkan

Periksa API beta yang diaktifkan untuk cluster GKE Anda:

gcloud container clusters describe CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --format="value(enableK8sBetaApis.enabledApis)"

Penghentian penggunaan API Beta

Setelah diaktifkan, API beta akan tetap aktif hingga API beta tersebut tidak digunakan lagi dan cluster diupgrade ke versi minor tempat API dihapus.

API beta biasanya tersedia untuk tiga versi minor sebelum API tersebut tidak digunakan lagi dan digantikan dengan versi beta baru, versi stabil, atau tanpa penggantian. Versi API beta dihapus tiga versi minor setelah penghentian penggunaan. Jika Anda menggunakan API beta yang tidak digunakan lagi dan dihapus dalam versi minor Kubernetes mendatang, Anda harus bermigrasi ke API yang didukung agar cluster dapat diupgrade ke versi minor tempat API beta tersebut dihapus. Untuk mempelajari lebih lanjut, baca Cara penghentian penggunaan Kubernetes dengan GKE.

GKE mempermudah proses ini dengan berupaya mendeteksi penggunaan API Kubernetes yang sudah tidak digunakan lagi. Jika GKE mendeteksi penggunaan API yang tidak digunakan lagi, GKE akan menjeda upgrade otomatis ke versi minor tempat API tersebut dihapus. GKE juga membagikan insight dan rekomendasi penghentian penggunaan untuk memberi tahu Anda tentang penggunaan API yang sudah tidak digunakan lagi oleh cluster Anda. Dengan begitu, Anda dapat mengambil tindakan agar upgrade dapat dilanjutkan. Untuk mempelajari lebih lanjut, lihat Menilai dan mengurangi eksposur terhadap penghentian penggunaan Kubernetes mendatang.

Lihat tabel penghentian penggunaan Kubernetes API untuk mengetahui daftar lengkap API yang tidak digunakan lagi dan apakah GKE mendeteksi penggunaan.

Langkah berikutnya