V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  CivAx  ›  全部回复第 27 页 / 共 69 页
回复总数  1362
1 ... 23  24  25  26  27  28  29  30  31  32 ... 69  
168 天前
回复了 byzf 创建的主题 Kubernetes 我领悟了,这个世界没有 Helm 会更好
@byzf

1. Hack 或 Solution ,取决于一个语言有没有足够的规范来约束用法、语法更新频率是否够高,强约束性和能够及时更新特性的高级语言,是很少、或仅能短暂存在 Hack 的,比如 Jenkins 用的 Groovy 。Yaml 作为一种 markup language ,本质上是一份描述文件,Helm 在描述文件的基础上提供了逻辑判断、运算符的中间层逻辑,而最终文件仍然是 markup language 逻辑的声明式描述文件,这种软件对于编码语言的弱约束带来的极高自由度是一定会存在 Hack 的,而且并不能称为 Hack ,因为解析编码语言的处理器本身并没有缺失对应的处理逻辑,而是直接告诉你万物皆允。

通常在 Nested Chart 里,子 Chart 里的配置在母 Values 里缺失的情况非常常见,这种可以在母 Values 里用 key override 的方式直接覆盖。如果子 Chart 没有,或者 Chart 作者提供的判断逻辑对你而言不适用,你可以直接改造子 Chart ,并在 Values 中新增对应的键值。

2. Helm 作为一个包管理器角色事实上是有些过誉了,Helm 做不到传统意义上的包管理器比如 yum 的逻辑复杂度,这类包管理器通常会存在大量的自检、判断、依赖检查、善后检查。Helm 更近似 npm 这种依赖作者的 manifest 进行包安装、包卸载的简单管理器。Helm 的出发点和主要服务目的,是简化零散 K8s 资源的管理、安装、卸载,并在这之上被社区发展出了版本管理、回滚(实则是操作 RS )等添头。使用 Operator 管理是正确的,而且与 Helm 并不冲突,Helm 在原始文件的管理阶段,比如你 operator 的 deployment 仍然可以通过 Helm 来部署,而 Operator 的核心目的实际上是试图解决 StatefulSet 在扩容上的棘手问题,出于该核心目的衍生出了部署逻辑,Operator 才因而存在可以 gracefully 部署、清除应用以及跟该应用相关联的 K8S res 的能力,这与 Helm 是两个不同的出发点,两者在某些角度上来看存在功能的重叠,但实则是不同的处理逻辑。

我们这边使用 Helm 的方式,是公司有专门的 infra team 管理 Chart ,Chart 的来源可能是自编或 bitnami 等他人写好的,每一个 Chart 都会 Clone 到本地,固化 Values 数值变动(或准备多份 Values ),然后提供 git repo 给 cluster operator 部署。如果 remote 有更新,就 diff 对比变动,然后择选合并到本地,并且创建新的版本分支且 M 到 Main ;如果内部有需求,则根据内部需求修改 Values 或者改造 Chart 本身。
@h0t 那您开的是什么呢
@Lin0936 新 530 感觉林林总总落地得弄到 50 万了
仅当你能用新电脑挣回票价的时候,才考虑购置新的设备,不然花自己钱给资本家打工,太贱了
169 天前
回复了 echo0x000001 创建的主题 职场话题 应该向父母隐瞒自己的实际工资吗?
@codergrowing 确实,我也是出于这个心态所以这么干的
169 天前
回复了 byzf 创建的主题 Kubernetes 我领悟了,这个世界没有 Helm 会更好
只要你自己从 0 开始写过一份 Helm Chart ,很多你吐槽的点实际上都是不存在的。如果你只把 Helm Chart 当作一个傻瓜工具来用,那么工具的易用程度极其依赖于作者的文档水平。

> values 里没给你的,你不能要

错误的。只要末端 manifest ( deployment 、service 、configmap 、tpl )预留了位置,你可以直接插入。



> values 里给你的,你自己找
> values 里把配置放哪个层级,叫什么名称,看心情。
> values 进行了什么骚操作,看源码。

