← ClaudeAtlas

k8s-deploymentlisted

当用户要求"写 K8s 部署/编写 K8s manifest/编写 Deployment/Service/Ingress"时触发。 按生态 Helm Chart 双 workload 模板生成 K8s manifest。 支持原生 YAML 和 Helm Chart 两种方式。
structure-projects/structure-agent-rules · ★ 1 · DevOps & Infrastructure · score 66
Install: claude install-skill structure-projects/structure-agent-rules
# K8s 部署 > 按生态 Helm Chart 双 workload 模板生成 K8s 部署文件。 ## 前置条件 - Dockerfile 已存在 - 已确定 K8s 集群和 namespace ## 执行步骤 ### 第 1 步:确定部署方式 **MUST 询问用户**: ``` Q1: 部署方式? a) 原生 K8s YAML(简单场景) b) Helm Chart(推荐,生态标准) Q2: 目标环境? a) 测试(test namespace) b) 预发(staging) c) 生产(prod namespace) ``` ### 第 2 步:生成对应文件 #### 方式 A:原生 K8s YAML ``` k8s/ ├── namespace.yaml ├── deployment-backend.yaml ├── service-backend.yaml ├── deployment-frontend.yaml ├── service-frontend.yaml ├── ingress.yaml ├── configmap.yaml └── secret.yaml ``` #### 方式 B:Helm Chart(推荐) 按 `wiki/_common/kubernetes.md` 双 workload 模板生成: ``` helm/<chart-name>/ ├── Chart.yaml ├── values.yaml ├── .helmignore └── templates/ ├── _helpers.tpl ├── deployment.yaml # 双 workload(backend + frontend) ├── service.yaml ├── ingress.yaml ├── hpa.yaml ├── serviceaccount.yaml └── tests/test-connection.yaml ``` ### 第 3 步:关键配置 #### 后端 Deployment 要点 ```yaml spec: replicas: 1 template: spec: containers: - name: user-service image: registry.cn-hangzhou.aliyuncs.com/structured/user-service:1.2.0 env: - name: APP_PATH value: /app/boot/app.jar - name: JAVA_OPTS value: -Xms256m -Xmx1024m - name: PARAMS value: -Dspring.profiles.active=pro ports: - containerPort: 8080 livenessProbe: httpGet: path: /actuator/health port: 7777 # 生态约定 initialDelaySec