# DR-Stock — stock 服務崩潰復原 SOP

**目標時間**: < 5 分鐘  
**觸發場景**: stock K8s Service/Pod 無法訪問，或 NodePort 31235 無回應  
**工具**: kubectl, ArgoCD  
**最後更新**: 2026-04-11 (Claude Sonnet 4.6 Asia/Taipei)

---

## 快速復原

```bash
# 確認 stock Pod 狀態
kubectl get pods -n awoooi-prod -l app=stock 2>/dev/null || \
  echo "stock 可能不在 K8s，確認是否為 Docker 服務"

# 若是 K8s Pod
kubectl rollout restart deployment/stock -n awoooi-prod
kubectl rollout status deployment/stock -n awoooi-prod --timeout=60s

# 驗收
curl -s -o /dev/null -w '%{http_code}' https://stock.wooo.work
# 期望: 200
```

---

## NodePort 31235 確認

```bash
# 確認 NodePort Service 存在
kubectl get svc -n awoooi-prod | grep 31235

# 直連 NodePort 測試
curl -s -o /dev/null -w '%{http_code}' http://192.168.0.121:31235
```

---

## 資料完整性確認

stock 資料存放在 PostgreSQL。確認資料庫連接正常：

```bash
# 透過 API 健康檢查確認 DB 正常
curl http://192.168.0.121:32334/api/v1/health | python3 -m json.tool
```
