Rancher 從部署到建立一套CI流程I - 多節點Rancher

本篇對象: 以前沒有碰過Kubenetes, Drone, Rancher的雲服務新手
內容涵蓋:
👆基本的概念
👆單節點起一個Rancher環境
👆多節點Rancher,並且加入一個對外的nginx服務
👆參考資料
👆後記

🌎基本概念

Rancher 並不等於 Kubernetes(容器管理平台), 而是他的Web UI介面。
當你從DockerHub下載並跑起一個Rancher Image的時候,他會在你的主機上安裝一套K8s。

Dockerfile 定義 Docker Image
docker-compose.yaml 定義 多容器應用程式
而在K8s的世界中也是以一個yaml file定義想要的服務最終會長什麼樣子
因此在Rancher提供方便的UI之餘,建議還是要知道怎麼寫yaml

🌎在Local起一個Rancher環境

😓本來筆者安裝的環境是在Mac上面,但多次卡在沒辦法順利開service並添加ingress,所以還是建議大家裝在其他linux server,經事後測試Centos7.6單節點也可以裝


筆者的環境:
🍁MacOS 10.13
🍁Docker version 18.03.1-ce, build 9ee9f40
請先安裝Docker,如果照著官網一步一步做很費工,這裡已經有好心人寫好的Script可以直接幫你安裝最新版Docker.


接著請直接用Docker安裝Rancher

Script
1
sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher

如果你的80 port和443port已經被其他程式佔用,請把左邊在本機開放的port改成你要跑的port
1
sudo docker run -d --restart=unless-stopped -p 8080:80 -p 8443:443 rancher/rancher:latest

如果有其他需求,例如你需要安裝在VM或者需要憑證,歡迎參考官方文件
確認Rancher Container跑起來後,輸入http://localhost:8080 pic1 pic1 應該會看到以上畫面,請設定admin帳號密碼,url保持預設就好
接下來會進到Cluster列表,在kubernetes的世界裡是以Cluster為部署最大單位, 請參考這張關係圖: pic1 圖源: Kubernetes 官方網站
你可以建立很多個Clusters,當然也可以建立一個很大的Cluster,並且依照projects分配資源,筆者僅僅部署在本機端, 因此兩個都選擇Custom: pic1 pic1
然後Node Role需要把三個角色都選起來, 因為你會需要一個Master去幫你控制服務要部署在哪台上面,以及其他Node的資訊,這邊如果只選Worker會報錯,有興趣的讀者請參考官方文件 pic1 接著複製並且跑起來下面的程式碼
成功的話會是以下的樣子 pic1

🌎多節點Rancher,串接公開Github, Drone

安裝之前建議開三台以上VM,一台裝Rancher,一台裝Master,其他台裝Worker

比上面的步驟再多加一步: 加入Worker
pic1


加完之後可以發現多了 worker nodes
pic1

接著我們可以試著起一個nginx的container,並讓他可以map到自己的Domain


在Workloads中Deploy
pic1
pic1
成功可以看到一個nginx的Workload跑起來,並且在該節點上開放30617port


點下去連結長這樣
pic1


下一步要加上Ingress
pic1
pic1

pic1
成功!這裡的DNS是設定A record並且指到那台Node的IP pic1

🌎參考資料

🌟安裝 Docker: https://github.com/docker/docker-install
🌟安裝 Rancher: https://github.com/rancher/rancher
🌟官方文件 - Single Node Rancher:
https://rancher.com/docs/rancher/v2.x/en/installation/single-node/
🌟Rancher需求列表:
https://rancher.com/docs/rancher/v2.x/en/installation/requirements/
🌟Node Role In Rancher:
https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/



🌎後記 如果有人成功安裝Rancher並且有起起來服務,歡迎聯絡筆者,感謝!
🌟如果不幸在Rancher安裝遇到問題,要清除資料可以參考這篇:
https://blog.csdn.net/CSDN_duomaomao/article/details/77684571 🌟在Mac遇到的問題: https://github.com/rancher/rancher/issues/18645