Sewaktu upgrade update helm chart di Kubernetes, muncul pesan error
Error: UPGRADE FAILED: another operation (install/upgrade/rollback) is in progress
perintah yang saya gunakan
helm upgrade --install api-golang api-golang -f api-golang/env/dev.yaml -n application
1. Cek helm ls
Pertama cek dulu chart yang sudah di deploy sebelumnya
helm ls -n application
kadang kala, disini tidak muncul helm chart yang baru dideploy, tidak perlu khawatir karena bisa kita cek dengan helm history
2. helm history
Lihat history helm chart tersebut
$ helm history api-golang -n application REVISION UPDATED STATUS CHART APP VERSION DESCRIPTION 1 Mon May 22 09:16:04 2023 superseded api-golang-0.1.0 1.16.0 Upgrade complete 2 Mon May 22 09:38:43 2023 superseded api-golang-0.1.0 1.16.0 Upgrade complete 3 Mon May 22 10:44:38 2023 superseded api-golang-0.1.0 1.16.0 Upgrade complete 4 Mon May 22 13:55:44 2023 superseded api-golang-0.1.0 1.16.0 Upgrade complete 5 Tue May 23 08:49:23 2023 superseded api-golang-0.1.0 1.16.0 Upgrade complete 6 Tue May 23 09:57:24 2023 deployed api-golang-0.1.0 1.16.0 Upgrade complete 7 Tue May 23 10:10:01 2023 failed api-golang-0.1.0 1.16.0 Upgrade "api-golang" failed: pre-upgrade hooks failed: timed out waitig for the condition 8 Tue May 23 10:12:21 2023 pending-upgrade api-golang-0.1.0 1.16.0 Preparing upgrade
kalo dilihat dari history deployment diatas, bisa kita lihat no. 8 masih proses pending-upgrade walaupun sudah lebih dari 20 menit masih tetap prosesnya seperti itu. Solusinya adalah dengan rollback ke deployment terakhir yang sukses, dari contoh diatas adalah revision ke 6.
helm rollback api-golang 6 -n application
Salah satu perintah yang sangat membantu waktu troubleshooting adalah mengambil events di namespace yang anda gunakan
kubectl get events --sort-by='.lastTimestamp' -n application