自動部署與 Rollback
Vibe Prompt
「幫我設計 Kubernetes 的零停機部署策略,包含 Rolling Update、Readiness Probe、Rollback。」
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
template:
spec:
containers:
- name: app
image: my-app:latest
readinessProbe:
httpGet:
path: /api/health
port: 3000
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
httpGet:
path: /api/health
port: 3000
initialDelaySeconds: 15
periodSeconds: 20
Rollback 指令
# 查看部署歷史
kubectl rollout history deployment/my-app
# 回滾到上一個版本
kubectl rollout undo deployment/my-app
# 回滾到指定版本
kubectl rollout undo deployment/my-app --to-revision=2
# 查看滾動狀態
kubectl rollout status deployment/my-app
Vibe Prompt
「當部署失敗時,自動 Rollback 並發送 Slack 通知。幫我寫這個 GitHub Actions Workflow。」