Helm v2 迁移到 v3

    1. 移除了Tiller:
      • 用client/library结构(仅仅)替换了 client/server
      • 安全性现在是每个用户的基础(委托给了Kubernetes用户集群安全)
      • 发布版本现在作为集群内的密钥存储且改变了发布对象的元数据
      • 发布版本是在版本命名空间的基础上持久化的并且不再是Tiller的命名空间
    2. 升级了Chart仓库:
      • helm search 现在支持本地仓库搜索和Artifact Hub查询
    3. 对于以下更新的规范,Chart的apiVersion升级到了”v2”:
      • 动态依赖的chart依赖移动到了Chart.yaml (删除了requirements.yaml 且 requirements —> dependencies)
      • 库chart (辅助/公共库) 现在可以添加为动态链接的chart依赖
      • Chart有个type元数据字段将chart定义为applicationlibrary的chart。默认是可渲染和安装的应用
      • Helm 2 的chart (apiVersion=v1) 依然可用
    4. 添加了XDG目录规范:
      • Helm根目录针对存储配置文件删除和替换了XDG目录规范
      • 不再需要初始化Helm
      • 移除了helm inithelm home
      • 此案例适用于你希望用Helm v3管理现有Helm v2版本时
      • 需要注意的是Helm v2 客户端:
        • 可以管理1个或多个Kubernetes集群
        • 可以为一个集权连接1个或多个Tiller实例
      • 这意味着你必须注意当通过Tiller和它的命名空间迁移部署在集群中的发布。因此你必须注意使用Helm v2客户端实例管理的每个集群和Tiller实例的迁移
      • 推荐的数据迁移步骤如下:
        1. 备份v2数据
        2. 迁移Helm v2配置
        3. 迁移Helm v2发布
        4. 当确信Helm v3按预期管理所有的Helm v2 数据时(针对Helm v2 客户端实例的所有集群和Tiller实例)
      • 迁移过程有Helm v3的 2to3插件自动完成
    • 附带示例阐述了 2to3插件的使用