美文网首页
Helm2 升级 Helm3

Helm2 升级 Helm3

作者: Mokaffee | 来源:发表于2020-11-03 18:57 被阅读0次

    Helm2 to Helm3 升级记录

    参考资料主要是官网提供的:

    升级主要步骤

    • 先将 helm2 和 helm3 在你机器上共存,注意给不同的名字
    • 给 helm3 安装 2to3 帮助迁移的plugin: helm3 plugin install https://github.com/helm/helm-2to3
    • 迁移 helm2 的一些配置文件到 helm3 helm3 2to3 move config
    • 迁移 helm2 部署的 release,这需要一个个的迁移。
      先用 helm2 list 查看 helm2 安装的所有的release
      再用 helm3 2to3 convert xxx-release-name 一个一个release进行迁移。
      迁移完成后,用 helm3 list -A 检查 helm3迁移过来的release。
      -A 是查看所有namespace下面的release,因为helm3 对于release做了namespace的区分,
      如果只写helm3 list,看到的是 default 这个namespace下的release。
    • 最后一步是清除helm2的数据,这一步不是必须的,但是是强烈建议的。helm3 2to3 cleanup

    Helm3使用记录中遇到的问题

    • helm3 不提供默认的 chart repo,需要手动添加
    • repo "https://kubernetes-charts.storage.googleapis.com"; is no longer available; try "charts.helm.sh/stable"; instead
    • 有一些release可能需要重新使用helm3安装,如:cert-manager, 因为用helm2安装的cert-manager 资源中配置的一些信息,在helm3里面不适用,如:key "app.kubernetes.io/managed-by": must equal "helm": current value is "Tiller"等。

    2021年01月15日17:21:02

    之前在qa环境做了helm2 to helm3的升级,stg 环境升级是 同事做的,prod 环境升级又是我做,时隔这么久再次升级遇到的问题:

    • 迁移 helm2 的一些配置文件到 helm3 helm3 2to3 move config的时候,due to the following error: open /xx/xx/.helm/repositories.yaml: no such file or directory。 猜测是在qa环境做完升级之后,helm2的配置已经被删除了。
      解决方案: helm2 init, 这样可以添加repo 文件,但是遇到添加 Failed to fetch https://kubernetes-charts.storage.googleapis.com/index.yaml : 403 Forbidden.
      https://kubernetes-charts.storage.googleapis.com/index.yaml 这个已经被弃用了。但是在helm2的init命令里依然使用的是这个。
      解决方案: helm2 init --stable-repo-url=https://charts.helm.sh/stable --client-only , 这里直接用: helm2 repo add stable https://charts.helm.sh/stable都不行,因为这个操作需要存在repo文件,必须用init命令初始化repo文件。

    相关文章

      网友评论

          本文标题:Helm2 升级 Helm3

          本文链接:https://www.haomeiwen.com/subject/ozjivktx.html