byzf 最近的时间轴更新
byzf

byzf

V2EX 第 459414 号会员,加入于 2019-12-16 06:05:19 +08:00
根据 byzf 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
byzf 最近回复了
68 天前
回复了 byzf 创建的主题 Kubernetes 我领悟了,这个世界没有 Helm 会更好
看了几个替代的方案:

1. kustomize

第一个考虑的选项,因为不需要引入外部依赖。抽象方式是先声明一个 resource ,然后以这个 resource 为 base ,声明对它的修改 overlay ,每个 overlay 又可以作为 base 。

用法很灵活,但语法不太聪明的样子,另外项目搞复杂的话,嵌套体系 debug 起来很麻烦。

2. cdk8s

用代码生成 resource ,彻底抛弃 yaml 扁平易读的特点,因而获得了代码补全,相当于写 helm chart 的时候方便了很多。

不太能接受这种设计,yaml 是实践出的最佳标准,语法对运维来说太合理了,抛弃 yaml 舍本取末,大概率走不远。

3. carvel.ytt

感觉不错的项目,语法简单干净,本身是合法的 yaml ,配套设施完整,教程也直观。

没有 windows 版,似乎用的人不多。这种自创语法的模板,如果没有广泛的社区支持,很容易被时代遗忘。整体来说,ytt 是所有项目里给我感觉最合理、贴近运维需求的。

4. tanka + jsonnet

感觉不错,美中不足用了 json 而不是 yaml 。发展的很一般,同样没有 windows 版,用的人不多。google 似乎对 jsonnet 没有什么动力了, 试图借 jsonnet 生态完善功能的美梦最后起了反作用。

优点是语法很直观,靠推测就能用,几乎不用文档。

5. operator

官方应该是推荐简单部署用 kustomize , 复杂部署直接用 operator 。但就我个人的体验来说,operator 如果配置错误,是有能力把整个 cluster 搞崩的,更不用说 operator 本身可能有漏洞。

运维发展了这么多年,这么多项目和代价,终于有了一个不用担心把其他服务带崩的环境。我在 docker 时代就已经解决了的问题,为什么到 k8s 里要引入更复杂的抽象来创造问题呢?但目前的打包方案都有些瑕疵,所以比较成熟的项目都是跟着官方用 operator ,也没办法。
69 天前
回复了 byzf 创建的主题 Kubernetes 我领悟了,这个世界没有 Helm 会更好
@mantou99 Helm 开发团队对自己的定义是 k8s 的包管理器,目的是简单配置和稳定部署。helm chart 不是写的不好,而是根本没有人能写好,因为在它的模式下,上游要么让 values 变得大而全,要么只实现部分自定义,这两种情况都脱离了 helm 对自己的功能定位。

我觉得你对工具的理解有问题,如果下游用户要自己动手解决所有问题,那工具就没有意义了不是吗。


@CivAx
1. 不是所有 chart 都预留了插入配置的位置,并且官方也没有定义标准的预留方式,导致每个团队预留的方式都不同,最终还是要看文档或源码。这是 hack ,不是 solution 。设计得过于自由开放导致每个人用法不一样,实际更难用的软件比比皆是。

2. 你所表述只是 Helm 的一部分,即通过 Template + values 的方式,实现一个管理 k8s manifest 文件的抽象工具,这部分功能没有问题。

但 Helm 还有一个角色,是作为 k8s 体系的打包工具和包管理器。涉及到的问题是打包,配置,安装,卸载。而配置不方便并不是某个项目的个例,以至于很多复杂的项目开始用 Operator 来管理。

你是怎么用 Helm 的?是每个 repo 都 fork 了再配置再部署吗?
70 天前
回复了 byzf 创建的主题 Kubernetes 我领悟了,这个世界没有 Helm 会更好
归纳一下观点,就是 Helm 依赖上游 repo 提供 Tmplate , 而下游用户提供 values ,两者之间的逻辑非常固定。

但实际情况下,上游不能完全考虑到用户需要什么,往往是用户的想法一旦和开发者有一点出入,就要回过头去查阅和 Debug 模板,有时候还要自己写模板,导致 Helm 变成了多余的步骤。
70 天前
回复了 byzf 创建的主题 Kubernetes 我领悟了,这个世界没有 Helm 会更好
@lasuar 对于包管理器肯定是希望它类似于 apt ,yum ,pip ,安装了都是直接看软件文档而不需要再看一遍打包过程。这又回到古代了,安装软件之前先读一遍 makefile 。
70 天前
回复了 byzf 创建的主题 Kubernetes 我领悟了,这个世界没有 Helm 会更好
@lasuar Helm 之后,一个配置条目可以源自 helm values ,可以源自 helm template ,甚至可能是经过逻辑、运算、拼接生成的,也可以源自 template 里生成的一个 ConfigMap ,而这个 ConfigMap 可能又引用了 values 的值。

Helm 把原本基于 yaml 的 source of truth ,变成了各个项目综合计算后的结果,debug 难度上升一层。再加上 template 毫无体验的语法,可以说是吃饱了给自己找点活干干。
105 天前
回复了 Myprajna 创建的主题 分享发现 云闪付的国际化笑死我了
云闪付好像走的接口都是新弄的,银行自己家的 app 什么登录密码账号密码一大堆,还有电子银行手机银行一大堆服务涉及到不同的密码和限制,云闪付是直接全都能用。
116 天前
回复了 paradox2023 创建的主题 职场话题 为啥别人都是年薪几十万
创业几次把房子都赔进去的,这么说你心里会不会好受一点。
https://learn.microsoft.com/en-us/sysinternals/downloads/ctrl2cap

微软官方给的 sysinternal 工具包里就有 ctrl 和 capslock 互换,原本是为了适配 Unix 键盘的用户习惯,实话说当年这个键盘设计的科学很多,毕竟文字化界面更依赖键盘而不是鼠标。
226 天前
回复了 sinxccc 创建的主题 Vim VIM 的作者 Bram Moolenaar 过世了
伟大的作品,伟大的人。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5412 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 06:43 · PVG 14:43 · LAX 23:43 · JFK 02:43
Developed with CodeLauncher
♥ Do have faith in what you're doing.