boc deploy

👤 hongruiji 📦 v1.0.1 ⭐ 4.3 ⬇️ 675 下載
🔒 IT運維與安全 免費

📖 技能介紹


name: boc-deploy description: 博雲BOC容器平臺 部署工具。根據部署規劃資訊自動生成配置檔案並執行部署。使用場景:使用者需要部署 BOC容器平臺時使用,包括生成 config.yaml、執行 bocctl run、監控部署狀態。 version: 1.0.1 icon: 🚀


BOC容器平臺 部署

自動化完成 BOC容器平臺 的部署階段(配置檔案生成 → 部署執行 → 狀態驗證)。

輸入引數

引數 說明 必填 示例
deploy_server_ip 部署機IP 10.50.6.181
ssh_port SSH埠 22
ssh_user SSH使用者名稱 root
ssh_password SSH密碼 Password
ci_ip CI節點IP 10.50.6.182
node_ips BOC節點IP列表(逗號分隔) 10.50.6.183,10.50.6.184,10.50.6.185
master_vip K8s Master VIP 10.50.6.186
cni_type CNI型別 ipip (預設) 或 bgp
k8s_version Kubernetes版本 1.33.1 (預設)

節點角色說明

角色 說明
deploy_server 部署機
pipeline CI節點
chartmuseum Chart倉庫
docker_registry Docker映象倉庫
nfs_server NFS儲存
master K8s master節點
etcd etcd節點
db 資料庫節點
node K8s worker節點

工作流程

1. 確認 bocctl init 已完成

驗證方法:在部署機上執行以下命令檢查容器狀態:

nerdctl -n k8s.io ps -a

預期結果:應看到兩個執行中的容器 - yum_registry - 執行中 - bocloud_deploy_registry_k8s - 執行中

如果容器未執行,需要先用skill boc-init 進行初始化:

cd /opt/BOC_k8s_noarch
./bocctl init 

2. 生成配置檔案

根據輸入引數生成 config.yaml,包含: - 節點配置(IP、埠、使用者、密碼、角色) - VIP配置 - NFS配置 - 容器執行時配置 - Kubernetes版本 - 資料庫配置 - 網路配置(calico ipip/bgp) - BOC Portal元件配置

配置檔案示例

高可用部署示例檔案: /opt/BOC_k8s_noarch/playbooks/examples/config/install_portal_HA.yaml ALLINONE 部署示例檔案: /opt/BOC_k8s_noarch/playbooks/examples/config/install_portal_allinone.yaml

3. 上傳配置檔案到部署機

將生成的 config.yaml 上傳到部署機的 /root/config.yaml

4. 執行部署

cd /opt/BOC_k8s_noarch
nohup ./bocctl run -a install -c /root/config.yaml > log/bocctl.log 2>&1 &

部署過程約 40-60 分鐘。

5. 監控部署

每5分鐘檢查一次進度:

# 檢查程序數
ps aux | grep -E "bocctl|ansible" | grep -v grep | wc -l

# 檢視日誌
tail -100 /opt/BOC_k8s_noarch/log/bocctl.log

6. 驗證結果

直接連線 master 節點驗證

# 從本機直接連線 master 節點
ssh root@<master節點IP>

# 檢查節點狀態
kubectl get nodes

# 檢查 Pod 狀態
kubectl get pods -A

預期結果: - 所有節點狀態為 Ready - 所有 Pod 狀態為 Running

7. 訪問 BOC Portal

使用瀏覽器訪問:

小蔥技能站7w4.net每天更新,海量AI技能等你發現。

http://<master_vip>:30001

常用服務埠: | 服務 | 地址 | |------|------| | BOC Portal | http://:30001 | | K8s API Server | https://:6443 | | Grafana | http://:30902 | | Prometheus | http://:30909 |

使用示例

請使用 boc-deploy 部署 BOC容器平臺:
- 部署機IP:10.50.6.181
- SSH使用者:root
- SSH密碼:Password
- CI節點IP:10.50.6.182
- BOC節點IP:10.50.6.183,10.50.6.184,10.50.6.185
- VIP:10.50.6.186
- CNI型別:ipip

輸出

  • 配置檔案生成狀態
  • 部署執行狀態
  • 部署日誌末尾輸出
  • 驗證結果:
  • Node 狀態
  • Pod 狀態(所有 Pod 應為 Running)

注意事項

  1. 部署機需先完成初始化(使用 boc-init 技能),確認 nerdctl 容器已執行
  2. 確保所有節點間網路互通
  3. 部署過程耗時較長,建議後臺執行
  4. 部署完成後驗證所有 Pod 狀態
  5. 如果無法從部署機 SSH 到 master 節點,可以從本機直接連線驗證

常見問題

Q: 部署完成但無法訪問 K8s 節點

A: 可能 SSH 互信未配置完成,直接從本機使用密碼連線 master 節點驗證

Q: Pod 狀態不是 Running

A: 檢查具體 Pod 狀態 kubectl describe pod <pod-name> -n <namespace>

Q: BOC Portal 無法訪問

A: 檢查 kube-proxy 和 bocloud 元件是否正常執行

🤖 AI 評測

這個部署工具的文件寫得比較詳細,包含了完整的操作步驟和常見問題解答,但對於普通使用者來說實際幫助有限。主要問題是所有操作都需要手動執行,沒有自動化指令碼或智慧化的部署功能,用起來比較繁瑣。需要有一定技術基礎才能使用。文件本身質量不錯,但作為工具來說缺少核心的自動化能力。

📊 多維度評分

適應性4.4
規範性4.3
有效性4.5
可靠性3.7
可信度5

📁 包含檔案 (2 個)

📄 SKILL.md 4.4 KB
📄 _meta.json 129 B