2.7 KiB
2.7 KiB
K3s 叢集 - 快速入門
新手友善的 K3s 維護指南
🚀 快速開始
連線到叢集
ssh ubuntu@192.168.42.120
sudo -i
cd /root/k8s
📦 服務管理
部署服務
cd apps/<app-name>/
./deploy.sh
例如部署 CodiMD:
cd /root/k8s/apps/codimd
./deploy.sh
查看服務狀態
cd apps/<app-name>/
./status.sh
輸出包含:
- Pods 狀態
- Services 狀態
- PVC 儲存狀態
- Ingress 入口
- 資料庫連通性(如適用)
停止服務(保留資料)
cd apps/<app-name>/
./stop.sh
⚠️ 注意:stop.sh 只刪除 Deployment/Service/Ingress,PVC 和 Secret 會保留
💾 備份與還原
備份服務
cd apps/<app-name>/
./backup.sh
備份位置:
- CodiMD →
apps/codimd/backup/ - Opengist →
apps/opengist/backup/ - PostgreSQL →
apps/postgres/backups/
還原服務
cd apps/<app-name>/
./restore.sh
⚠️ 還原前請先停止服務
🔍 叢集診斷
檢查節點狀態
cd /root/k8s/cluster
./check_nodes.sh
檢查儲存空間
cd /root/k8s/cluster
./check_storage.sh
檢查存取權限
cd /root/k8s/cluster
./check_access.sh
🛠️ 常見問題排查
Pod 無法啟動?
# 查看 Pod 狀態
kubectl get pods
# 查看詳細資訊
kubectl describe pod <pod-name>
# 查看日誌
kubectl logs <pod-name>
服務無法連線?
# 檢查 Service
kubectl get svc
# 檢查 Endpoints(是否有 Pod 掛上)
kubectl get endpoints <service-name>
# 檢查 Ingress
kubectl get ingress
儲存空間不足?
# 檢查 Longhorn volumes
kubectl get pv -A
kubectl get pvc -A
# 檢查節點磁碟
df -h
📝 修改 Manifests
- 本地編輯:在
/Users/timmy/42_120/k8s/修改 yaml - 同步到遠端:
rsync -avz --rsync-path="sudo rsync" \ /Users/timmy/42_120/k8s/ \ ubuntu@192.168.42.120:/root/k8s/ - 應用變更:
cd /root/k8s/apps/<app-name> kubectl apply -f manifests/
🔄 Git 版控工作流程
# 本地
cd /Users/timmy/42_120/k8s
git add -A
git commit -m "描述變更"
git push
# 確認遠端已有變更後,再同步到 K3s 主機
📋 服務清單速查
| 服務 | 目錄 | deploy | stop | status | backup |
|---|---|---|---|---|---|
| CodiMD | apps/codimd/ |
✅ | ✅ | ✅ | ✅ |
| Opengist | apps/opengist/ |
✅ | ✅ | ✅ | ✅ |
| PostgreSQL | apps/postgres/ |
✅ | ✅ | ✅ | ✅ |
💡 提示:執行任何腳本前,先用 ./status.sh 確認目前狀態!