Some checks failed
CD Pipeline / deploy (push) Failing after 59s
- 建立 Gitea Actions CD pipeline (.gitea/workflows/cd.yaml) - 部署模式: rsync Python 檔案至 188 → docker restart (volume mount) - Dockerfile/requirements 變動時自動重建 Docker image - 部署通知: Telegram (開始/成功/失敗) - 健康檢查: https://mo.wooo.work/health (最多 5 次重試) - 同步最新 CLAUDE.md / ADR-008 / memory (2026-04-19) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
K8s 服務遷移指南
遷移目標
將 Docker 服務遷移到 K8s,保留所有配置和資料。
服務清單
| 服務 | 來源 | 目標 | 資料位置 |
|---|---|---|---|
| n8n | Docker | K8s tools namespace | /var/lib/docker/volumes/n8n_data |
| Superset | Docker | K8s tools namespace | superset-postgres + superset_home |
遷移步驟
步驟 1:備份資料
# n8n 資料備份
ssh wooo@192.168.0.110 "
mkdir -p /home/wooo/backups/k8s-migration
docker run --rm -v n8n_data:/data -v /home/wooo/backups/k8s-migration:/backup \
alpine tar czf /backup/n8n_data_$(date +%Y%m%d).tar.gz -C /data .
"
# Superset PostgreSQL 備份
ssh wooo@192.168.0.110 "
docker exec superset-postgres pg_dump -U superset superset > \
/home/wooo/backups/k8s-migration/superset_db_$(date +%Y%m%d).sql
"
# Superset home 備份
ssh wooo@192.168.0.110 "
docker run --rm -v superset_superset_home:/data -v /home/wooo/backups/k8s-migration:/backup \
alpine tar czf /backup/superset_home_$(date +%Y%m%d).tar.gz -C /data .
"
步驟 2:部署 K8s 服務
# 建立 namespace
kubectl apply -f k8s/tools/00-namespace.yaml
# 部署 n8n
kubectl apply -f k8s/tools/01-n8n.yaml
# 部署 Superset
kubectl apply -f k8s/tools/02-superset.yaml
步驟 3:還原資料
# 找到 PVC 的實際路徑
N8N_PV=$(kubectl get pvc n8n-data -n tools -o jsonpath='{.spec.volumeName}')
N8N_PATH="/var/lib/rancher/k3s/storage/${N8N_PV}"
# 還原 n8n 資料
ssh wooo@192.168.0.110 "
sudo tar xzf /home/wooo/backups/k8s-migration/n8n_data_*.tar.gz -C ${N8N_PATH}
"
步驟 4:更新 Nginx
更新 /etc/nginx/sites-enabled/monitor 指向 K8s Services
步驟 5:停止 Docker 服務
docker stop momo-n8n momo-superset superset-postgres superset-redis
docker rm momo-n8n momo-superset superset-postgres superset-redis
回滾計畫
如果遷移失敗,從備份還原 Docker 容器:
# 還原 n8n
docker run -d --name momo-n8n --restart unless-stopped \
-p 5678:5678 \
-e N8N_BASIC_AUTH_USER=admin \
-e N8N_BASIC_AUTH_PASSWORD=Wooo_N8n_2026 \
-e N8N_RUNNERS_DISABLED=true \
-v n8n_data:/home/node/.n8n \
n8nio/n8n:latest
# 還原 Superset
cd /home/wooo/momo_pro_system/docker/superset
docker compose up -d