最新资讯
dev.to 让模型改写文档前,先量化事实保真度 dev.to 回放 153 个 Claude Code 与 Codex 会话,审计 Agent 的生产影响范围 dev.to 银行 77 意图分类最便宜 LLM:GPT-6.1 Terra 每次成功任务 $0.000727 theinformation.com Chesky的副业:Airbnb向CEO新设AI实验室出售IP theverge.com OpenAI 宣布数据中心项目不再与公职人员签署保密协议 dev.to NVIDIA 发布四个开放 Cosmos 3 仿真模型 dev.to 真实 MCP 客户端击穿我们服务器的五种方式 theverge.com Airbnb 正在开发 AI 旅行 agent,计划 2027 年上半年推出 wechat 这可能是美国AI最魔幻的一天。 nytimes.com 美众议院共和党领袖要求 Nvidia 黄仁勋闭门简报 pub.towardsai.net 忘掉我:为记忆而设计的系统中的删除难题 marktechpost.com Google 发布 Gemini Omni 1.2 Flash:15 秒视频,每秒 0.07 美元
多元动态
登录 注册
大模型 mp.weixin.qq.com · @dbaplus社群

实测AI生成K8s YAML的能力边界:标准化配置可用,生产环境仍有缺口

原文 我的收藏

作者用一周时间测试DeepSeek与ChatGPT生成Kubernetes YAML的效果,认为标准化配置(如带HPA的Deployment、readinessProbe、resource limits)已基本可用,但列出五类典型问题:不了解集群节点、网络与存储实际情况;securityContext、NetworkPolicy、PodDisruptionBudget等安全配置常缺失;探针参数模板化;资源配额缺乏依据易导致OOMKill;蓝绿部署、跨namespace RBAC、cert-manager、PodTopologySpread等复杂CRD协作场景处理不了。

AI推荐理由 作者以一周实测为基础,给出AI生成K8s YAML的具体能力边界:标准化Deployment/HPA可用,但存在不了解集群实际配置、securityContext与NetworkPolicy等安全项缺失、探针与资源配额模板化、复杂CRD场景处理不足等问题,并附示例YAML。属于开发者视角的实操经验,对运维与平台工程有参考价值,但为个人测试结论,样本与场景未完整披露。

74

正文