你在试图通过 values 去正向推理最终的 deployment.yaml 的渲染结果,这当然是错误的。values 的目的是为了抽象末端 manifest 中的配置项,你可以集中在一个地方看到你的改动,而不需要深入文件去一个个翻,因此 values 的运行逻辑必须从末端 manifest 开始反向推理,末端文件决定了 values 里面存在什么配置、每个配置放在什么地方。



> 一坨服务,扔一个 values 里配置,应用配置归你管,编排规则归你管,资源限制归你管,权限 Policy 归你管,一个服务一千多行配置,跳转全靠代码搜索,重用靠 yaml ahcor ,这还能管吗?管不了。你不如让我去死。

应用配置、编排规则、资源限制、权限 Policy 通常可能分属到不同的末端文件,而且除此之外还有储存配置、网络配置等,如果 values 能成功把散落在不同的 yaml 里的配置抽象到一份配置文件里,那说明 values 成功了。

比如我有一个服务,我需要配置 storageClass.yaml 、配置 priorityClass.yaml 、配置 service.yaml 、配置 ingress.yaml 、根据用户选择判断调用 deployment.yaml 还是 statefulset.yaml 、拥有不同类型的 secret.yaml 、拥有多份 configmap.yaml 、需要多个 PVC.yaml 、或许还拥有自己的 crds.yaml ,如果没有 values 会发生什么?你改了一份文件里的值,你需要串联同步改多份文件,变动散落在各处,查历史改动淹没在 git commit 里,而 values 要做的就是把所有的修改集中到同一份配置文件里,集中配置、集中管理、集中读取,每一个终端文件都保持变量引用的 clean state ,不写死任何值,预留尽可能全面的参数引用,这样 manifest 是完全无需维护的,仅需要维护 values 和 readme 即可。



> 我真的不知道为什么 helm 处理一遍文件为什么会这么慢

这个确实从没遇到过,常见的多层 nested 的复杂 chart 比如 gitlab 、kube-prometheus-stack ,渲染均是即时的。



> 没赞助的项目愿意给你写两笔文档不错了,配置项更了个字段?自己找吧。

