# K3s 叢集管理 > 個人 K3s Kubernetes 叢集的 manifests 與維護腳本 ## 📖 文檔導航 | 文檔 | 用途 | |------|------| | **[SUMMARY.md](SUMMARY.md)** | 📋 服務總覽、快速參考 | | **[QUICKSTART.md](QUICKSTART.md)** | 🚀 快速入門、操作指南 | --- ## 🖥️ 連線資訊 ```bash ssh ubuntu@192.168.42.120 sudo -i # 切換 root cd /root/k8s # K3s 工作目錄 ``` - **主機**: 192.168.42.120 - **K3s 目錄**: `/root/k8s` - **本地目錄**: `/Users/timmy/42_120/k8s` - **Git Repo**: http://192.168.42.124:31337/timmy/k3s.git --- ## 🚀 已部署服務 | 服務 | 用途 | 狀態腳本 | |------|------|----------| | [CodiMD](apps/codimd/) | Markdown 協作筆記 | `./apps/codimd/status.sh` | | [Opengist](apps/opengist/) | Git Snippets 管理 | `./apps/opengist/status.sh` | | [PostgreSQL](apps/postgres/) | 通用資料庫 | `./apps/postgres/status.sh` | --- ## 📂 目錄結構 ``` k8s/ ├── apps/ │ ├── codimd/ # 筆記應用 │ ├── opengist/ # Git Snippets │ └── postgres/ # 資料庫 └── cluster/ # 叢集工具 ``` 每個 app 都包含: - `manifests/` - Kubernetes YAML 檔案 - `backup/` - 備份資料 - `deploy.sh` - 部署腳本 - `stop.sh` - 停止腳本(保留資料) - `status.sh` - 狀態檢查 - `backup.sh` - 備份腳本 --- ## ⚡ 快速命令 ```bash # 部署所有服務 for app in apps/*/; do cd "$app" && ./deploy.sh && cd ../..; done # 檢查所有服務狀態 for app in apps/*/; do cd "$app" && ./status.sh && cd ../..; done # 查看 K3s Pods kubectl get pods -A # 查看 Ingress kubectl get ingress -A ``` --- ## 🔧 維護工作流程 1. **本地修改** → 在此目錄編輯 manifests 或腳本 2. **Git 提交** → `git add -A && git commit -m "描述" && git push` 3. **同步遠端** → `rsync -avz --rsync-path="sudo rsync" . ubuntu@192.168.42.120:/root/k8s/` 4. **套用變更** → `kubectl apply -f manifests/` --- ## 📚 叢集架構 ``` ┌─────────────────────────────────────┐ │ Traefik Ingress │ │ (note.xxx.com / git.xxx.com) │ └─────────────────┬───────────────────┘ │ ┌─────────────┼─────────────┐ │ │ │ ┌───▼───┐ ┌───▼───┐ ┌───▼───┐ │ CodiMD│ │Opengist│ │PostgreSQL │ + │ │ │ │ (獨立) │ PG │ │ │ │ └───────┘ └────────┘ └───────┘ │ │ │ └───▼─────────────▼─────────────▼───┘ Longhorn Storage (持久化資料儲存) ``` --- ## 🔗 相關連結 - [K3s 官方文檔](https://docs.k3s.io/) - [Traefik Ingress](https://doc.traefik.io/traefik/) - [Longhorn Storage](https://longhorn.io/) --- ⚠️ **注意**:維護時請同步本地與遠端,並定期執行備份!