Files
ewoooc/k8s/tools/MIGRATION_GUIDE.md
ogt 1b4f3a7bbe
Some checks failed
CD Pipeline / deploy (push) Failing after 59s
feat: EwoooC 初始化 — 完整專案推版至 Gitea
- 建立 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>
2026-04-19 01:21:13 +08:00

2.3 KiB
Raw Permalink Blame History

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