dbaplus社群 2026-09-20 07:15 广东 ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=8f5450e2&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FgiamgWvCHDYaibq4Sc806m1L8v3cUfmabbUjYndUdibEh7s0ic0ibj10icIvL2eDj5fGIuTMKeQFy3iaJ1b07WbiaGOn8cfamY6IhGKJp6MIEuKl2lg%2F0%3Fwx_fmt%3Djpeg) AI 写 YAML,到底到了什么水平? 上个月我们组来了个新同事,入职第一天就干了一件让我有点”破防”的事。 当时有个新服务要上线,我正准备打开模板复制粘贴改一改,他直接丢了个 Prompt 给 DeepSeek,30 秒把 Deployment、Service、ConfigMap、Ingress 全生成了。我凑过去看了一眼—写得还挺像回事,resource limits 有,readinessProbe 有,affinity 都配了。 我当时心里说不上是什么感觉。不是焦虑,但确实有点不舒服。就好像你练了好几年的手艺,突然发现别人 30 秒就能干个八九不离十。 后来冷静下来想想,这事儿其实没那么可怕,也没那么简单。 **一、AI 写 YAML,到底到了什么水平?** 为了搞清楚这个问题,我花了一周时间,专门拿各种 K8s YAML 的需求去测试 DeepSeek 和 ChatGPT。 先说结论:写标准化的 YAML,AI 已经够用了。 比如你让它写一个带 HPA 的 Spring Boot 服务 Deployment,它大概能给你生成这样的东西: ``` apiVersion: apps/v1 kind: Deployment metadata:   name: devapp   labels:     app: devapp spec:   replicas: 3   selector:     matchLabels:       app: devapp   template:     metadata:       labels:         app: devapp     spec:       containers:       - name: devapp         image: devapp:latest         ports:         - containerPort: 8080         resources:           requests:             cpu: 250m             memory: 512Mi           limits:             cpu: 500m             memory: 1Gi         readinessProbe:           httpGet:             path: /actuator/health             port: 8080           initialDelaySeconds: 30           periodSeconds: 10         livenessProbe:           httpGet:             path: /actuator/health             port: 8080           initialDelaySeconds: 60           periodSeconds: 30 --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata:   name: devapp-hpa spec:   scaleTargetRef:     apiVersion: apps/v1     kind: Deployment     name: devapp   minReplicas: 2   maxReplicas: 10   metrics:   - type: Resource     resource:       name: cpu       target:         type: Utilization         averageUtilization: 70 ``` 看着没毛病对吧?该有的都有。但问题来了,你让它写一个生产环境能直接用的 YAML,它大概率会出问题。 我测试了十几个场景,总结了一下 AI 目前写 YAML 的几个典型问题: **1、不了解你的集群实际情况** AI 不知道你的节点配置、网络方案、存储类型。比如它会给你写 storageClassName: standard,但你集群里可能用的是 nfs-client 或者 local-path。它会给你配 hostPort,但你的网络插件是 Calico,hostPort 可能跟 IPVS 冲突。 **2、安全相关的配置经常缺失** 我测试了好几次,AI 很少主动加上这些: ``` securityContext:   runAsNonRoot: true   runAsUser: 1000   readOnlyRootFilesystem: true   allowPrivilegeEscalation: false ``` Pod 级别的 securityContext、NetworkPolicy、PodDisruptionBudget,这些生产环境必须有的东西,AI 经常不写,除非你明确要求。 **3、探针配置太”模板化”** * initialDelaySeconds: 30 对所有服务都一样?一个轻量的 API 网关和一个需要加载大量缓存数据的微服务,启动时间能一样吗?AI 不了解你的应用启动特征,给出来的值只能当参考。 **4、资源配额拍脑袋** * requests: cpu 250m, memory 512Mi 这个值怎么来的?AI 不知道你的服务实际消耗多少资源。我见过 AI 给一个数据分析服务配了 256Mi 内存,结果 OOMKill 了。 **5、复杂场景处理不了** 比如你要写一个: * 带蓝绿部署的 ArgoCD Application * 需要跨 namespace 访问的 ServiceAccount + RBAC * 用 cert-manager 自动签发证书的 Ingress * 需要结合 PodTopologySpread 做跨可用区调度的 StatefulSet 这种涉及多个 CRD 协作的复杂场景,AI 写出来的东西基本不能直接用,你得自己改大半。 **二、那运维人的价值到底在哪?** 说实话,写 YAML 这件事本身,从来就不是运维的核心价值。你想想,你花时间最多的是写 YAML 吗?不是。你花时间最多的是: **1、排查问题** 服务挂了,Pod 一直 CrashLoopBackOff,你去看日志、看事件、看资源使用、看网络策略、看 DNS 解析——这个过程 AI 帮不了你。因为它看不到你集群的实时状态,不了解你的架构拓扑,不知道你上周刚改了哪个 ConfigMap。 **2、做架构决策** 这个服务用 Deployment 还是 StatefulSet?需不需要 PDB?HPA 的指标用 CPU 还是自定义指标?Service 用 ClusterIP 还是 Headless?这些决策需要对业务的理解、对集群的了解、对成本和可靠性的权衡。AI 可以给你选项,但做决策的人得是你。 **3、处理”脏活累活”** etcd 磁盘满了怎么救?节点 NotReady 了怎么排查?CoreDNS 解析偶尔超时是什么原因?iptables 和 IPVS 迁移会遇到什么坑?——这些我在之前的文章里都写过,全是 AI 写不了的东西,因为它需要现场经验。 **4、建立标准和规范** AI 可以帮你生成一个 Deployment 的 YAML,但谁来定义这个 YAML 必须符合什么标准?谁来写 admission webhook 做校验?谁来制定资源配额的策略?谁来设计命名规范和标签体系?这些是运维的”基础设施”层面的工作,比写单个 YAML 重要得多。 **三、我现在怎么用 AI 的?** 想通这些之后,我调整了自己用 AI 的方式。不是让它帮我”写 YAML”,而是让它帮我”加速”。 **场景一:快速生成草稿** 以前写一个新服务的 YAML,我要么从旧服务复制粘贴,要么翻文档。现在我会让 AI 先生成一版草稿,然后我在这个基础上改。大概能省 60% 的时间。 Prompt 大概长这样: ``` 帮我写一个 K8s Deployment YAML,要求: - Spring Boot 服务,端口 8080 - 需要 readinessProbe 和 livenessProbe,使用 /actuator/health - 资源限制:requests cpu 500m memory 1Gi,limits cpu 2 memory 2Gi - 需要环境变量注入数据库连接(通过 ConfigMap) - 使用非 root 用户运行 - 需要 PodDisruptionBudget,最少可用 2 个 Pod ``` 注意,我会明确给出具体的参数值,而不是让 AI 自己决定。 **场景二:解释和排错辅助** 遇到不熟悉的 CRD 或者报错信息,直接丢给 AI 解释,比自己翻文档快很多。 ``` 这个 K8s 事件是什么意思? "0/3 nodes are available: 1 node(s) had taint {node.kubernetes.io/not-ready: }, that the pod didn't tolerate." ``` **场景三:写文档和脚本** 让 AI 帮我写运维操作手册、oncall 排查流程、批量操作的 Shell 脚本,这些它干得挺好的。 **场景四:学习新东西** 比如我想了解 Gateway API 怎么用,让 AI 给我讲一遍基本概念和示例,比直接啃官方文档效率高。 **四、运维人真正需要担心的是什么?** 如果 AI 写 YAML 不是威胁,那运维人真正应该担心什么? 我觉得是两极分化。 一类运维人会越来越强:他们把 AI 当工具,用它处理重复劳动,把省下来的时间花在架构设计、性能优化、故障排查这些 AI 做不了的事情上。 另一类运维人会越来越危险:如果他们的工作就是每天复制粘贴 YAML、改配置、重启服务,那这些工作确实会被 AI 逐渐替代。不是明天,但趋势很明显。 还有一件事值得注意:AI 降低了写 K8s YAML 的门槛,这意味着开发人员会更多地自己写 YAML。 以前开发人员要部署一个服务,得找运维帮忙写 YAML、配 Ingress、设资源限制。现在他们可以直接让 AI 生成,然后自己 apply。这对运维来说意味着什么?意味着那些”写 YAML”的工单会越来越少。 但反过来说,开发用AI生成的YAML,往往在本地minikube上跑得好好的,一上生产集群就炸。因为AI不知道你的CNI是Calico还是Flannel,不知道你的StorageClass叫什么,不知道你的节点拓扑长什么样。这时候运维的价值就不是'帮开发写YAML',而是'让开发写的YAML适配这个集群的现实'。 所以运维的工作重心会从”帮别人写 YAML”变成”让别人写的 YAML 不出问题”:通过工具、平台、规范、自动化来保障。 **五、我的建议** 说了这么多,给还在焦虑的同行几点建议: **1、把 AI 用起来,别抗拒** 不管你接不接受,AI 工具已经在改变这个行业了。早点学会用它,你就比不学的人多了一个效率工具。抗拒它不会让它消失。 **2、往上走,别往下卷** YAML 层面的工作会越来越自动化,这是趋势。你应该把精力放在架构设计、SRE 实践、可观测性建设、成本优化这些更高维度的事情上。这些是 AI 短期内替代不了的。 **3、深入理解原理,别只停留在”会用”** AI 可以帮你写 YAML,但它没法帮你理解为什么 Pod 会卡在 ContainerCreating、为什么 Service 的流量不均匀、为什么滚动更新的时候会丢连接。这些底层原理的理解,是你和”会用 AI 的人”之间的差距。 **4、建设平台和工具** 如果你能把团队的 K8s 运维经验沉淀成平台、工具、规范,让开发人员能自助服务、让 YAML 的生成和校验自动化,那你的价值就不是”写 YAML 的人”,而是”让整个团队高效运转的人”。 **5、保持学习** K8s 生态在快速演进:Gateway API、WASM、Serverless、eBPF……每一波新技术都会带来新的机会。AI 能帮你写 YAML,但它没法帮你判断下一步该学什么。 还有一个建议:别怕AI,但得怕比你先用好AI的同行。工具本身不淘汰人,用工具的人淘汰不用工具的人。 **五、写在最后** 回到开头那个故事。 后来我和那个新同事聊了聊,发现他其实对 K8s 的理解并不深。AI 帮他生成的 YAML 能跑起来,但有一次出了问题:Pod 一直起不来,他看了半天没找到原因。最后还是我去排查的,发现是 securityContext 的 runAsUser 和宿主机的目录权限冲突了。 他生成的 YAML 里确实写了 runAsNonRoot: true,但他不知道这个配置在什么场景下会出问题。 AI 可以帮你写 YAML,但它没法帮你理解你写的 YAML。 这就是运维人的出路:不是和 AI 比谁写 YAML 快,而是比谁更懂这些 YAML 背后的东西。 作者丨筆星 来源丨网址: dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn ![](https://wechat2rss.bestblogs.dev/img-proxy/?k=837253b4&u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FufWcjcomw8Zf2jiaBBH3vdgfP4A2rem5YEAHYH074dc4GibhojA5B3lLZrXLDRciaVnficveaHcAUCiaIPoDsTkAduA%2F640%3Fwx_fmt%3Dpng) [跳转微信打开](https://wechat2rss.bestblogs.dev/link-proxy/?k=90cfd11f&r=1&u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkzMjYzNjkzNw%3D%3D%26mid%3D2247637970%26idx%3D1%26sn%3D4bdf047e17f50cd6349d7fe643b383c0)

来源报道 · 1 篇 · 以下链接均前往原始媒体

← 返回精选动态 原文

更多内容