V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  byzf  ›  全部回复第 1 页 / 共 12 页
回复总数  239
1  2  3  4  5  6  7  8  9  10 ... 12  
78 天前
回复了 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 ,也没办法。
78 天前
回复了 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 了再配置再部署吗?
80 天前
回复了 byzf 创建的主题 Kubernetes 我领悟了,这个世界没有 Helm 会更好
归纳一下观点,就是 Helm 依赖上游 repo 提供 Tmplate , 而下游用户提供 values ,两者之间的逻辑非常固定。

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

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

微软官方给的 sysinternal 工具包里就有 ctrl 和 capslock 互换,原本是为了适配 Unix 键盘的用户习惯,实话说当年这个键盘设计的科学很多,毕竟文字化界面更依赖键盘而不是鼠标。
236 天前
回复了 sinxccc 创建的主题 Vim VIM 的作者 Bram Moolenaar 过世了
伟大的作品,伟大的人。
@zhishixiang 虽然可以诟病的地方很多但换了安卓看的广告比 ios 要少。。
@Yzh361 连 ios 这样的封闭系统也有不 root 就能用的应用管理工具 /文件管理工具,安卓就没有吗。。
@x77 鸿蒙的手机管家卸不了。就没人封装 adb 做个工具吗。。
2022-07-28 15:11:48 +08:00
回复了 bthulu 创建的主题 JavaScript js 写后台, 是不是有点先天残缺?
错误的提问方式:
求推荐 javascript 处理集合的基础库。
回复:2 收藏:16

正确的提问方式:
js 先天残缺,没有处理集合基础库。
回复:100+ 收藏:0
现在的矿老板是只要不到关机价就不卖,到了关机价也始终相信下一波能涨回去,早就回本了,所以根本不急着出货,跟 40 系显卡关系也不大,40 就算出了,老显卡也不会挖不下去。

只要美元还在加息,就大胆放心地等等吧,币价崩了就是王冰冰一手卡都当白菜价卖喽,谁家都没地方放这么多大板砖。
2022-07-28 13:32:08 +08:00
回复了 unt 创建的主题 程序员 如何测试某个 ip 服务器的某个端口是否畅通
nc -zv ,脚本里用就 nc -z 。
因为我没买过安卓手机,做一个不负责任的推测:大多数安卓手机原装的充电线是 A-C 的,所以现在充电头都是 A 头的。

至于苹果,我感觉苹果的充电头已经多数是 C 头的了,因为原厂配的线是 C-lightning 的。

充电头设计的时候会考虑到市场占有率的问题,不知道站里有没有人有生意参谋会员,可以搜一搜。
2022-07-28 08:39:43 +08:00
回复了 byzf 创建的主题 问与答 存不存在能同时连两根 OTG 线的手机
@404neko 目前市面上我没找到 otg 的 hub 。
2022-07-27 15:32:48 +08:00
回复了 wuhen8 创建的主题 Linux 装 archlinux 只能跑百兆, centos 一切正常
@AoEiuV020CN 看错了,我以为 op 是对 archlinux 和 centos 两个包下载速度不同。
2022-07-27 15:05:48 +08:00
回复了 wuhen8 创建的主题 Linux 装 archlinux 只能跑百兆, centos 一切正常
这样推测下,centos 装的人比较多,在某个环节上有缓存。
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1223 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 39ms · UTC 18:05 · PVG 02:05 · LAX 11:05 · JFK 14:05
Developed with CodeLauncher
♥ Do have faith in what you're doing.