Helm 是目前云原生技术体系中进行应用管理最被广泛使用的开源项目,可以帮助管理Kubernetes应用程序。通过Helm Charts,可以快速定义、安装和升级复杂的Kubernetes应用程序。
本文将简短介绍一下Helm v2与v3之间的区别,以及如何将BuildRun低代码开发平台的实例升级到helm v3上。
01 Helm v2和Helm v3的区别
Helm设计之初不仅仅作为一个包管理工具,同时也试图作为一个微型的PaaS平台,因此添加了Tiller服务端,在Tiller服务端中有一整套管理流程和更新策略用以支持其作为PaaS平台的设定,但Tiller的存在却与Kubernetes概念产生了一些重合和冲突。
Tiller的存在导致release名称需要保持全局唯一性,故而不能像Kubernetes一样按照Namespace进行隔离。对于熟悉Kubernetes的用户来说,Tiller就显得有点多余,它的存在不仅提高了部署的复杂度,还含有一些安全隐患。
Helm v3在v2的基础上移除了tiller,变成了一个纯客户端工具,除此之外,还有如下一些变化:
-
部署实例依赖于用户在对应集群中所拥有的权限
-
支持使用secret存储实例信息,更加安全
-
实例按照names