背景:近期因爲公司須要將部署在ucloud上的rancher遷移到阿里雲上,因此將部署到阿里雲的圖中遇到的問題和踩到的坑在這裏進行記錄
在安裝新環境的rancher以前,須要將kubernetes集羣中cattle-system ns下面的cluster-agent和node-agent幹掉,這裏我選擇直接刪除cattle-system這個命名空間前端
kubectl delete ns cattle-system
然而問題來了,在刪除命名空間以後,這個命名空間並無馬上被刪除,而是一直處於Terminating狀態,這裏我專門寫了一篇文章解決這個問題,這裏就再也不贅述node
因爲以前使用的ucloud的機器進行測試,使用默認自簽名證書並無使用SSL證書,因此在配置證書這裏遇到的許多的問題
首先根據官方文檔使用權威CA機構頒發的證書,這裏使用的是本公司本身的證書
獲取證書方法:nginx
進入證書頁面docker
點擊下載證書,選擇nginx證書下載segmentfault
以後將下載的證書上傳到rancher所在服務器,並配置好數據卷掛載
將下面代碼的掛載地址指向證書文件,運行代碼後端
docker run -d --restart=unless-stopped \ -p 80:80 -p 443:443 \ -v /root/var/log/auditlog:/var/log/auditlog \ -e AUDIT_LEVEL=3 \ -v /etc/your_certificate_directory/fullchain.pem:/etc/rancher/ssl/cert.pem \ -v /etc/your_certificate_directory/privkey.pem:/etc/rancher/ssl/key.pem \ rancher/rancher:latest --no-cacerts
以後會自動衝dockerhub上拉取最新的rancher進行進行安裝,以後使用命令服務器
docker ps
查看容器是否在運行,若是運行正常,則後端的配置就完成了
劃重點:這是是在後端配置了證書,因此在阿里雲的配置上要使用四層TCP監聽
這個地方但是坑了我許久,我一直在前端配置https七層監聽,致使一直沒法正常訪問,一度已經到了懷疑人生的地步=。=
以後就是簡單的阿里雲SLB配置四層TCP監聽,這裏也就再也不贅述了less
先後端都準備就緒,如今就能夠訪問rancher了,訪問rancher根據頁面提示進行基本配置,登陸後選擇添加集羣
選擇導入現有集羣測試
爲集羣建立一個rancher中的名稱,而後根據提示將命令拷貝到k8s集羣所在宿主機執行便可,注意:這裏因爲配置了證書,因此選擇有證書,不繞過證書的那個命令執行,以後就可看到集羣數據導入中阿里雲
等待幾秒便可開心的使用rancher了!
感謝RancherLabs的尹學峯老師的指點
rancher官網:https://www.cnrancher.com/