[Day 23] Oops!Helm - 2 to 3

Helm 2 vs Helm 3

重點更新

為什麼要換helm 3?

因為從[Day 21] Oops!Helm - 起手式來看與k8s版本比對表,會發現helm2越來越跟不上k8s最新版本,遲早要淘汰掉helm 2,加上helm 3已經發佈一段時間了,不如早點換上helm 3。

指令異動

以下是我當初更版時發現的指令異動,主要是全部指令幾乎都需要帶入namespace 介紹幾個給大家~

指令 Helm 2 Helm 3
Init helm init 已不需要
List helm ls helm -s -A or helm ls -n default
Install helm install my-backend ./my-backend helm install -n default my-backend ./my-backend
Upgrade helm upgrade my-backend ./my-backend helm upgrade -n default my-backend ./my-backend
Delete helm del --purge my-backend helm uninstall -n default my-backend

My Migrate SOP

1. helm 2 release move to helm 3

指令:

helm plugin install https://github.com/helm/helm-2to3

stdout:

Downloading and installing helm-2to3 v0.7.0 ...
https://github.com/helm/helm-2to3/releases/download/v0.7.0/helm-2to3_0.7.0_linux_amd64.tar.gz

指令:

helm plugin list

可以看到helm plugin列表已經有2to3遷移工具已經安裝好了

NAME    VERSION DESCRIPTION                                                               
2to3    0.7.0   migrate and cleanup Helm v2 configuration and releases in-place to Helm v3

2.遷移helm release -> helm 3

建議先從比較不重要的release開始遷移

helm 2to3 convert ${helm_release}

3. CI/CD helm2 改helm3 & 指令異動調整。

全部遷移完畢後,需要到原本的CI/CD flow調整一下~

4.確認helm 3 指令都正常幾天後整個CI/CD都沒問題後,再砍掉tiller & helm2相關資料

指令

helm 2to3 cleanup

這裡也提供官方的說明文件給讀者們

今日小結

今天我們順完了,整個helm2 to helm3的流程。另外明天會跟各位介紹遷移當中遇到的一些 Oops,再請各位等個一天~~