Pembuatan versi dan dukungan GKE


Halaman ini menjelaskan pembuatan versi di Google Kubernetes Engine (GKE), dan kebijakan untuk dukungan versi. Anda dapat melihat versi peluncuran dan jadwal dukungan saat ini di jadwal rilis GKE.

Dukungan versi

Komunitas Software Open Source (OSS) Kubernetes saat ini merilis versi minor dengan peningkatan dan fitur baru tiga kali setahun. Setiap siklus rilis berdurasi sekitar 15 minggu.

Mulai Kubernetes 1.19, OSS mendukung setiap versi minor selama 12 bulan. Bug utama dan kerentanan keamanan yang ditemukan dalam versi minor yang didukung diperbaiki dengan rilis versi patch ad hoc. Komunitas Kubernetes dapat merevisi kalender dukungan versi dari waktu ke waktu.

Google memberikan total dukungan selama 14 bulan untuk setiap versi GKE minor setelah versi tersebut tersedia di saluran Regular. Versi node dan node pool dapat berisi hingga dua versi minor yang lebih lama dari panel kontrol, tetapi tidak bisa lebih baru daripada versi panel kontrol karena kebijakan skew versi OSS Kubernetes. Untuk memastikan dukungan dan keandalan, node harus menggunakan versi yang didukung, terlepas dari skew versi yang valid.

Setelah 12 bulan, versi yang didukung akan memasuki periode pemeliharaan 2 bulan sebelum mencapai akhir siklus proses (EOL).

Siklus proses versi minor GKE

Tahap pertama siklus proses versi minor dimulai dengan rilis versi GKE yang didukung. Cluster yang menjalankan versi minor yang didukung akan menerima patch reguler untuk memperbaiki bug dan masalah keamanan yang telah dilaporkan. Berdasarkan kebijakan dukungan versi komunitas OSS Kubernetes saat ini, GKE berencana mempertahankan versi minor yang didukung selama 14 bulan, termasuk 12 bulan setelah rilis di saluran Reguler, diikuti dengan periode pemeliharaan 2 bulan. Selama periode pemeliharaan, tidak ada pembuatan node pool baru yang akan diizinkan untuk versi pemeliharaan, tetapi node pool yang sudah ada yang menjalankan versi pemeliharaan akan terus beroperasi.

Pada akhir periode pemeliharaan, versi pemeliharaan akan mencapai akhir siklus proses dan secara resmi tidak didukung serta tidak tersedia. Versi minor GKE yang telah mencapai akhir siklus proses tidak akan lagi menerima patch keamanan dan/atau perbaikan bug.

Mulai GKE versi 1.19, GKE mengupgrade node yang menjalankan versi yang tidak didukung setelah versi tersebut mencapai akhir siklus proses (EOL) untuk memastikan kondisi dan kesesuaian cluster dengan kebijakan skew versi open source. Node yang menjalankan versi yang tidak didukung mungkin tidak langsung diupgrade setelah akhir siklus proses (EOL) versi, dan waktu sebenarnya dapat bervariasi sesuai diskresi Google.

Google tidak dapat berkomitmen untuk menyediakan patch atau update untuk versi akhir siklus proses.

Perhatikan bahwa dalam kasus yang jarang terjadi, Anda mungkin perlu merevisi periode pemeliharaan atau akhir masa pakai untuk versi GKE, karena adanya perubahan kebijakan di komunitas OSS Kubernetes, atau penemuan kerentanan, atau masalah teknis yang tidak dapat diselesaikan secara wajar. Untuk mendapatkan versi terbaru yang tersedia, lihat catatan rilis GKE.

Skema pembuatan versi

GKE menambahkan versi patch GKE ke Kubernetes standar industri dengan versi semantik (xyz-gke.N):

Versi utama Kubernetes (x)
Versi utama biasanya bertambah jika perubahan yang tidak kompatibel dengan versi lama diperkenalkan ke API publik. Versi utama menambahkan versi Kubernetes dari xy ke x+1.y.
Versi minor Kubernetes (y)
Kubernetes merilis versi minor baru tiga kali setahun. Setiap siklus rilis berdurasi sekitar 15 minggu. API yang tidak digunakan lagi dapat dihapus dengan versi minor baru, misalnya dengan 1.22. Versi minor menambahkan versi Kubernetes dari 1.y ke 1.y+1; misalnya, Kubernetes 1.19 adalah rilis minor yang mengikuti Kubernetes 1.18.
Rilis patch Kubernetes (z)
Rilis patch Kubernetes baru (seperti 1.18.6) untuk digunakan dengan GKE biasanya tersedia setiap minggu. Rilis patch diluncurkan ke setiap zona secara bertahap.
Rilis patch GKE (-gke.N)
Rilis patch dengan akhiran -gke.N (seperti 1.18.6-gke.N) mencakup update keamanan dan/atau perbaikan bug untuk GKE bersama software Kubernetes upstream open source. Update atau perbaikan ini diperlukan untuk kompatibilitas dan interoperabilitas dengan Google Cloud.

Memeriksa versi yang tersedia dan default

Untuk informasi tentang versi yang tersedia, lihat catatan rilis GKE.

