k8s-verificationlisted
Install: claude install-skill structure-projects/structure-agent-rules
# K8s 部署验证
> 验证 K8s 部署的健康状态。**MUST 全部通过才算部署成功**。
## 前置条件
- 部署已执行(`k8s-deployment` 完成)
## 执行步骤
### 第 1 步:验证 Deployment
```bash
# 查看 Deployment 状态
kubectl get deployment -n <ns>
# 查看详情
kubectl describe deployment <name> -n <ns>
# 关键字段
# - READY: X/X(所有副本就绪)
# - UP-TO-DATE: X
# - AVAILABLE: X
```
**通过标准**:`READY` = `UP-TO-DATE` = `AVAILABLE` = 期望副本数
### 第 2 步:验证 Pod
```bash
# 查看 Pod 状态
kubectl get pods -n <ns>
# 查看 Pod 详情
kubectl describe pod <pod> -n <ns>
# 查看 Pod 日志
kubectl logs <pod> -n <ns>
kubectl logs <pod> -n <ns> --previous # 上次崩溃前日志
```
**通过标准**:
- 所有 Pod `STATUS: Running`
- `RESTARTS: 0`(或很少)
- 日志无 ERROR
### 第 3 步:验证 Service
```bash
# 查看 Service
kubectl get svc -n <ns>
# 查看 Endpoints(关键:确认后端 Pod 已加入)
kubectl get endpoints -n <ns>
# 测试 Service 连通性
kubectl port-forward svc/<svc> -n <ns> 8080:80
curl http://localhost:8080/health
```
**通过标准**:Endpoints 含所有 Pod IP
### 第 4 步:验证 Ingress
```bash
# 查看 Ingress
kubectl get ingress -n <ns>
# 查看 Ingress 详情
kubectl describe ingress <name> -n <ns>
```
**通过标准**:Ingress 有 ADDRESS(外部 IP / 域名)
### 第 5 步:验证 HPA(如启用)
```bash
# 查看 HPA
kubectl get hpa -n <ns>
# 关键字段
# - TARGETS: 当前使用率 / 目标使用率
# - MINPODS / MAXPODS
# - REPLICAS: 当前副本数
```
### 第 6 步:健康检查(应用层)
```bash
# 后端健康检查
kubectl port-forward svc/<svc> -n <ns> 8080:80
curl http://localhost:8080/actuator/health
# 预期响应
# {"status":"UP"}
```
### 第 7 步:写入验证报告
写入 `changes/proposals/<current>/deployment.md`:
```markdown
## K8s 部署验证
- [ ] Deployment 就绪
- [ ] Pod