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

94 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# K8s 服務遷移指南
## 遷移目標
將 Docker 服務遷移到 K8s保留所有配置和資料。
## 服務清單
| 服務 | 來源 | 目標 | 資料位置 |
|------|------|------|---------|
| n8n | Docker | K8s tools namespace | /var/lib/docker/volumes/n8n_data |
| Superset | Docker | K8s tools namespace | superset-postgres + superset_home |
## 遷移步驟
### 步驟 1備份資料
```bash
# 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 服務
```bash
# 建立 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還原資料
```bash
# 找到 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 服務
```bash
docker stop momo-n8n momo-superset superset-postgres superset-redis
docker rm momo-n8n momo-superset superset-postgres superset-redis
```
## 回滾計畫
如果遷移失敗,從備份還原 Docker 容器:
```bash
# 還原 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
```