helm V2升级V3版本方案
发表于|更新于
|阅读量:
Helm3安装
helm3相比于helm2变化较大,去掉了tiller 组件,直接由可执行文件helm与kubernetes进行交互,引入了namespace的概念,对应k8s的namespace,支持分布式的chart仓库等,目前很多中间件集群的部署方案基于helm3,因此helm的版本急需升级到V3。
安装过程
下载helm v3.6.3软件包
1 2
| wget https://get.helm.sh/helm-v3.6.3-linux-amd64.tar.gz
|
解压(tar zxf helm-v3.6.3-linux-amd64.tar.gz)
在解压目录中找到helm程序,移动到需要的目录中(mv linux-amd64/helm /usr/local/bin/helm3)
验证
Helm2to3插件安装
在线安装2to3插件
1 2 3 4 5
| helm3 plugin install https://github.com/helm/helm-2to3 # 输出 # Downloading and installing helm-2to3 v0.1.3 ... # https://github.com/helm/helm-2to3/releases/download/v0.1.3/helm- 2to3_0.1.3_darwin_amd64.tar.gz # Installed plugin: 2to3
|
离线安装2to3插件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| helm3 env
mkdir -p /root/.local/share/helm/plugins
wget https://github.com/helm/helm-2to3/releases/download/v0.9.0/helm-2to3_0.9.0_linux_amd64.tar.gz
mv helm-2to3_0.9.0_linux_amd64.tar.gz /root/.local/share/helm/plugins/ cd /root/.local/share/helm/plugins && mkdir helm2to3 && tar zxf helm-2to3_0.9.0_linux_amd64.tar.gz -C helm2to3/
cd helm2to3 && mkdir bin && mv 2to3 bin/
|
验证
Helm2to3数据迁移过程
命令介绍
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| helm3 2to3 move config -h
Usage: 2to3 move config [flags]
Flags: --dry-run -h, --help --skip-confirmation ---------------
helm3 2to3 convert -h
Usage: 2to3 convert [flags] RELEASE
Flags: --delete-v2-releases --dry-run -h, --help --ignore-already-migrated --kube-context string --kubeconfig string -l, --label string -s, --release-storage string --release-versions-max int -t, --tiller-ns string --tiller-out-cluster
|
数据迁移
1. 配置迁移
1 2 3 4 5 6 7 8 9 10
| # 包含 Chart starters、Repositories、Plugins helm3 2to3 move config
# 验证,helm v2版本的 helm3 repo list # NAME URL # prometheus-community https://prometheus-community.github.io/helm-charts # kube-state-metrics https://kubernetes.github.io/kube-state-metrics # nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/ # bitnami https://charts.bitnami.com/bitnami
|
2. Releases迁移
1 2 3 4 5
| helm3 2to3 convert [release name]
# 验证 helm3 list # 迁移的release 从 v2复制到了 v3
|
Helm2数据清理(可选)
- 卸掉Tiller(
kubectl delete deploy tiller-deploy -n kube-system)
- 删掉helm2的主文件夹(
rm -rf $HELM_HOME )