在我刚刚开始用 k8s 的时候,Helm 已经成为了事实标准,基本上用它来管理第三方应用没什么问题,部署完了一年半载才会更新一次,所以好不好用也无所谓了。
最近高强度配置了一些服务,被 Helm 的几个痛点折磨得头昏眼花。说句难听点的,自己用 php 写的模板好用多了。
1. 模板逻辑抽象程度低。
values 里没给你的,你不能要。
values 里给你的,你自己找。
values 里把配置放哪个层级,叫什么名称,看心情。
values 进行了什么骚操作,看源码。
一次配置,两份文档。一份薪水,三倍时间。
2. values 混杂臃肿。
一坨服务,扔一个 values 里配置,应用配置归你管,编排规则归你管,资源限制归你管,权限 Policy 归你管,一个服务一千多行配置,跳转全靠代码搜索,重用靠 yaml ahcor ,这还能管吗?管不了。你不如让我去死。
3. 反应慢。
我真的不知道为什么 helm 处理一遍文件为什么会这么慢。是我的 7600X 速度让您不满意了还是 3gb/s 的硬盘读取落后于时代了,还是 kubectl 20ms 的延迟太长了?说句难听点的 php 里这么慢的引擎早被淘汰了。
4. 版本兼容性一塌糊涂。
你说成熟项目都有官方 chart ,有赞助的项目就算没有 Helm ,你给它个记事本它也能给你整一套完善的部署方案,没赞助的项目愿意给你写两笔文档不错了,配置项更了个字段?自己找吧。
以后反正是不会用 Helm 了,用什么取代暂时还没想好。
最近高强度配置了一些服务,被 Helm 的几个痛点折磨得头昏眼花。说句难听点的,自己用 php 写的模板好用多了。
1. 模板逻辑抽象程度低。
values 里没给你的,你不能要。
values 里给你的,你自己找。
values 里把配置放哪个层级,叫什么名称,看心情。
values 进行了什么骚操作,看源码。
一次配置,两份文档。一份薪水,三倍时间。
2. values 混杂臃肿。
一坨服务,扔一个 values 里配置,应用配置归你管,编排规则归你管,资源限制归你管,权限 Policy 归你管,一个服务一千多行配置,跳转全靠代码搜索,重用靠 yaml ahcor ,这还能管吗?管不了。你不如让我去死。
3. 反应慢。
我真的不知道为什么 helm 处理一遍文件为什么会这么慢。是我的 7600X 速度让您不满意了还是 3gb/s 的硬盘读取落后于时代了,还是 kubectl 20ms 的延迟太长了?说句难听点的 php 里这么慢的引擎早被淘汰了。
4. 版本兼容性一塌糊涂。
你说成熟项目都有官方 chart ,有赞助的项目就算没有 Helm ,你给它个记事本它也能给你整一套完善的部署方案,没赞助的项目愿意给你写两笔文档不错了,配置项更了个字段?自己找吧。
以后反正是不会用 Helm 了,用什么取代暂时还没想好。