Anda juga dapat memeriksa versi Kubernetes mana yang tersedia dan secara default berada dalam zona tertentu dari Konsol Google Cloud atau dengan menggunakan Google Cloud CLI.

Menggunakan gcloud CLI untuk memeriksa versi

Untuk melihat versi yang tersedia dan versi default, jalankan salah satu perintah gcloud berikut untuk jenis cluster Anda. Setiap tab memberikan perintah untuk memeriksa versi untuk saluran rilis tertentu, atau tanpa saluran (statis).

Cepat

Untuk melihat versi default dan yang tersedia di saluran rilis Rapid, jalankan perintah berikut:

Versi default

gcloud container get-server-config --flatten="channels" --filter="channels.channel=RAPID" \
    --format="yaml(channels.channel,channels.defaultVersion)"

Versi yang tersedia.

gcloud container get-server-config --flatten="channels" --filter="channels.channel=RAPID" \
    --format="yaml(channels.channel,channels.validVersions)"

Reguler

Untuk melihat versi default dan yang tersedia di saluran rilis Regular, jalankan perintah berikut:

Versi default

gcloud container get-server-config --flatten="channels" --filter="channels.channel=REGULAR" \
    --format="yaml(channels.channel,channels.defaultVersion)"

Versi yang tersedia.

gcloud container get-server-config --flatten="channels" --filter="channels.channel=REGULAR" \
    --format="yaml(channels.channel,channels.validVersions)"

Stabil

Untuk melihat versi default dan yang tersedia di saluran rilis Stable, jalankan perintah berikut:

Versi default

gcloud container get-server-config --flatten="channels" --filter="channels.channel=STABLE" \
    --format="yaml(channels.channel,channels.defaultVersion)"

Versi yang tersedia.

gcloud container get-server-config --flatten="channels" --filter="channels.channel=STABLE" \
    --format="yaml(channels.channel,channels.validVersions)"

Tidak ada saluran

Untuk melihat versi default dan yang tersedia untuk tidak ada saluran (statis), jalankan perintah berikut:

Versi default

gcloud container get-server-config --format="yaml(defaultClusterVersion)"

Versi bidang kontrol yang tersedia

gcloud container get-server-config --format="yaml(validMasterVersions)"

Versi node yang tersedia

gcloud container get-server-config --format="yaml(validNodeVersions)"

Menggunakan Konsol Google Cloud untuk memeriksa versi

Untuk mengetahui versi yang tersedia dan default, lakukan langkah-langkah berikut:

  1. Buka halaman Google Kubernetes Engine di Konsol Google Cloud.

    Buka halaman Google Kubernetes Engine

  2. Klik Buat.

  3. Pilih mode cluster Standar, lalu klik Konfigurasikan.

  4. Di bagian Jenis lokasi, pilih jenis lokasi dan lokasi yang diinginkan untuk cluster Anda.

  5. Di bagian Control plane version, pilih saluran rilis. Semua versi yang tersedia saat ini dicantumkan untuk saluran tersebut. Versi default akan dipilih secara otomatis.

Menentukan versi cluster

Bagian ini hanya berlaku untuk cluster yang dibuat dalam mode Standar.

Saat membuat atau mengupgrade cluster menggunakan gcloud CLI, Anda dapat menentukan versi cluster menggunakan flag --cluster-version. Anda dapat menggunakan versi spesifik, seperti 1.9.7-gke.N. Anda juga dapat menggunakan alias versi:

  • latest: Menentukan versi Kubernetes tertinggi yang didukung saat ini yang tersedia di GKE dalam zona atau region cluster.
  • 1.X: Menentukan rilis patch patch+gke.N valid tertinggi dalam versi minor 1.X
  • 1.X.Y: Menentukan patch gke.N valid tertinggi dalam rilis patch 1.XY.
  • -: Untuk bidang kontrol cluster, menentukan versi Kubernetes default untuk bidang kontrol. Untuk upgrade node, menentukan versi yang sedang dijalankan oleh bidang kontrol cluster.

Membuat atau mengupgrade cluster dengan menentukan versinya karena latest tidak menyediakan upgrade otomatis. Aktifkan upgrade otomatis node untuk memastikan node di cluster Anda sudah terupdate dengan versi stabil terbaru.

Menentukan versi node

Bagian ini hanya berlaku untuk cluster yang dibuat dalam mode Standar. Pada cluster Autopilot, node diupgrade secara otomatis.

Saat membuat atau mengupgrade node pool, Anda dapat menentukan versinya. Secara default, node menjalankan versi GKE yang sama dengan bidang kontrol. Node tidak boleh lebih dari dua versi minor yang lebih lama dari bidang kontrol.

Dengan pengecualian yang jarang terjadi, versi node tetap tersedia meskipun versi cluster tidak lagi tersedia.

FAQ dukungan versi

Kapan periode dukungan akan dimulai untuk setiap versi minor?

Dukungan untuk Kubernetes versi minor dimulai saat pertama kali tersedia untuk pembuatan cluster baru di saluran rilis Reguler.

Berapa lama versi minor Kubernetes didukung oleh GKE?

