Rancher部署kubernetes爬坑記

引言:

 本文不會記錄詳細的部署過程,僅記錄下使用Rancher部署kubernetes踩過的幾個小坑,如果你需要詳細的部署過程,可以參考此處官方教程,這裏面有詳細的部署說明,另外可同時參考下此文,也許對你在部署中遇到的問題有所幫助。由於個人能力有限,如有不當之處,歡迎指正。

環境

  1. 一臺ubuntu 16.04 服務器 作爲Rancher Server 宿主機,並且加入k8s集羣
  2. 一臺virtualbox 虛擬的centos 7.3 服務器,並且加入k8s集羣
     

localhost 問題

問題描述:在安裝好Rancher server,以及新建k8s環境後,需要在k8s中添加主機節點host,按照描述在需要加入的節點中運行,結果報錯:

requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8080): Max retries exceeded with url: /v1 (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f945c7bee50>: Failed to establish a new connection: [Errno 111] Connection refused',))

原因:因爲默認是在localhost裏部署的rancher server,導致rancher默認配置的地址爲localhost,而不是局域網或公網ip地址
解決:需要進入rancher的dashboard ui界面,進入設置界面,從已經選擇的localhost切換爲ip地址的服務.如圖:
settings
延伸:感謝nevotheless https://github.com/rancher/rancher/issues/6623

docker 版本問題

問題描述:在k8s中添加主機節點host完成後,在節點上提示不支持的docker版本,進入查看,發現同時支持rancher和k8s的docker版本爲1.12.3以及1.12這個大版本號以後的版本,我節點的docker是17.03.1-ce版本的,友情提示,我曾嘗試過1.12.6,原本看文檔以爲是支持的,結果1.12.6並不支持,1.12.6就不要使用了。在降級的時候,由於網絡等原因,折騰了不少時間,主要在purge,autoremove,remove docker engine後,重新安裝1.12.3版本,總是啓動失敗,安裝完成後報錯信息爲:

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

原因:systemctl status docker.service 查看部分日誌如下:

level=fatal msg="Error creating cluster component: error while loading TLS Certificate in /var/lib/docker/swarm/certificates/swarm-node.crt: x509: certificate has expired or is not yet valid"

開始沒有仔細看,這也算給自己長了個教訓,最後發現有一句”Error creating cluster component: error while loading TLS Certificate in /var/lib/docker/swarm/certificates/swarm-node.crt: x509: certificate has expired or is not yet valid”,發現是以前安裝的swarm的證書過期或無效了
解決:將/var/lib/docker/swarm目錄刪除或更名.重啓服務.
延伸:感謝Jason-ZH的分享 https://my.oschina.net/JasonZhang/blog/820786

發佈了83 篇原創文章 · 獲贊 34 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章