使用Rancher配置K8s集群

1.選擇原因

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

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

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

2. Rancher介紹

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

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

3. 安裝Rancher2.0

這是一臺(tái)K8s集群管理機(jī)器,建議找一臺(tái)不要加入集群的機(jī)器,當(dāng)然你也可以不采納我的建議,這臺(tái)機(jī)器配置無(wú)需太高,推薦4C8G的機(jī)器,條件不允許的話也可以更低

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

對(duì)的,你沒看錯(cuò),就這么一句話。
等這個(gè)運(yùn)行好了就直接進(jìn)入 https://NodeIP 就可以安裝指引配置管理員賬號(hào)和密碼啥的。
這里要注意的就是在填寫IP的時(shí)候一定要填寫正確

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

image.png

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

image.png

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


image.png

這里的高級(jí)選項(xiàng)的話授權(quán)集群訪問地址選擇禁用,你可以按照你的需要去勾選。端口地址這里不建議修改,因?yàn)橐_防火墻的端口,搞起來(lái)比較麻煩。
我這里這里填寫一個(gè)名字就完事了,然后點(diǎn)擊下一步。


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

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

注意:在將機(jī)器加入集群之前先將端口號(hào)開放才行,不然集群不會(huì)正常運(yùn)行
Rancher-Server(也就是你裝Rancher那臺(tái)機(jī)器)

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 # 沒有這個(gè)內(nèi)部會(huì)無(wú)法通信

firewall-cmd --reload

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

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

執(zhí)行完畢后應(yīng)該會(huì)啟動(dòng)一個(gè)代理的鏡像


image.png

這個(gè)鏡像等下集群?jiǎn)?dòng)起來(lái)后會(huì)自動(dòng)刪除的,不用在意。如果你想查看進(jìn)度就可以執(zhí)行下面的代碼查看日志

$ docker logs 314ee0d78cdb
image.png

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

image.png

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

友情提示:在你動(dòng)手之前請(qǐng)閱讀以下這個(gè)文章,有助于你避免從國(guó)外下載鏡像下載不下來(lái)的煩惱

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

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

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

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

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