介绍

helmfile是一个声明式helm chart管理工具,目前该项目已经从roboll/helmfile 转移到了 helmfile/helmfile。

特征

1. 通过一个YAML集中管理集群中多个Helm Chart, 类似于Docker Compose统一管理Docker
2. 对Helm Chart根据部署环境区分管理
3. Helm Chart版本控制,比如指定版本范围、锁定某一版本
4. 快速识别 Kubernetes 集群内已经部署应用与新更改之间的差异
5. Helmfile支持Go Templates语法定义Helm Chart
6. 在部署阶段支持配置hook,可以执行脚本等,实现变量远程获取,报错清理,成功提醒等

架构

目前对于详情未介绍,可以看文档,详情:https://helmfile.readthedocs.io/en/latest/#installation

部署

1. 二进制
直接下载二进制即可运行,地址:https://github.com/helmfile/helmfile/releases
2. 包管理工具
* Archlinux: `pacman -S helmfile`
* openSUSE: `zypper in helmfile`
* Windows: ([scoop](https://scoop.sh/)): `scoop install helmfile`
* macOS ([homebrew](https://brew.sh/)): `brew install helmfile`
3. 容器
通过容器运行,详情见:[run as a container](https://helmfile.readthedocs.io/en/latest/#running-as-a-container)