K3s Kubernetes Deploy

👤 xuelin314-bot 📦 v1.0.0 ⭐ 4.2 ⬇️ 955 下載
🔒 IT運維與安全 免費

📖 技能介紹


name: k3s-deploy description: 自動化部署 K3s Kubernetes 叢集到多臺 Linux 伺服器。支援自動映象拉取、網路配置檢測、CNI 外掛安裝。使用場景:(1) 從零部署 K3s 叢集,(2) 修復 NotReady 節點,(3) 批次部署多節點叢集。觸發條件:使用者提到 K3s、Kubernetes 部署、叢集安裝、節點加入等。


K3s 自動化部署技能

快速開始

# 使用部署指令碼(推薦)
./scripts/deploy-k3s.sh \
  --master 10.1.9.177 \
  --masters-user root \
  --masters-pass 'your-password' \
  --worker 10.1.9.178,10.1.9.179 \
  --workers-user root \
  --workers-pass 'your-password'

工作流程

1. 部署前檢查

  • 檢查伺服器連通性
  • 驗證 SSH 憑據
  • 檢測作業系統版本(支援 CentOS 7+/Ubuntu 18.04+)

2. 安裝 K3s

  • Master 節點:安裝 K3s server
  • Worker 節點:加入叢集

3. 部署網路外掛

  • 自動檢測網路介面(ens192/eth0 等)
  • 拉取國內映象源 flannel
  • 建立 CNI 配置檔案

4. 健康檢查

  • 驗證所有節點 Ready
  • 驗證 CoreDNS 執行
  • 測試 Pod 排程

可用指令碼

指令碼 用途
scripts/deploy-k3s.sh 一鍵部署完整叢集
scripts/pull-images.sh 預拉取必要映象
scripts/check-cluster.sh 叢集健康檢查

故障排查

常見問題見 references/troubleshooting.md

快速診斷

# 檢查節點狀態
kubectl get nodes

# 檢查系統 Pod
kubectl get pods -n kube-system

# 檢視 Pod 詳情
kubectl describe pod <pod-name> -n kube-system

# 檢視 kubelet 日誌
journalctl -u kubelet -n 50

配置說明

網路介面自動檢測

指令碼會自動執行以下命令檢測預設路由介面:

ip route | grep default | awk '{print $5}'

映象源

預設使用華為雲映象: - Flannel: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/coreos/flannel:v0.15.1 - Pause: registry.aliyuncs.com/google_containers/pause:3.9

CNI 配置

Flannel v0.15.1 需要手動建立 CNI 配置檔案,指令碼會自動完成:

7w4.net小蔥技能站收錄全網優質技能,值得收藏。

# 在所有節點建立 /etc/cni/net.d/10-flannel.conflist

最佳實踐

  1. 提前拉取映象 - 使用 pull-images.sh 在所有節點預拉取
  2. 統一時間 - 確保所有節點 NTP 同步
  3. 防火牆 - 關閉防火牆或開放必要埠
  4. Swap - K3s 要求關閉 Swap

輸出

部署完成後生成: - cluster-info.md - 叢集配置摘要 - deployment-log.txt - 詳細部署日誌

🤖 AI 評測

這個 Skill 整體質量中等偏上,功能基本完整,文件寫得很詳細,指令碼能自動處理網路檢測和多節點部署。但存在幾個明顯問題:部署腳本里有程式碼錯誤會導致配置失敗、兩個指令碼的映象列表不一致、用明文密碼不夠安全。普通使用者使用時可能會遇到指令碼執行成功但叢集配置不對的情況,需要謹慎使用或等待修復後再使用。

📊 多維度評分

適應性4
規範性4
有效性4.4
可靠性3.9
可信度4.8

📁 包含檔案 (5 個)

📄 SKILL.md 2.5 KB
📄 _meta.json 129 B
📄 references/troubleshooting.md 5.7 KB
📄 scripts/deploy-k3s.sh 11.2 KB
📄 scripts/pull-images.sh 990 B