Saat menginstal bmctl
versi baru, Anda dapat mengupgrade cluster yang ada
yang dibuat dengan versi sebelumnya. Dengan mengupgrade cluster ke GKE terbaru pada versi Bare Metal, Anda akan mendapatkan fitur dan perbaikan tambahan di cluster Anda. Hal ini juga memastikan bahwa cluster Anda tetap
didukung.
Anda dapat mengupgrade cluster admin, hybrid, mandiri, atau pengguna dengan
perintah bmctl upgrade cluster
, atau Anda dapat menggunakan kubectl
.
Mulai dari GKE pada Bare Metal versi 1.15.0, perilaku upgrade default untuk cluster yang dikelola sendiri (admin, hybrid, atau mandiri) adalah upgrade yang sudah ada. Upgrade yang diterapkan menggunakan pengontrol siklus proses, bukan cluster bootstrap, untuk mengelola seluruh proses upgrade. Perubahan ini menyederhanakan proses dan mengurangi persyaratan resource, yang membuat upgrade cluster lebih andal dan skalabel.
Untuk mempelajari proses upgrade lebih lanjut, lihat Siklus proses dan tahap upgrade cluster.
Pertimbangan upgrade
Bagian ini berisi informasi dan link ke informasi yang harus Anda pertimbangkan sebelum mengupgrade cluster.
Praktik terbaik
Untuk mengetahui informasi yang membantu Anda mempersiapkan upgrade cluster, baca Praktik terbaik untuk cluster Anthos di upgrade cluster bare metal.
Upgrade pemeriksaan preflight
Pemeriksaan preflight dijalankan sebagai bagian dari upgrade cluster untuk memvalidasi status cluster dan kondisi node. Upgrade cluster tidak akan dilanjutkan jika pemeriksaan preflight gagal. Untuk informasi selengkapnya tentang pemeriksaan preflight, lihat Memahami pemeriksaan preflight.
Anda dapat memeriksa apakah cluster siap untuk diupgrade dengan menjalankan pemeriksaan preflight sebelum menjalankan upgrade. Untuk mengetahui informasi selengkapnya, lihat Pemeriksaan preflight untuk upgrade.
Masalah umum
Untuk mengetahui informasi tentang potensi masalah terkait upgrade cluster, lihat Cluster Anthos terkait masalah umum bare metal dan pilih kategori masalah Upgrade dan update.
Mengupgrade cluster admin, mandiri, hybrid, atau pengguna
Bagian ini berisi petunjuk untuk mengupgrade cluster.
bmctl
Saat mendownload dan menginstal bmctl
versi baru, Anda dapat mengupgrade
cluster admin, hybrid, mandiri, dan pengguna yang dibuat dengan versi sebelumnya.
Untuk versi bmctl
tertentu, cluster dapat diupgrade ke versi yang sama saja.
Download
bmctl
terbaru seperti yang dijelaskan dalam GKE pada download Bare Metal.Update
anthosBareMetalVersion
di file konfigurasi cluster ke versi target upgrade.Versi target upgrade harus cocok dengan versi file
bmctl
yang didownload. Cuplikan file konfigurasi cluster berikut menunjukkan kolomanthosBareMetalVersion
yang diupdate ke versi terbaru:--- apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: cluster1 namespace: cluster-cluster1 spec: type: admin # Anthos cluster version. anthosBareMetalVersion: 1.15.11
Gunakan perintah
bmctl upgrade cluster
untuk menyelesaikan upgrade:bmctl upgrade cluster -c CLUSTER_NAME --kubeconfig ADMIN_KUBECONFIG
Ganti kode berikut:
- CLUSTER_NAME: nama cluster yang akan diupgrade.
- ADMIN_KUBECONFIG: jalur ke file kubeconfig cluster admin.
Operasi upgrade cluster menjalankan pemeriksaan preflight untuk memvalidasi status cluster dan kondisi node. Upgrade cluster tidak akan dilanjutkan jika pemeriksaan preflight gagal. Untuk mengetahui informasi pemecahan masalah, baca Memecahkan masalah penginstalan atau upgrade cluster.
Setelah semua komponen cluster berhasil diupgrade, operasi upgrade cluster akan melakukan health check cluster. Langkah terakhir ini memverifikasi bahwa cluster berada dalam kondisi operasi yang baik. Jika cluster tidak lulus semua health check, cluster akan terus berjalan hingga lulus. Jika semua health check lulus, upgrade akan berhasil diselesaikan.
Untuk mengetahui informasi selengkapnya tentang urutan peristiwa untuk upgrade cluster, lihat Siklus proses dan tahap upgrade cluster.
kubectl
Untuk mengupgrade cluster dengan kubectl
, lakukan langkah-langkah berikut:
Edit file konfigurasi cluster untuk menetapkan
anthosBareMetalVersion
ke versi target upgrade.Untuk memulai upgrade, jalankan perintah berikut:
kubectl apply -f CLUSTER_CONFIG_PATH
Ganti
CLUSTER_CONFIG_PATH
dengan jalur ke file konfigurasi cluster yang diedit.
Seperti pada proses upgrade dengan bmctl
, pemeriksaan preflight dijalankan sebagai bagian dari
upgrade cluster untuk memvalidasi status cluster dan kondisi node. Jika pemeriksaan preflight gagal, upgrade cluster akan dihentikan. Untuk memecahkan masalah kegagalan,
periksa cluster dan log terkait, karena tidak ada cluster bootstrap yang dibuat. Untuk
mengetahui informasi selengkapnya, lihat
Memecahkan masalah penginstalan atau upgrade cluster.
Meskipun Anda tidak memerlukan versi terbaru bmctl
untuk mengupgrade cluter dengan
kubectl
, sebaiknya Anda
mendownload bmctl
terbaru. Anda memerlukan bmctl
untuk
melakukan tugas-tugas lainnya, seperti health check dan pencadangan, untuk memastikan
cluster Anda tetap berfungsi dengan baik.
Upgrade paralel
Pada upgrade cluster default yang umum, setiap node cluster diupgrade secara berurutan, satu demi satu. Bagian ini menunjukkan cara mengonfigurasi kumpulan node pekerja dan cluster agar beberapa node diupgrade secara paralel saat Anda mengupgrade cluster. Mengupgrade node secara paralel akan mempercepat upgrade cluster secara signifikan, terutama untuk cluster yang memiliki ratusan node.
Ada dua strategi upgrade paralel yang dapat Anda gunakan untuk mempercepat upgrade cluster:
Upgrade node serentak: Anda dapat mengonfigurasi kumpulan node pekerja sehingga beberapa node diupgrade secara paralel. Upgrade node paralel dikonfigurasi dalam spesifikasi NodePool (
spec.upgradeStrategy.parallelUpgrade
) dan hanya node dalam kumpulan node pekerja yang dapat diupgrade secara paralel. Node di bidang kontrol atau kumpulan node load balancer hanya dapat diupgrade satu per satu. Untuk informasi selengkapnya, lihat Strategi upgrade node.Upgrade kumpulan node serentak: Anda dapat mengonfigurasi cluster agar beberapa kumpulan node diupgrade secara paralel. Hanya kumpulan node pekerja yang dapat diupgrade secara paralel. Kumpulan node bidang kontrol dan load balancer hanya dapat diupgrade satu per satu. Kemampuan untuk mengupgrade beberapa kumpulan node secara serentak tersedia untuk Pratinjau Publik. Untuk mengetahui informasi selengkapnya, baca Strategi upgrade kumpulan node.
Strategi upgrade node
Anda dapat mengonfigurasi kumpulan node pekerja agar beberapa node melakukan upgrade secara serentak
(concurrentNodes
). Anda juga dapat menetapkan batas minimum untuk jumlah
node yang dapat menjalankan beban kerja selama proses upgrade
(minimumAvailableNodes
). Konfigurasi ini dibuat dalam spesifikasi NodePool. Untuk
mengetahui informasi selengkapnya tentang kolom ini, lihat
Referensi kolom konfigurasi cluster.
Strategi upgrade node hanya berlaku untuk kumpulan node pekerja. Anda tidak dapat menentukan strategi upgrade node untuk kumpulan node load balancer atau bidang kontrol. Selama upgrade cluster, node di bidang kontrol dan node load balancer melakukan upgrade secara berurutan, satu per satu. Kumpulan node bidang kontrol dan kumpulan node load balancer
ditentukan dalam spesifikasi Cluster (controlPlane.nodePoolSpec.nodes
dan
loadBalancer.nodePoolSpec.nodes
).
Saat Anda mengonfigurasi upgrade paralel untuk node, perhatikan batasan berikut:
Nilai
concurrentNodes
tidak boleh melebihi 20 persen dari jumlah node dalam kumpulan node, atau 10, mana saja yang lebih kecil. Misalnya, jika kumpulan node memiliki 40 node, Anda tidak dapat menetapkan nilai yang lebih besar dari 8. Jika kumpulan node Anda memiliki 100 node, 10 adalah nilai maksimum yang dapat Anda tentukan.Saat Anda menggunakan
concurrentNodes
bersama denganminimumAvailableNodes
, nilai gabungan tidak boleh melebihi jumlah total node dalam kumpulan node. Misalnya, jika kumpulan node Anda memiliki 20 node danminimumAvailableNodes
ditetapkan ke 18,concurrentNodes
tidak boleh melebihi 2. Demikian pula, jikaconcurrentNodes
ditetapkan ke 10,minimumAvailableNodes
tidak boleh melebihi 10.
Contoh berikut menunjukkan kumpulan node pekerja np1
dengan 10 node. Pada proses upgrade, node mengupgrade dua sekaligus dan setidaknya 5 node harus tetap tersedia agar upgrade dapat dilanjutkan:
apiVersion: baremetal.cluster.gke.io/v1
kind: NodePool
metadata:
name: np1
namespace: cluster-cluster1
spec:
clusterName: cluster1
nodes:
- address: 10.200.0.1
- address: 10.200.0.2
- address: 10.200.0.3
- address: 10.200.0.4
- address: 10.200.0.5
- address: 10.200.0.6
- address: 10.200.0.7
- address: 10.200.0.8
- address: 10.200.0.9
- address: 10.200.0.10
upgradeStrategy:
parallelUpgrade:
concurrentNodes: 2
minimumAvailableNodes: 5
Strategi upgrade kumpulan node
Anda dapat mengonfigurasi cluster agar beberapa kumpulan node pekerja diupgrade secara
paralel. Kolom Boolean nodePoolUpgradeStrategy.concurrentNodePools
dalam
spesifikasi cluster menentukan apakah akan mengupgrade semua kumpulan node pekerja untuk
cluster secara serentak atau tidak. Secara default (1
), kumpulan node diupgrade secara berurutan, satu demi satu. Jika Anda menetapkan concurrentNodePools
ke 0
, setiap kumpulan node pekerja di cluster akan diupgrade secara paralel.
Kumpulan node bidang kontrol dan load balancing tidak terpengaruh oleh setelan ini.
Kumpulan node ini selalu diupgrade secara berurutan, satu per satu. Kumpulan node bidang kontrol dan kumpulan node load balancer ditentukan dalam spesifikasi Cluster (controlPlane.nodePoolSpec.nodes
dan loadBalancer.nodePoolSpec.nodes
).
Kemampuan untuk mengupgrade semua kumpulan node pekerja secara serentak hanya tersedia untuk Pratinjau. Jangan gunakan fitur ini pada cluster produksi.
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: cluster1
namespace: cluster-cluster1
spec:
...
nodePoolUpgradeStrategy:
concurrentNodePools: 0
...
Cara melakukan upgrade paralel
Bagian ini menjelaskan cara mengonfigurasi cluster dan kumpulan node pekerja untuk upgrade paralel.
Untuk melakukan upgrade paralel kumpulan node pekerja dan node dalam kumpulan node pekerja, lakukan hal berikut:
Tambahkan bagian
upgradeStrategy
ke spesifikasi NodePool.Anda dapat menerapkan manifes ini secara terpisah atau sebagai bagian dari file konfigurasi cluster saat mengupdate cluster.
Berikut contohnya:
--- apiVersion: baremetal.cluster.gke.io/v1 kind: NodePool metadata: name: np1 namespace: cluster-ci-bf8b9aa43c16c47 spec: clusterName: ci-bf8b9aa43c16c47 nodes: - address: 10.200.0.1 - address: 10.200.0.2 - address: 10.200.0.3 ... - address: 10.200.0.30 upgradeStrategy: parallelUpgrade: concurrentNodes: 5 minimumAvailableNodes: 10
Dalam contoh ini, nilai kolom
concurrentNodes
adalah5
, yang berarti 5 node diupgrade secara paralel. KolomminimumAvailableNodes
ditetapkan ke10
, yang berarti setidaknya 10 node harus tetap tersedia untuk beban kerja selama upgrade.Tambahkan bagian
nodePoolUpgradeStrategy
ke spesifikasi Cluster dalam file konfigurasi cluster.--- apiVersion: v1 kind: Namespace metadata: name: cluster-user001 --- apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: user001 namespace: cluster-user001 spec: type: user profile: default anthosBareMetalVersion: 1.15.0 ... nodePoolUpgradeStrategy: concurrentNodePools: 0 ...
Dalam contoh ini, kolom
concurrentNodePools
disetel ke0
, yang berarti semua kumpulan node pekerja melakukan upgrade secara serentak selama upgrade cluster. Strategi upgrade untuk node dalam node pool ditentukan dalam spesifikasi NodePool.Upgrade cluster seperti yang dijelaskan di bagian Mengupgrade cluster admin, mandiri, hybrid, atau pengguna sebelumnya.
Cara menonaktifkan upgrade paralel node
Upgrade paralel dinonaktifkan secara default dan kolom yang terkait dengan upgrade paralel dapat diubah. Anda dapat menghapus kolom atau menetapkannya ke nilai default kapan saja untuk menonaktifkan fitur sebelum upgrade berikutnya.
Tabel berikut mencantumkan kolom upgrade paralel dan nilai defaultnya:
Kolom | Nilai default | Arti |
---|---|---|
nodePoolUpgradeStrategy.concurrentNodePools (Spesifikasi cluster) |
1 |
Upgrade kumpulan node pekerja secara berurutan, satu demi satu. |
upgradeStrategy.parallelUpgrade.concurrentNodes (Spesifikasi NodePool) |
1 |
Upgrade node secara berurutan, satu demi satu. |
upgradeStrategy.parallelUpgrade.minimumAvailableNodes (Spesifikasi NodePool) |
0 |
Tidak ada persyaratan untuk memastikan bahwa setiap node tersedia selama upgrade. |