Think twice before using Helm
本文作者的一家之言是使用 Helm 之前需要三思,列举了几样 Helm 的缺点,想使用 Helm 的同学一定要想清楚怎么克服这些困难。
- 它貌似没带来什么价值。
- 需要额外在 k8s 的 auth/access control 外再加一层 tiller 的 auth/access control, 负担大。
- 模板工具其实可以用
k apply --dry-run
来做类似的事情 - Kubernetes Secrets 的管理没有变的更简单。
- Helm 无法做 Infrastructure 级别的组件管理,例如 kibe-dns, cni provider, cluster autoscaler.
- Helm state 存在 ConfigMap 里面,有 1MB 的限制
- 太经常会把东西升挂,error handling 也不友好,很可能最后要 helm delete —purge 清干净再来一遍
- Tiller 没有 HA,有单点故障的风险。
- 下一代?可能不走 CS 模型,不需要部署 Tiller,内嵌 Lua 脚本。但是还是在 Charts 里面加了不少复杂度进去。
衍生思考:我觉得 helm 带来的价值至少有: yaml 动态渲染,社区维护的模块。基本同意他列举的问题。