原創不易,請多多支援!對軟體技術感興趣的童鞋請關注我,後續技術分享更精彩。
容器編排從幾年前群雄割據、各方亂戰,到現在Google的k8s一統天下。能迅速力挽狂瀾,已說明其技術實力。但k8s複雜的架構,不太友好的文件,確實讓一些初學者望而卻步。近期正好一直在學習k8s的東西,走了一些彎路。整理出來以備參考。
由於內容過多,本文將分多章介紹k8s叢集構建過程,併發布demo到k8s叢集,簡單演示一個完整CI/CD的自動化過程。各章節內容如下:
三、rancher應用部署
四、Jenkins部署應用到rancher叢集
部署資源centos7.7虛擬機器3臺,對應ip如下:
- 192.168.0.110- 192.168.0.111- 192.168.0.112
192.168.0.110 : rancher和jenkins部署機器。
192.168.0.111/192.168.0.112:k8s叢集node節點。筆者機器資源所限,超過3臺虛擬機器,個人膝上型電腦將無法工作。使用者可根據具體情況增加虛擬機器節點。
Rancher新增服務在Rancher k8s-demo叢集中啟動一個服務,並配置叢集外網路的負載均衡訪問。
進入rancher頁面,選擇左上角,global - k8s-demo - default , 進入workload應用釋出列表頁。
若釋出應用docker映象是私有倉庫,需設定對應祕鑰資訊。這裡是阿里雲倉庫(公共倉庫直接跳過改步)。
選擇頁面 resource - secret ,設定祕鑰資訊。
填入上圖資訊,其中部署2個pod應用例項。docker image 為阿里雲映象地址/映象名:版本號。
workload顯示剛新增應用記錄,狀態為更新中,稍等片刻。狀態變為active,則部署成功。
如上圖可見,在不同節點上,分別部署了一個app-demo例項。
回到workload列表頁,點選 service discovery tab。可以看到rancher自動添加了一個app-demo應用的service服務到k8s-demo叢集。
這個時候的app-demo應用只能在叢集內部訪問,外部想訪問,還需要新增一個負載均衡設定(Load balancing)。
輸入名稱,新增 service,target選擇app-demo 服務,儲存設定。
demo-app測試地址為 /home,返回一段描述文字和當前docker ip地址。由於部署了兩個pod例項,重新整理地址後可見ip地址變化,證明負載均衡設定生效。