使用Rancher配置K8s集群

1.選擇原因

在K8s選型的時候?qū)Ρ冗^ KubeOperator,OpenShift,Rancher,裸金屬

  1. 裸金屬 搭建比較費勁,維護比較費勁
  2. OpenShift 比較重
  3. KubeOperator 給百度交了廣告費 ,感覺不靠譜 (不喜勿噴,就這么隨意)
  4. Rancher 安裝和使用很簡單

讓我這半吊子運維覺得安裝和使用都很簡單,我很難拒絕這一部分,就選擇它了。

2. Rancher介紹

Run Kubernetes Everywhere
From datacenter to cloud to edge, Rancher lets you deliver Kubernetes-as-a-Service.

有興趣可以去官網(wǎng)看看介紹,我懶得復制粘貼了。

3. 安裝Rancher2.0

這是一臺K8s集群管理機器,建議找一臺不要加入集群的機器,當然你也可以不采納我的建議,這臺機器配置無需太高,推薦4C8G的機器,條件不允許的話也可以更低

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

對的,你沒看錯,就這么一句話。
等這個運行好了就直接進入 https://NodeIP 就可以安裝指引配置管理員賬號和密碼啥的。
這里要注意的就是在填寫IP的時候一定要填寫正確

4.構(gòu)建K8s集群

image.png

你可以導入一個已有的集群,也可以創(chuàng)建下面的任意托管集群,或者自定義集群,這里我是自己的機器所以選的自定義。

image.png

你也可以看著下面的參數(shù)去進行配置,沒啥需要注意的按照中文走就完事了。


image.png

這里的高級選項的話授權(quán)集群訪問地址選擇禁用,你可以按照你的需要去勾選。端口地址這里不建議修改,因為要開防火墻的端口,搞起來比較麻煩。
我這里這里填寫一個名字就完事了,然后點擊下一步。


image.png
注意:這里的高級選項要點開,去配置內(nèi)網(wǎng)地址和節(jié)點名稱,不然會出現(xiàn)稀奇古怪的問題

這里有三個主機角色 Etcd,Control,Worker
Etcd 是負責存儲的
Control 是控制器
Worker 是工作節(jié)點
這里Rancher官網(wǎng)的HA部署建議是任意一臺加入集群的機器都勾選三個角色,但是我不接受他的建議
裸金屬搭建K8s的經(jīng)驗告訴我,Master就是Etcd,Control,Node就是Worker 所以我選擇 Etcd,Control放在一起,Worker單獨放。我這里這里小集群的話Etcd和Control放在一臺機器上面。建議將穩(wěn)定性高的機器做為Master因為這臺機器只要求穩(wěn)定性,Pod調(diào)度默認也不會調(diào)度到這臺機器上,對性能要求沒有Worker高。有錢的話忽略這一段。

注意:在將機器加入集群之前先將端口號開放才行,不然集群不會正常運行
Rancher-Server(也就是你裝Rancher那臺機器)

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=6443/tcp --permanent

# 如果你的22沒有開放的話也是需要開放的
# firewall-cmd --zone=public --add-port=22/tcp --permanent

Etcd

firewall-cmd --zone=public --add-port=2079-2380/tcp --permanent
firewall-cmd --zone=public --add-port=10250/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=6443/tcp --permanent
firewall-cmd --zone=public --add-port=8472/udp --permanent #注意這里是udp的
firewall-cmd --reload

Control

firewall-cmd --zone=public --add-port=2079-2380/tcp --permanent
firewall-cmd --zone=public --add-port=10250/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=6443/tcp --permanent
firewall-cmd --zone=public --add-port=8472/udp --permanent #注意這里是udp的

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=30000-32767/tcp --permanent
firewall-cmd --reload

Worker

firewall-cmd --zone=public --add-port=10250/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=6443/tcp --permanent
firewall-cmd --zone=public --add-port=8472/udp --permanent

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --zone=public --add-port=30000-49999/tcp --permanent
firewall-cmd --zone=public --add-port=9099/tcp --permanent
firewall-cmd --zone=public --add-port=10254/tcp --permanent
firewall-cmd --zone=public --add-port=19796/tcp --permanent
firewall-cmd --zone=public --add-port=9796/tcp --permanent
firewall-cmd --zone=public --add-port=4789/udp --permanent
firewall-cmd --zone=public --add-port=6783-6784/udp --permanent
firewall-cmd --zone=public --add-port=2376/tcp --permanent
firewall-cmd --zone=public --add-port=2379-2380/tcp --permanent
firewall-cmd --zone=public --add-port=6783/tcp --permanent

firewall-cmd --zone=public --add-masquerade --permanent # 沒有這個內(nèi)部會無法通信

firewall-cmd --reload

端口開放后再執(zhí)行加入命令就完事了

這里要注意先加入Master再加入Worker(雖然不知道是為啥,但是反正就是要這樣做)。
image.png

執(zhí)行完畢后應該會啟動一個代理的鏡像


image.png

這個鏡像等下集群啟動起來后會自動刪除的,不用在意。如果你想查看進度就可以執(zhí)行下面的代碼查看日志

$ docker logs 314ee0d78cdb
image.png

全部機器執(zhí)行完畢后就等就好了,這個鏡像有一個多G,慢慢等吧。
等機器的機器起來后就應該可以看到這樣的界面

image.png

然后你的Rancher集群就搭建完畢了。

友情提示:在你動手之前請閱讀以下這個文章,有助于你避免從國外下載鏡像下載不下來的煩惱

在國內(nèi)使用Rancher的最佳實踐

友情鏈接 使用jenkins 將應用持續(xù)集成到Rancher集群中

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容