1. 程式人生 > >Breeze安裝常見錯誤錦集

Breeze安裝常見錯誤錦集

  1. 前端Web UI的日誌如果還不能判斷出具體問題所在,可以在部署機上輸入命令 docker logs -f deploy-main 來獲取更詳細的日誌
  2. docker、registry、etcd、k8s這四個角色是缺一不可的,不能缺少元件。
  3. 節點主機記憶體不能太低,建議最少4G配置,否則kubeadm部署過程中master節點可能會卡死在等待kubelet服務啟動的過程中而導致最終部署失敗。
  4. Breeze部署工具底層是呼叫ansible執行playbook指令碼,所以對宿主機環境而言,python的版本相容性是相關聯的,如果在部署中看見了Failed to import docker-py - No module named 'requests.packages.urllib3'. Try pip install docker-py這樣的資訊,請修正您宿主機的python依賴問題後再進行部署。
  5. Breeze暫不支援非root賬號的環境部署,因此請確保您部署機到各個伺服器節點是直接root ssh免密的。
  6. 部署好之後,dashboard的埠是30300,但是谷歌瀏覽器是不可以訪問的,火狐可以,這個是瀏覽器安全設定問題,和部署沒有關係。
  7. 由於CentOS的特性,部署之後核心並未啟動ipvs,因此kube-proxy服務中會看見警告日誌,退回iptables方式,這個只需要將所有節點重啟一次即可解決。
  8. 在部署機上,一定不要忘記執行“(1)對部署機取消SELINUX設定及放開防火牆”,否則會導致selinux的限制而無法建立資料庫檔案cluster.db,頁面提示“unable to open database file”。
  9. 不要這樣去關閉防火牆 systemctl stop firewalld 或 systemctl disable firewalld,我們的部署過程中已經做了正確的防火牆規則設定,服務是必須開啟的,只是設定為可信任模式,也就是放開所有訪問策略,如果你需要設定嚴格的防火牆規則,請自行學習研究清楚firewall-cmd的用法。

詳細註解: iptables與firewalld都不是真正的防火牆,它們都只是用來定義防火牆策略的防火牆管理工具而已,或者說,它們只是一種服務。iptables服務會把配置好的防火牆策略交由核心層面的netfilter網路過濾器來處理,而firewalld服務則是把配置好的防火牆策略交由核心層面的nftables包過濾框架來處理。對於RHEL/CentOS 7系列,我們推薦的做法就是刪掉iptables服務啟用firewalld服務,注意不是刪掉iptables命令。然後用命令firewall-cmd --set-default-zone=trusted來“關閉”防火牆。這樣docker和kubernetes執行時才不會出故障。 docker最終還是要呼叫iptables命令的,它不在乎你的系統底層究竟是iptables服務還是firewalld服務,總之要麼轉換成netfilter模組執行要麼轉換成nftables模組執行。我們的部署程式,在安裝docker的環節中,已經為您的主機做了這樣的設定。也就是防火牆服務是active的,但是policy是trusted,這樣是最佳方法。當然如果您實際生產環境不允許過於寬鬆的防火牆,可以手動再去使用firewall-cmd命令控制嚴格的具體ACL條目。

  1. 所有被部署的伺服器在部署工作開始之前請使用命令:
    hostnamectl set-hostname 主機名