Posted in

Upgrade Kubernetes

Introduction

Upgrade versi Kubernetes merupakan langkah penting untuk memastikan cluster tetap berada pada versi yang didukung, aman, dan stabil. Setiap rilis baru membawa perbaikan bug, peningkatan performa, patch keamanan, serta fitur baru yang dapat meningkatkan keandalan sistem. Selain itu, penggunaan versi lama berisiko menimbulkan masalah kompatibilitas dengan komponen ekosistem Kubernetes seperti kubelet, CNI, CSI, dan berbagai addon. Oleh karena itu, proses upgrade versi perlu dilakukan secara terencana dengan memperhatikan kompatibilitas, perubahan API, serta strategi pelaksanaan agar layanan tetap berjalan optimal dengan gangguan seminimal mungkin.

Sebelum kita upgrade, kita bisa cek CHANGELOG pada masing-masing versi dari kubernetes https://github.com/kubernetes/kubernetes/tree/master/CHANGELOG

Upgrade from 1.31 to 1.32

Upgrade kubeadm

Ubah versi pada repository menjadi 1.32 pada semua master (Saya menggunakan OS ubuntu 24.04)

deb [signed-by=/etc/apt/keyrings/k8s.gpg] https://pkgs.k8s.io/core:/stable:/v1.32/deb/ /

Setelah itu update repo dan check latest versi kubeadm

sudo apt update
sudo apt-cache madison kubeadm

Kita akan menggunakan versi terbaru dari versi 1.32. (Latest version adalah 11 dan dilakukan pada semua master)

sudo apt-mark unhold kubeadm
sudo apt-get install -y kubeadm='1.32.11-*'
sudo apt-mark hold kubeadm

Upgrade Cluster

Setelah kita install kubeadm ke versi 1.32.11, caranya sama seperti yang seperti sebelumnya. Upgrade disalah satu master, kemudian baru apply pada existing node master

Check upgrade plan (pada master1)

sudo kubeadm upgrade plan

Kemudian apply ke versi 1.32.11 (semua master keculai master1)

sudo kubeadm upgrade apply v1.32.11

Setelah itu kita upgrade di master lainnya

sudo kubeadm upgrade node

Upgrade Kubectl & Kubelet

Kita akan upgrade kubelet dan kubectl disemua master dan worker

Upgrade kubelet dan kubectl

sudo apt-mark unhold kubelet kubectl
sudo apt-get install -y kubelet='1.32.11-*' kubectl='1.32.11-*' 
sudo apt-mark hold kubelet kubectl

restart daemon dan service kubelet pada semua nodes (master and worker)

sudo systemctl daemon-reload
sudo systemctl restart kubelet

Check versi dari cluster

kubectl get cm kubeadm-config -n kube-system -o yaml | grep kubernetesVersion

Leave a Reply

Your email address will not be published. Required fields are marked *