GKE memberikan dukungan selama 14 bulan untuk setiap versi minor Kubernetes yang tersedia. Versi akan menerima patch untuk bug dan masalah keamanan selama periode dukungan.

Apa perbedaan antara periode pemeliharaan dan akhir siklus proses (EOL) untuk GKE versi minor?

Periode pemeliharaan berarti versi diperkirakan akan segera memasuki periode akhir siklus proses (EOL). Selama periode akhir siklus proses (EOL), GKE versi minor tidak akan menerima patch keamanan, perbaikan bug, atau fitur baru apa pun.

Kapan dukungan untuk versi Kubernetes di GKE berakhir?

Versi minor Kubernetes menjadi tidak didukung di GKE saat mencapai akhir siklus proses, setelah dukungan selama 14 bulan.

Apa yang terjadi pada tanggal mulai pemeliharaan?

GKE akan memberi tahu pelanggan tentang pemeliharaan mendatang dan versi akhir siklus proses (EOL) melalui poin kontak yang ada seperti: catatan rilis, email ke kontak project, dan notifikasi GKE, jika ada. Node pool yang ada yang menjalankan versi pemeliharaan akan terus berfungsi, dan pembuatan node pool baru untuk versi pemeliharaan akan dinonaktifkan.

Apa yang terjadi pada tanggal akhir siklus proses (EOL)?

Pelanggan yang menjalankan versi akhir siklus proses (EOL) akan diberi tahu melalui email ke kontak project sebelum akhir siklus proses (EOL) versi. GKE juga akan mulai mengupgrade node secara otomatis secara bertahap (terlepas dari pengaktifan upgrade otomatis) yang menjalankan versi akhir siklus proses untuk tujuan keamanan dan kompatibilitas karena tidak ada patch keamanan atau perbaikan bug baru yang disediakan untuk versi akhir siklus proses. Sebelum berinteraksi dengan Cloud Customer Care untuk mengatasi masalah apa pun terkait cluster atau node yang menjalankan versi akhir siklus proses (EOL), Anda harus mengupgrade cluster dan node terlebih dahulu ke versi yang didukung.

Kapan tepatnya cluster saya akan diupgrade secara otomatis?

Bidang kontrol cluster akan otomatis diupgrade ke versi yang didukung saat versi bidang kontrol tidak lagi tersedia untuk pembuatan cluster baru.

Node yang menjalankan versi yang tidak didukung akan dijadwalkan untuk diupgrade otomatis ke versi yang didukung dalam waktu satu bulan sejak tanggal akhir siklus proses (EOL).

Dapatkah saya melewati versi GKE saat mengupgrade cluster?

GKE tidak mengizinkan melewatkan versi minor untuk bidang kontrol cluster, tetapi Anda dapat melewati versi patch. Worker node dapat melewati versi minor. Misalnya, node pool dapat diupgrade dari versi 1.23 ke 1.25 sekaligus melewati versi 1.24.

Untuk mengupgrade cluster di beberapa versi minor, upgrade bidang kontrol Anda satu versi minor dalam sekali waktu dan upgrade worker node ke versi yang sama setiap waktu. Misalnya, untuk mengupgrade bidang kontrol dari versi 1.23 ke 1.25, upgrade dari versi 1.23 ke 1.24 terlebih dahulu, lalu upgrade worker node agar sesuai dengan versi bidang kontrol, lalu ulangi proses untuk mengupgrade dari versi 1.24 ke 1.25.

Mengupgrade worker node agar sesuai dengan versi akan membantu Anda menghindari skew versi. Sebaiknya hindari melewati versi jika memungkinkan. Melewatkan versi worker node biasanya menyiratkan cakupan pengujian yang lebih besar, yang meskipun dapat dikelola, memerlukan lebih banyak pertimbangan.

Atau, Anda dapat membuat cluster baru dengan versi yang diinginkan dan men-deploy ulang workload Anda.

Dapatkah saya meninggalkan cluster di versi Kubernetes tanpa batas waktu?

Tidak, setiap versi GKE didukung selama 14 bulan dan mengoperasikan sebuah cluster menggunakan versi GKE akhir siklus proses (EOL) menimbulkan risiko keamanan, keandalan, dan kompatibilitas yang signifikan karena tidak ada patch keamanan atau perbaikan bug yang akan diberikan untuk versi akhir siklus proses (EOL).

Seberapa sering saya harus mengupgrade versi Kubernetes untuk tetap mendapatkan dukungan?

Sebaiknya Anda memilih saluran rilis dan mengaktifkan upgrade otomatis node untuk membantu mengurangi beban operasional yang terkait dengan mengupgrade versi GKE. Namun, saat melakukan upgrade secara manual, sebaiknya Anda melakukan upgrade paling lambat setiap enam bulan untuk mendapatkan akses ke fitur baru dan tetap menggunakan versi yang didukung.

Apa kebijakan peluncuran untuk bidang kontrol GKE?

Bidang kontrol cluster selalu diupgrade secara berkala, terlepas dari apakah cluster Anda terdaftar di saluran rilis atau upgrade otomatis node dinonaktifkan. Pelajari lebih lanjut di Upgrade otomatis.