本质上是项目作者的问题,与工具无关。而且 Helm Chart 并非黑盒,可以通过自己读 Chart 的方式,知道每一个 values 的值类型以及可用选项,或者手动改写末端 manifest 来允许自己在 values 中带入自定义字段,非常自由。
@volvo007 喔,扫了眼 4090 又涨了,我买水神 OC 那会儿才 12000
感觉做成一个 App 似乎太重了,有点像是一年只会点开几次的软件
170 天前
回复了 gxr1020 创建的主题 分享创造 创建属于自己的本地漫画书架
有没有适合本子用的(
4090 12000
13900K 3400
主板 2200
64G 内存 1200
-----
19800
170 天前
回复了 Arguments 创建的主题 职场话题 来聊聊年底公司的那些糟心事
@Arguments 在国内外企摸鱼而已
170 天前
回复了 Arguments 创建的主题 职场话题 来聊聊年底公司的那些糟心事
已经两年没写年终总结和新年 OKR 了,也没有团饭聚餐……远离国内企业(
173 天前
回复了 rqzrqh 创建的主题 云计算 多服务的 docker 方案该如何正确实现?
比较通常的做法是 entrypoint 指向到一个 init.sh ,通过传入不同的参数给脚本,唤起不同的后端
@abersheeran 我悟了,大师
@MorJS 多了去了,当作一个交互型搜索引擎用就行,对比搜索引擎自行在结果中摘选正确答案,AI 的作用就是能在绝大部分情况下直接给出你正确答案,摘录我的一些提问:
- 蓝风铃和晚香玉的味道一样吗?(解释了蓝风铃名字的由来,以及与晚香玉在植物学上的差别)
- 长虹玻璃的名字来源是什么(直接给出解释,三大搜索引擎都没有正确答案的问题,这是我最爱用来举例的例子)
- Does debit card have CVV?
- 毛衣是聚酯纤维还是晴纶的好
@cherryas 保证金赔付逻辑没错,错的是淘宝商家因为跑路导致支付宝被冻结后,保证金也一并被冻结,且无法用于划账赔付。
@cherryas 首先游戏的击键速度比打字要更快,我认为这个是囊括了更低频的打字和其他低频击键用途的,这个应该没有理解问题。

其次雷蛇没有 ULP 键盘,唯一的游戏厂商 ULP 键盘是海盗船的,而我手里的 ULP 键盘是 Mistel 的。

> 我认为经过多次插拔后就能感觉到键轴晃动……由于轴体通常是由塑料或 POM 制成,反复插拔会导致轻微的损耗。

这是重复使用二手轴体的问题,而且是因为轴体固定卡扣跟定位板摩擦造成的,这个与 “热插拔键盘” 这个本体没有关系。


> 如果键盘的定位板也是用 PC 或 POM 材料,这种磨损可能会更加严重。

目前绝大多数的键盘定位板标配都是铝或铜的,少部分使用碳纤维。定位板与轴体仅有上下 2+2 个卡扣接触点。如果是金属的定位板则基本不存在被硬度更低的塑料磨损的问题。


> 我指的是轴体、定位板和 PCB 之间的连接牢固程度,而不仅仅是轴心的稳定性。

轴心实际上是没法做到完美稳定性的,只要轴仍然是依靠宫柱上下垂直活动的运行方式,轴心就一定会左右晃动,除非是 ULP 这样的剪刀脚。

轴体、定位板与 PCB 之间的牢固程度,通常取决于键盘底壳,因为底座突出的螺丝母座用于穿过 PCB 的预留孔,固定 PCB (但这一层较为松垮),然后定位板覆盖于 PCB 、底座之上,用螺丝上紧,此时定位板与底座是锁死不可活动的,但 PCB 没有任何锁死结构,仍然是较为松垮的状态。

最后插入轴体,轴体的底盖卡扣固定在 PCB 上,且通过 3+1 个插脚钉住 PCB 。当按键数量足够多(以最小尺寸的 40% 举例),轴体一致性的垂直力就可以把 PCB 锁在定位板之下,定位板又被底壳锁死,整个底壳、PCB 、定位板三层结构是不存在自由活动部件的,这与传统的焊接轴体的固定逻辑无异,也自然不存在牢固程度问题。

而且上面的举例是每个部件均单独采购的客制化键盘,通常原厂键盘会在底壳上有凸起,用于固定 PCB ,甚至会有海绵等固定手段,可以做到 PCB 装上底壳后直接固定死。
@cherryas 首先我确实是矮轴用户,而且矮轴对我来说也太高了,当出现打游戏这种需要高频且快速击键的情况,我一般用 Cherry ULP 或者直接超薄薄膜键盘。

其次轴体稳定度是没有丝毫问题的,三个插脚被热插拔底座呈三角位固定住的同时,轴体还有一个塑料定位插脚是直接固定在 PCB 上的开孔的。除此之外还有金属定位板,轴体会死死卡在金属定位板上,拔掉都比较费劲的那种。轴体固定一般由金属定位板负责, 现在已经极少见到没有定位板的裸轴键盘了,所以完全不存在稳定度的问题,无论是关于寿命的插脚稳定,还是关于手感的姿态稳定。
@whathappen 跟 “要不要保证金” 这个逻辑无关,而是商家触发 [淘宝] 风控后,会冻结 [支付宝] 账户,有保证金也没法赔付给买家,因为商家的支付宝账户已经锁定了,保证金无法转出。我与对接的专员多次核对了这个弱智逻辑,对方多次重申就是这么个样子。
1 ... 23  24  25  26  27  28  29  30  31  32 ... 69  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1156 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 39ms · UTC 18:31 · PVG 02:31 · LAX 11:31 · JFK 14:31
Developed with CodeLauncher
♥ Do have faith in what you're doing.