Menggunakan API beta Kubernetes dengan cluster GKE


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

Cara fitur baru diperkenalkan dengan Kubernetes API

Cluster GKE terdiri dari bidang kontrol dan node pekerja. Bidang kontrol mengekspos server API, yang mengekspos Kubernetes API sehingga pengguna akhir dapat berkomunikasi beserta komponen internal dan eksternal. API ini berkembang seiring waktu, dengan fitur-fitur baru diperkenalkan dalam tahap Alfa atau Beta, lalu akhirnya lulus 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 versi lebih lama dari 1.24 akan membuat API beta yang sudah ada tetap aktif, karena diaktifkan secara otomatis (diperkenalkan lebih awal dari 1.24) atau API beta yang diaktifkan secara manual (diperkenalkan versi 1.24 atau yang lebih baru) tidak dapat dinonaktifkan pada cluster yang ada. Untuk semua cluster, API beta yang sudah ada yang diperkenalkan sebelum versi 1.24 tetap aktif secara default, dan versi baru dari 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 pada 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 melihat API beta yang tersedia untuk versi minor cluster Anda, lihat API beta yang tersedia.

Setelah diaktifkan, API beta akan tetap diaktifkan hingga API beta tidak digunakan lagi dan cluster diupgrade ke versi minor tempat API dihapus. Untuk melihat API beta yang telah diaktifkan cluster Anda, lihat Memeriksa API beta mana 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 bersama Kubernetes versi minor ini Tersedia dengan GKE Notes
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 versi beta Kebijakan Validasi Penerimaan.
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 initialize 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 selanjutnya