helm v2升级v3版本遇到的疑难杂症

本文介绍了如何使用官方工具helm-2to3将Helm V2的数据平滑迁移到V3,包括迁移插件、Chart仓库、Chart starters和Release。在迁移过程中,强调了使用--dry-run进行预演的重要性,以及在Helm V3中更新charts的注意事项,如修改apiVersion和合并requirements.yaml。最后,提供了清理Helm V2 Release的步骤。
摘要由CSDN通过智能技术生成

Helm V3 与 V2 版本架构变化较大,数据迁移也比较麻烦,官方为了解决数据迁移问题,提供一个 helm-2to3 工具,本文基于 helm-2to3 工具来迁移 V2 版本中的数据。

注意:Helm V2 升级 V3 版本,Kubernetes 集群中 Deployment、Service、Pod等都不会重新创建,所以迁移过程是不会影响线上在跑的服务。

安装 Helm V3 命令
下载 helm 最新 v3.2.3 版本

$ wget https://get.helm.sh/helm-v3.2.3-linux-amd64.tar.gz -O /tmp/helm-v3.2.3-linux-amd64.tar.gz

解压并移动到 /usr/local/bin/ 目录下

# 解压
$ tar xf /tmp/helm-v3.2.3-linux-amd64.tar.gz

# 移动
$ cd /tmp/linux-amd64
$ mv helm /usr/local/bin/helm3

安装 2to3 插件
一键安装

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

检查 2to3 插件是否安装成功

$ helm3 plugin list

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

迁移 Helm V2 配置
下面操作主要迁移:
1.Helm 插件
2.Chart 仓库
3.Chart starters

$ helm3 2to3 move config

检查 repo 和 plugin

# 检查 repo
$ helm3 repo list

NAME       URL
stable     https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

# 更新 repo
$ helm3 repo update

Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "stable" chart repository

# 检查 plugin
$ helm3 plugin list

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

迁移 Heml V2 Release
查看 2to3 插件中 convert 子命令选项

$ helm3 2to3 convert --help

migrate Helm v2 release in-place to Helm v3

Usage:
  2to3 convert [flags] R
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Helm是一个用于管理Kubernetes应用程序的工具,它可以帮助开发者更轻松地部署、升级和管理应用程序的版本。Helm v2v3是Helm的两个主要版本,它们之间有一些重要的区别。 首先,Helm v2使用的是基于服务器端的Tiller组件来管理应用程序的部署。Tiller在v2版本中负责与Kubernetes API进行交互,并跟踪应用程序的状态。然而,Tiller在安全性和性能方面存在一些问题,并且需要额外的配置和权限来正确运行。 为了解决这些问题,Helm v3于2019年发布,并移除了Tiller组件。在v3版本中,Helm完全依赖于Kubernetes API来进行应用程序的部署和管理。这种改变不仅提高了Helm的安全性和性能,还简化了Helm的安装和配置过程。 另一个重要的改变是Helm v3中引入了命名空间的概念。在Helm v2中,所有的应用程序都会部署到同一个默认的命名空间中,这可能导致应用程序之间的冲突。而在Helm v3中,每个应用程序都可以分配到不同的命名空间中,从而更好地隔离和管理应用程序。 此外,Helm v3还改进了依赖管理的方式。在Helm v2中,依赖被视为Helm Chart中的一个子图表,这导致了一些容易出错和难以维护的情况。在Helm v3中,依赖被视为外部的Chart,这使得依赖的安装和更新更加简单和可靠。 综上所述,Helm v3相较于v2来说,在安全性、性能、安装、配置、应用程序隔离和依赖管理等方面都有了一些重大的改进。因此,如果要选择使用Helm进行Kubernetes应用程序管理,推荐使用Helm v3以获得更好的体验和性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值