kubernetes-patterns Skill:让 Claude Code 写出生产级 K8s YAML 的技能包
写生产级 Kubernetes YAML再也不用手查文档了。ECC 团队把 Deployment、Probes、RBAC、HPA、ConfigMap/Secret 等高频场景封装成一份 SKILL.md,Claude Code 加载后直接输出符合生产标准的 YAML 模板 + kubectl 调试命令,是目前最完整的 K8s 编码 Skill 之一。
功能与原则
ECC kubernetes-patterns 专注于一件事:让 AI 写对的 Kubernetes YAML。
它不是泛泛的示例,而是一套经过生产验证的模板 + 决策表,涵盖:
- Deployment 模板:安全上下文、RollingUpdate 策略、三种 Probe、资源限制、环境变量注入,一步到位
- Probe 配置:startup/liveness/readiness 何时用、failureThreshold × periodSeconds 怎么算,给出决策表和正确写法
- Service 与 Ingress:ClusterIP / LoadBalancer / TLS Ingress,含 cert-manager 注解
- ConfigMap 与 Secret:envFrom、文件挂载、外部 Secrets 方案(Sealed Secrets / ESO)
- RBAC:最小权限 ServiceAccount → Role → RoleBinding 链路
- HPA 与 PDB:自动扩缩容和节点排空安全配置
- Job 与 CronJob:一次性 / 定时任务,含正确 restartPolicy
- kubectl 调试速查:CrashLoopBackOff、OOMKilled、pending pods、镜像拉取错误的诊断命令
设计原则:可复制粘贴的生产级代码 + 何时用、怎么改、哪里易错的完整说明。
认可度
ECC 本身是 GitHub 超大型开源项目:截至 2026-07-27 约 211.9K ⭐、32.5K Fork、230+ 贡献者,覆盖 12 种语言生态,曾获 Anthropic Hackathon 冠军。kubernetes-patterns 作为 ECC 200+ 内置 Skill 之一,继承了整个项目的工程化积累。
ECC 的 npm 包 ecc-universal 周下载量达数万,说明实际使用群体庞大。
链接
GitHub:https://github.com/affaan-m/ECC
kubernetes-patterns Skill 直接链接:https://github.com/affaan-m/ECC/tree/main/skills/kubernetes-patterns
原作者
Affaan Mustafa(GitHub @affaan-m),ECC (Everything Claude Code) 项目维护者。该项目是他的日常工程工作流沉淀,经过 10 个月以上的密集使用和 2000+ commits 迭代,定位是”AI Coding Agent 的操作系统级工具链”。
介绍
ECC 是目前最完整的 AI Coding Agent 增强系统之一,不仅包含 Skills,还包含 Instincts(记忆优化)、Hooks(自动化工作流)、Rules(工程规范)、MCP 配置等模块。kubernetes-patterns 是其中的 K8s 专项 Skill。
这个 Skill 的核心价值在于:解决了 AI 写 K8s YAML 时”语法对但配置错”的问题。例如:
- 很多 AI 会写
initialDelaySeconds: 60作为 livenessProbe 的启动延迟,但没有正确理解 startupProbe 的机制,导致慢启动应用被误杀 - 很多 AI 不知道 ConfigMap 挂载为文件时的
items写法 - 很多 AI 不清楚 HPA 和 PDB 的配合使用场景
kubernetes-patterns 通过带完整上下文的生产模板 + 决策表来解决这些问题,AI 加载后不再靠”感觉”写 YAML,而是对照场景查表。
特点
- 生产级 Deployment 模板:securityContext(runAsNonRoot、allowPrivilegeEscalation: false、readOnlyRootFilesystem: true)、所有三种 Probe、资源限制、环境变量注入,一份模板覆盖所有安全配置
- Probe 决策表:明确 startupProbe 适用慢启动应用(JVM/Python),livenessProbe 负责检测死锁,readinessProbe 负责临时不可用;给出 failureThreshold × periodSeconds 的正确计算
- RBAC 最小权限模板:ServiceAccount → Role → RoleBinding 完整链路,而非直接给 cluster-admin
- HPA + PDB 联动:自动扩缩容配合节点排空安全策略
- kubectl 调试速查:CrackLoopBackOff / OOMKilled / pending / ImagePullError 四类常见错误的诊断命令
- 反模式清单:明确列出哪些写法是错误的(如
:latest镜像、initialDelaySeconds滥用等)
使用方法
ECC 内的 Skill 无需单独安装,直接加载整个 ECC 即可使用所有 Skill:
# 方式1:安装完整 ECC
npx ecc install affaan-m/ECC
# 方式2:通过 skills CLI(跨平台)
npx skills add affaan-m/ECC -g
加载后,在 Claude Code 中激活 Kubernetes 相关任务,AI 会自动调用 kubernetes-patterns Skill,例如:
- “帮我写一个生产级 Deployment”
- “配置 HPA 自动扩缩容”
- “Debug 一个 CrashLoopBackOff”
- “写一个带 RBAC 的定时任务”
AI 会直接输出符合生产标准的 YAML 模板,并附带修改建议和调试命令。
使用场景与人群
适用场景:
- 在 K8s 上部署微服务 / 后台服务
- 写 CI/CD 的 K8s manifest
- 代码审查时检查 K8s YAML 安全性
- Debug 生产 K8s 问题
- 学习 K8s 生产最佳实践
目标用户:
- 后端工程师 / DevOps 工程师
- 使用 Claude Code / Codex / Cursor 等 AI 编程工具的开发者
- 需要在 K8s 环境写 YAML 但不确定最佳实践的初中级 K8s 用户
输入与输出案例
案例1:写一个生产级 Deployment
输入:
帮我写一个 Node.js API 的生产级 K8s Deployment,要安全配置和健康检查
输出(AI 调用 kubernetes-patterns Skill 后):
apiVersion: apps/v1
kind: Deployment
metadata:
name: node-api
namespace: production
spec:
replicas: 3
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
template:
spec:
securityContext:
runAsNonRoot: true
runAsUser: 1001
fsGroup: 1001
terminationGracePeriodSeconds: 30
containers:
- name: node-api
image: ghcr.io/org/node-api:1.0.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3000
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "256Mi"
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop: ["ALL"]
startupProbe:
httpGet:
path: /health
port: 3000
failureThreshold: 30
periodSeconds: 5
livenessProbe:
httpGet:
path: /health
port: 3000
periodSeconds: 30
failureThreshold: 3
readinessProbe:
httpGet:
path: /ready
port: 3000
periodSeconds: 10
failureThreshold: 2
envFrom:
- configMapRef:
name: node-api-config
volumeMounts:
- name: tmp
mountPath: /tmp
volumes:
- name: tmp
emptyDir: {}
案例2:Debug CrashLoopBackOff
输入:
一个 Go 应用 Pod 一直 CrashLoopBackOff,怎么诊断?
输出(AI 调用 Skill 后):
# 1. 查看当前状态和最近日志
kubectl get pod -n <ns> <pod-name>
kubectl logs -n <ns> <pod-name> --previous
# 2. 检查资源是否不足(OOMKilled)
kubectl describe pod -n <ns> <pod-name> | grep -A5 "Last State"
# 3. 如果是 OOM:增加 memory limit
# 如果是启动慢:添加/调整 startupProbe
# 如果是配置错误:检查 env 和挂载
# 4. 常见原因快速排查清单
# - Exit code 1 → 应用报错,检查日志
# - Exit code 137 → OOMKilled,增加 memory limit
# - Exit code 143 → SIGTERM 超时,增加 terminationGracePeriodSeconds
# - 镜像拉取失败 → 检查 imagePullPolicy 和 secret
GitHub: https://github.com/affaan-m/ECC/tree/main/skills/kubernetes-patterns
评论区
登录后可评论。