iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 23
0

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,再請各位等個一天~~


上一篇
[Day 22] Oops!Helm Template and Value
下一篇
[Day 24] Oops!Helm - Can Not Upgrade Release
系列文
遠離 DevOops30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言