1 分钟阅读28 天内
Kubernetes 配置与 Claude Code:从 YAML 噩梦到可维护的 K8s
Kubernetes 的 YAML 是现代工程里最让人头疼的领域之一。Claude Code 在这里的价值不是帮你记忆 API,而是帮你从需求转换到正确的配置,并在你改配置时发现问题。
从需求生成 K8s 配置:
claude "把这个需求转换为 Kubernetes 配置:
应用:Go HTTP API
需求:
- 始终保持 3 个副本运行
- 内存限制:256Mi,请求:128Mi
- CPU 限制:500m,请求:100m
- 有 /health 端点做存活检查
- 暴露 8080 端口
- 需要 DATABASE_URL 环境变量(来自 secret)
- 滚动更新,最多 25% 不可用
生成 Deployment + Service 的完整 YAML。"
审查现有配置:
claude "审查这个 Deployment 配置(deployment.yaml):
1. 资源限制是否合理?有没有遗漏?
2. 健康检查配置是否正确?
3. 有没有安全风险(以 root 运行、权限过高等)?
4. 更新策略是否适合生产环境?
5. 有没有常见的 K8s 反模式?"
理解配置的影响:
claude "我要把这个 Deployment 的 replicas 从 3 改成 1。
这会有什么影响?
1. 可用性变化(单点故障风险)
2. 如果这个 pod 崩溃,恢复时间多长?
3. 滚动更新期间会发生什么?
4. 什么情况下可以接受只有 1 个副本?"
HPA(自动扩缩容)配置:
claude "为这个 API 配置 Horizontal Pod Autoscaler:
- 最小副本数:2,最大:10
- 基于 CPU 使用率(目标 70%)
- 基于自定义指标(HTTP 请求队列长度)
说明:
1. 扩容和缩容的触发时机
2. scale-down 稳定窗口的建议值
3. 如何防止抖动(频繁扩缩)"
排查常见问题:
claude "Pod 一直 CrashLoopBackOff,这是 kubectl describe pod 的输出:
[输出内容]
这个状态的最常见原因是什么?
按概率排序,每种给出具体的诊断命令。"
Namespace 权限设计:
claude "我们有三个环境:dev、staging、prod,
跑在同一个 K8s 集群上。
设计 RBAC 方案:
1. 工程师:可以部署到 dev,读取 staging 日志,不能访问 prod
2. SRE:可以访问所有 namespace
3. CI/CD:只能部署,不能读取 secret
生成对应的 ClusterRole、Role、RoleBinding 配置。"
关于 YAML 的本质:
K8s 的 YAML 是声明式的,但很多人还是用命令式思维写它——"我要加一个 label",而不是"这个 Pod 应该有哪些 label 以及为什么"。
Claude Code 帮你在写 YAML 之前先回答"为什么",而不是直接问"怎么写"。声明式系统里,意图比语法更重要。