← ClaudeAtlas

k8s-genlisted

【K8s 部署】自然语言描述生成 K8s YAML manifests。触发时机:用户说"生成 K8s 部署配置"、"写 Deployment YAML"、"生成 Service/Ingress"时。
afine907/skills · ★ 0 · AI & Automation · score 73
Install: claude install-skill afine907/skills
# K8s Gen — Kubernetes 部署配置生成 自然语言描述 → 完整 K8s YAML manifests,一次输出。 不适用:集群搭建(用 k8s-cluster);Helm chart 开发(用 k8s-cluster)。 ## Goal Kubernetes 部署配置生成器。自然语言描述 → YAML manifests(Deployment/Service/Ingress/ConfigMap) ## Trigger - 用户说"生成 K8s 部署配置"、"写 Deployment YAML" - 用户要求为某个服务生成 Kubernetes manifests - 用户需要 Deployment/Service/Ingress/ConfigMap 等单服务配置 ## 工作流程 ``` 描述服务 → 收集配置 → 生成 YAML → 验证 ``` ### Step 1: 收集服务信息 从用户描述中提取: - **服务名称**:用于 metadata.name 和 labels - **镜像名**:container image - **端口**:容器端口和服务端口 - **副本数**:默认 2 - **环境变量**:从描述或 .env 文件提取 - **是否需要 Ingress**:有域名则需要 - **资源限制**:CPU/Memory(有默认值) 如果用户提供了 Dockerfile 或已有项目,从中推断配置。 ### Step 2: 生成 YAML 文件 生成到用户指定目录或当前目录下的 `k8s/` 子目录: | 文件 | 必需 | 说明 | |------|------|------| | `deployment.yaml` | ✅ | Deployment + 资源限制 + 健康检查 | | `service.yaml` | ✅ | Service | | `ingress.yaml` | 有域名时 | Ingress + TLS | | `configmap.yaml` | 有配置时 | 环境变量配置 | | `secret.yaml` | 有敏感信息时 | Secret 模板 | | `namespace.yaml` | 可选 | 命名空间 | | `kustomization.yaml` | 可选 | Kustomize 配置 | 模板参考: - Deployment/Service → [references/deployment-templates.md](references/deployment-templates.md) - ConfigMap/Secret → [references/config-templates.md](references/config-templates.md) - Ingress → [references/ingress-templates.md](references/ingress-templates.md) ### Step 3: 验证 如果 kubectl 可用: ```bash kubectl apply --dry-run=client -f k8s/ ``` 否则进行 YAML 语法检查。 ## 标签规范 所有资源使用统一标签: ```yaml metadata: