[Day 23] Oops!Helm - 2 to 3
· 1 min read
Helm 2 vs Helm 3
重點更新
- Tiller移除
- Chart的apiVersion更新為"v2",目前還是能兼容"v1"版本。
- 不再需要初始化Helm(
helm init
)
為什麼要換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,再請各位等個一天~~