On this page
安裝 & 建置
開始安裝 Kubernetes 叢集
以下指令操作請在佈署主機上的 Koffline Container 內執行,如不知道如何進行請參考啟動安裝環境
/inventory/hosts.yml為剛剛生成的部署節點設定檔,如你的檔名有變換請調整下面指令
設定安裝日誌紀錄路徑
預設安裝日誌只出現在 Console 上,考慮到安裝時間過長 IT 人員無法時刻關注安裝過程,我們需要開啟相關日誌設定
# 預設已經設定,如有需要可以自行調整
export ANSIBLE_LOG_PATH=/inventory/playbook.log
後面查詢日誌或錯誤時,可以在 /inventory/playbook.log 查詢所有安裝日誌
修改目標主機 Repository & Firewall 設定
安裝過程中會需要從部署主機下載安裝套件,需要暫時將節點的套件下載位置指向前面步驟啟動的服務,並暫時關閉防火牆。
cd /kubespray && ansible-playbook \
-e "unsafe_show_logs=true" -i /inventory/hosts.yml \
--private-key /root/.ssh/id_rsa /playbook/offline-repo.yml -v -K
-e unsafe_show_logs=true部分錯誤訊息需要添加此參數才能印出,建議添加-v設定verbose等級,如需更多資訊可以設定為-vvv-K等同於--ask-become-pass,執行時跳出視窗詢問目標節點的 sudo 密碼
開始安裝 Kubernetes
RHEL / CentOS
cd /kubespray && ansible-playbook \
-e "unsafe_show_logs=true" -e "rhel_enable_repos=false" -i /inventory/hosts.yml \
--private-key /root/.ssh/id_rsa cluster.yml -v -b -K
Ubuntu / Debian
cd /kubespray && ansible-playbook \
-e "unsafe_show_logs=true" -e "update_repo_cache=false" -i /inventory/hosts.yml \
--private-key /root/.ssh/id_rsa cluster.yml -v -b -K
-b等同於--become,強制整個 playbook 都使用 sudo 權限執行。- 若部署專用帳號已設定 sudo 免密碼,本頁所有指令皆可省略
-K。
確認叢集狀態
於任一控制節點執行下列指令(kubeconfig 位於 /etc/kubernetes/admin.conf,kubectl 位於 /usr/local/bin):
sudo kubectl --kubeconfig /etc/kubernetes/admin.conf get nodes -o wide
sudo kubectl --kubeconfig /etc/kubernetes/admin.conf get pods -A
正常狀態下,所有節點的 STATUS 應為 Ready,kube-system 內所有 Pod 應為 Running,且 Pod 的映像檔皆指向前面步驟設定的 Container Registry(例如 192.168.1.160:35000/library/...),不應有 Pod 處於 ImagePullBackOff。
如需以一般使用者身分執行 kubectl,可將 /etc/kubernetes/admin.conf 複製至 ~/.kube/config。
復原 APT/YUM Repository 設定
恢復目標主機原來的 Package Repository 設定
cd /kubespray && ansible-playbook \
-i /inventory/hosts.yml \
--private-key /root/.ssh/id_rsa /playbook/online-repo.yml -v -K
重新安裝
如需移除叢集後重新安裝(例如安裝中途失敗且無法繼續),請先執行 reset.yml,再重新執行上述安裝指令:
cd /kubespray && ansible-playbook -i /inventory/hosts.yml \
--private-key /root/.ssh/id_rsa reset.yml -b -K -e reset_confirmation=yes
Was this page helpful?