Files
k3s/QUICKSTART.md

2.7 KiB
Raw Blame History

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/IngressPVC 和 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

  1. 本地編輯:在 /Users/timmy/42_120/k8s/ 修改 yaml
  2. 同步到遠端
    rsync -avz --rsync-path="sudo rsync" \
      /Users/timmy/42_120/k8s/ \
      ubuntu@192.168.42.120:/root/k8s/
    
  3. 應用變更
    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 確認目前狀態!