Mulai versi 1.33, Google Kubernetes Engine (GKE) memigrasikan cluster yang menjalankan
cgroupv1
ke cgroupv2
. Halaman ini memberi tahu Anda cara melakukan hal berikut:
- Periksa mode cgroup yang dijalankan oleh node cluster Anda, dan apakah workload Anda mungkin terpengaruh oleh transisi antar-mode cgroup.
- Migrasikan node cluster GKE Autopilot atau node pool cluster Standard ke
cgroupv2
. - Untuk sementara, pilih untuk tidak mengizinkan GKE memigrasikan node secara otomatis menggunakan
cgroupv1
kecgroupv2
. Ikuti petunjuk ini jika cluster Anda menjalankan beban kerja yang mungkin terpengaruh oleh transisi antar-mode cgroup.
Anda dapat melewati halaman ini jika tahu bahwa beban kerja Anda berjalan seperti yang diharapkan
di cgroupv2
, atau tidak terpengaruh oleh konfigurasi mode cgroup.
GKE secara otomatis memigrasikan cluster yang menjalankan cgroupv1
ke
cgroupv2
dengan versi 1.33 dan yang lebih baru.
Tentang grup kontrol Linux
Kubelet dan runtime container menggunakan grup kontrol (cgroup) kernel Linux untuk pengelolaan resource, seperti
membatasi jumlah CPU atau memori yang dapat diakses oleh setiap container di Pod. Ada
dua mode subsistem cgroup dalam kernel: cgroupv1
dan cgroupv2
.
Dukungan Kubernetes untuk cgroupv2
diperkenalkan sebagai alfa di Kubernetes versi
1.18, beta di 1.22, dan GA di 1.25. Untuk mengetahui detail selengkapnya, lihat dokumentasi cgroups v2 Kubernetes.
Untuk mempelajari cara mengonfigurasi mode cgroup untuk cluster Standard, lihat Opsi konfigurasi mode cgroup Linux.
Cara GKE bertransisi ke cgroupv2
Tinjau linimasa berikut untuk memahami cara GKE melakukan transisi cluster yang ada untuk menggunakan cgroupv2
:
- Untuk versi sebelum 1.26,
cgroupv1
adalah setelan default untuk node. Untuk versi 1.26 atau yang lebih baru,cgroupv2
adalah default untuk node baru. Tidak ada perubahan pada node yang ada. Untuk mempelajari lebih lanjut mode cgroup yang dijalankan cluster GKE Anda secara default, lihat Memeriksa mode cgroup node cluster. - Dengan versi minor 1.31, GKE menghentikan penggunaan
cgroupv1
. - Mulai versi 1.33, GKE memigrasikan cluster yang menjalankan
cgroupv1
kecgroupv2
. Anda dapat mencegah migrasi otomatis ini untuk sementara dengan menentukan secara eksplisit bahwa node pool menggunakancgroupv1
. - Dengan versi minor 1.35, GKE menghapus dukungan untuk
cgroupv1
.
Untuk perkiraan waktu upgrade otomatis ke versi minor yang lebih baru seperti 1.31 dan 1.33, lihat Perkiraan jadwal untuk saluran rilis.
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
.
Memeriksa mode cgroup node cluster
Mode cgroup default bergantung pada jenis cluster atau kumpulan node, dan
versinya. Dengan versi 1.26 atau yang lebih baru, defaultnya adalah cgroupv2
. Dengan versi
1.25 atau yang lebih lama, defaultnya adalah cgroupv1
:
- Untuk cluster Autopilot dan node pool cluster Standard baru yang dibuat dengan penyediaan otomatis node, mode cgroup didasarkan pada versi cluster awal.
- Untuk node pool cluster Standard yang dibuat secara manual tanpa penyediaan otomatis node, mode cgroup didasarkan pada versi node pool awal.
Untuk memeriksa mode cgroup, ikuti petunjuk berdasarkan mode cluster Anda.
Autopilot
Jalankan perintah berikut:
gcloud container clusters describe CLUSTER_NAME \
--format='value(nodePools[0].config.effectiveCgroupMode)'
Ganti CLUSTER_NAME
dengan nama cluster Anda.
Jika outputnya adalah EFFECTIVE_CGROUP_MODE_V2
, cluster berjalan di cgroupv2
.
Jika outputnya adalah EFFECTIVE_CGROUP_MODE_V1
, cluster berjalan di cgroupv1
.
Cluster GKE Autopilot yang awalnya dibuat dengan GKE versi 1.25 atau yang lebih lama menjalankan cgroupv1
hingga Anda memigrasikannya.
Standard
Dengan cluster GKE Standard, mode cgroup ditetapkan di
level node pool. Untuk memeriksa mode setiap node pool, ikuti
petunjuk untuk Memverifikasi konfigurasi
cgroup.
Jika node cluster Anda sudah menggunakan cgroupv2
, Anda tidak perlu melakukan tindakan lebih lanjut.
Memigrasikan node ke cgroupv2
Sebaiknya migrasikan node yang ada sebelum GKE memigrasikannya secara otomatis di versi 1.33 atau yang lebih baru.
Lakukan langkah-langkah berikut untuk memigrasikan node yang menjalankan cgroupv1
:
- Periksa mode cgroup node. Jika node cluster Anda sudah menggunakan
cgroupv2
, Anda tidak perlu melakukan tindakan lebih lanjut. - Tinjau pertimbangan tentang migrasi, Migrasi ke cgroup v2, untuk memastikan bahwa workload Anda siap menggunakan API versi baru.
Migrasikan node untuk cluster Anda.
Autopilot
Tetapkan node cluster Anda secara eksplisit untuk menggunakan
cgroupv2
:gcloud container clusters update CLUSTER_NAME \ --autoprovisioning-cgroup-mode=v2
Ganti
CLUSTER_NAME
dengan nama cluster Anda.Standard
Jika Anda menggunakan penyediaan otomatis node untuk cluster, jalankan perintah berikut untuk memastikan bahwa node pool yang ada dan yang akan dibuat dengan penyediaan otomatis node menggunakan
cgroupv2
:gcloud container clusters update CLUSTER_NAME \ --autoprovisioning-cgroup-mode=v2
Ganti
CLUSTER_NAME
dengan nama cluster Anda.Untuk node pool yang ada yang dibuat tanpa penyediaan otomatis node, perbarui node pool untuk menambahkan hal berikut ke konfigurasi sistem node:
linuxConfig: cgroupMode: 'CGROUP_MODE_V2'
Untuk mempelajari lebih lanjut, lihat Menyesuaikan konfigurasi sistem node.
Saat Anda membuat node pool baru secara manual tanpa penyediaan otomatis node, GKE akan menggunakan
cgroupv2
secara default.
Memilih tidak ikut migrasi otomatis ke cgroupv2
untuk sementara
Untuk sementara menghindari migrasi otomatis node yang menjalankan cgroupv1
ke
cgroupv2
dengan versi minor 1.33 dan yang lebih baru, Anda harus menetapkan
cgroupv1
secara eksplisit. Anda juga dapat menggunakan petunjuk ini untuk sementara kembali ke
cgroupv1
jika memigrasikan node ke cgroupv2
menyebabkan masalah pada beban kerja
cluster Anda.
Autopilot
Jalankan perintah berikut untuk cluster yang awalnya Anda buat menggunakan
versi 1.25 atau yang lebih lama. Jika cluster dibuat dengan menjalankan versi 1.26 atau
yang lebih baru, Anda tidak dapat menetapkan mode cgroup ke cgroupv1
.
Tetapkan node cluster Anda secara eksplisit untuk menggunakan cgroupv1
:
gcloud container clusters update CLUSTER_NAME \
--autoprovisioning-cgroup-mode=v1
Ganti CLUSTER_NAME
dengan nama cluster Anda.
Standard
Untuk terus menjalankan cgroupv1
dengan node pool cluster GKE Standard yang menjalankan versi 1.33 atau yang lebih baru, lakukan langkah-langkah berikut:
Jika Anda menggunakan penyediaan otomatis node, dan cluster Anda dibuat dengan menjalankan versi 1.25 atau yang lebih lama, gunakan perintah berikut untuk memastikan bahwa node pool yang ada dan yang akan datang yang dibuat dengan penyediaan otomatis node menggunakan
cgroupv1
. Jika cluster Anda dibuat dengan menjalankan versi 1.26 atau yang lebih baru, Anda tidak dapat menetapkan mode cgroup kecgroupv1
:gcloud container clusters update CLUSTER_NAME \ --autoprovisioning-cgroup-mode=v1
Ganti
CLUSTER_NAME
dengan nama cluster Anda.Untuk node pool Standard yang ada, update node pool untuk menambahkan hal berikut ke konfigurasi sistem node:
linuxConfig: cgroupMode: 'CGROUP_MODE_V1'
Anda juga harus menetapkan konfigurasi node ini untuk node pool baru yang Anda buat secara manual tanpa penyediaan otomatis node.
Untuk mempelajari lebih lanjut, lihat Menyesuaikan konfigurasi sistem node.