如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?針對(duì)這個(gè)問題,今天小編總結(jié)了這篇文章,希望能幫助更多想解決這個(gè)問題的朋友找到更加簡(jiǎn)單易行的辦法。
創(chuàng)新互聯(lián)專注于企業(yè)成都營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、習(xí)水網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為習(xí)水等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
1、部署rancher-server UI,版本:2.3.5
2、通過rancher部署一個(gè)k8s集群crystal-cluster
3、在k8s集群crystal-cluster上部屬nginx實(shí)例
1、按照官方的要求,選擇rancher版本對(duì)應(yīng)支持的系統(tǒng)版本和docker版本;
2、安裝ntp,保證每一臺(tái)服務(wù)器之間的時(shí)間同步,否則可能會(huì)出現(xiàn)證書驗(yàn)證錯(cuò)誤的問題;
3、關(guān)閉防火墻和selinux。(如果要開啟防火墻,那么要在防火墻放行rancher所需的端口,最好再檢查一下默認(rèn)的防火墻規(guī)則,保證服務(wù)器與Helm( Kubernetes 的軟件包管理工具)的通信)
4、所有節(jié)點(diǎn)服務(wù)器分配靜態(tài)IP,并且應(yīng)該保留一個(gè)DHCP,以確保分配給節(jié)點(diǎn)的IP是相同的。
5、所有節(jié)點(diǎn)的hostname注意不要帶下劃線"_"。
(以上內(nèi)容詳細(xì)要求見官網(wǎng)鏈接:https://rancher.com/docs/rancher/v2.x/en/installation/requirements/)
系統(tǒng)版本:CentOS Linux release 7.7.1908 (Core)
docker版本:18.06.2-ce
rancher-server版本:2.3.5(當(dāng)前最新版)
主機(jī)分配及配置:
hostname | IP | rancher角色 | 系統(tǒng)配置(cpu/mem) | kubernets集群角色 |
---|---|---|---|---|
test102 | 10.0.0.102 | rancher-server | 1C/1G | 無 |
test103 | 10.0.0.103 | rancher-node1 | 1C/2G | etcd、Control Plane、Work |
test104 | 10.0.0.104 | rancher-node2 | 1C/1G | Work |
1、yum默認(rèn)安裝的版本是13版本,將docker升級(jí)到18.06.2-ce版本:
1)保證內(nèi)核版本在3.10及以上:uname -a
2)刪除舊版本:yum remove -y docker docker-common docker-selinux docker-engine #這一步驟在初次安裝docker也最好執(zhí)行一次,否則后面安裝docker可能會(huì)報(bào)錯(cuò)
3)安裝需要的軟件包:yum install -y yum-utils device-mapper-persistent-data lvm2
4)設(shè)置Docker yum源:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5)查看所有倉(cāng)庫中所有docker版本:yum list docker-ce --showduplicates | sort -r
6)安裝docker:yum -y install docker-ce-18.06.2.ce-3.el7
7)設(shè)置為開機(jī)啟動(dòng):systemctl enable docker
8)啟動(dòng):systemctl start docker
9)查看啟動(dòng)狀態(tài):systemctl status docker
10)查看版本:docker version
2、給docker配置阿里源加速器:
1)創(chuàng)建/修改配置文件/etc/docker/daemon.json
[root@test102 ~]# cat /etc/docker/daemon.json #這個(gè)文件可能不存在,需要新創(chuàng)建,然后寫入下列內(nèi)容
{
"registry-mirrors": ["https://fzhifedh.mirror.aliyuncs.com"]
}
[root@test102 ~]#
2)重新加載新修改的配置,重啟docker
systemctl daemon-reload
systemctl restart docker
3、安裝ntp,確保服務(wù)器時(shí)間同步:
yum -y install ntp
systemctl enable ntpd
systemctl start ntpd
timedatectl set-ntp yes
ntpdate -u cn.pool.ntp.org
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
watch -n 1 'date'
1.1 命令:# docker run -d --restart=unless-stopped -p 8080:80 -p 8443:443 -v /data/rancher/ranchermaster:/var/lib/rancher rancher/rancher:latest
1.2 端口說明:
1.3 等到容器起來,就能訪問了:
1.4 通過IP+端口(https://10.0.0.102/)去訪問并配置admin用戶的密碼:
1.5 密碼配置好之后,跳轉(zhuǎn)到配置rancher-server的URL地址。這里可以用公網(wǎng)IP/內(nèi)網(wǎng)IP,只要保證其他的rancher-node能通過這個(gè)URL訪問到rancher-server即可。如果沒有特殊的網(wǎng)絡(luò)原因,最好用內(nèi)網(wǎng)IP:
1.6 點(diǎn)擊“Save URL”,跳轉(zhuǎn)到rancher-server首頁。左下角可以看到當(dāng)前rancher-server版本號(hào),右下角可以切換語言,然后就能創(chuàng)建集群,盡情的玩耍了:
2.1 點(diǎn)擊右上角“Add Cluster”按鈕創(chuàng)建集群:
2.2 可以選擇創(chuàng)建自定義集群,也可以選擇導(dǎo)入集群。這里是創(chuàng)建一個(gè)全新的集群,因此選擇自定義(Custom):
2.3 開始配置集群相關(guān)信息:
以上配置說明:
Cluster Name:填寫集群名稱(crystal-cluster)
Member Roles:配置訪問該集群的用戶,及每個(gè)用戶對(duì)集群的操作權(quán)限,
Label & Annotations:為集群配置標(biāo)簽和注釋,按需配置。
Kubernetes Options:
—>Kubernetes Version:選擇kubernets版本
—>Network Provider:選擇需要的網(wǎng)絡(luò)驅(qū)動(dòng)
—>Project Network Isolation:配置namespace之間的網(wǎng)絡(luò)隔離
—>Cloud Provider:選擇云提供商。本文采用VMware虛擬機(jī)部署,默認(rèn)選擇無
Private Registry:配置私有鏡像倉(cāng)庫
Advanced Options:配置自定義集群參數(shù),按需配置。
Authorized Endpoint:配置授權(quán)訪問地址
以上參數(shù)均能根據(jù)頁面的提示和自己的需求做出相應(yīng)的配置,本文實(shí)驗(yàn)除了Cluster Name之外,其余均選擇了默認(rèn)配置。
2.4 然后點(diǎn)擊"Next",到下一步添加主機(jī)命令,選擇主機(jī)角色:
(選擇主機(jī)角色,端口放行參考: https://rancher.com/docs/rancher/v2.x/en/installation/references/)
角色選擇:每臺(tái)主機(jī)可以運(yùn)行多個(gè)角色。每個(gè)集群至少需要一個(gè)Etcd角色、一個(gè)Control角色、一個(gè)Worker角色
選擇好角色后,下面的代碼框會(huì)根據(jù)選擇的角色生成對(duì)應(yīng)的主機(jī)命令,然后將命令復(fù)制到node主機(jī)上運(yùn)行(注意node節(jié)點(diǎn)是否已經(jīng)安裝好支持版本的docker,并且docker處于running的狀態(tài))。
2.5 選好角色后,將命令復(fù)制到node節(jié)點(diǎn)部署:
test103(10.0.0.103),運(yùn)行etcd、Control Plane、Work角色。因此,在test103執(zhí)行這條命令:
注意:如果你也選擇在某個(gè)節(jié)點(diǎn)上部署三個(gè)角色,那么內(nèi)存最小都必須要大于2G,1G內(nèi)存雖然能起來,但是集群活不長(zhǎng)就會(huì)掛掉,不要問我怎么知道的
這一步需要安裝的組件很多,需要耐心多等一會(huì)兒。組件在安裝時(shí),rancher-server能看到下面這個(gè)提示:
繼續(xù)添加第二個(gè)節(jié)點(diǎn)了。
在test104(10.0.0.104)上運(yùn)行work這一個(gè)角色,因此,在test104上運(yùn)行這條命令:
2.6 點(diǎn)擊“Done”按鈕,回到主頁,查看集群詳情:
點(diǎn)擊上圖中的“2”進(jìn)去這個(gè)界面,可以看到剛剛加進(jìn)來的兩臺(tái)node節(jié)點(diǎn)分別的State、hostname、IP、Roles等等信息
下圖標(biāo)注的幾個(gè)地方:
1、edit:可以對(duì)主機(jī)進(jìn)行編輯,給主機(jī)設(shè)置別名,如:測(cè)試機(jī)104
2、Delete:可以刪除該主機(jī)
3、Edit Cluster:點(diǎn)擊這個(gè)按鈕,回到剛剛創(chuàng)建主機(jī)的界面編輯集群。需要添加新的節(jié)點(diǎn)也能從這里進(jìn)去找到添加主機(jī)命令
點(diǎn)擊左上角的集群名稱,可以看到對(duì)應(yīng)集群的儀表盤信息:
至此,集群添加完畢。
3.1 創(chuàng)建project:
為應(yīng)用更好的管理,rancher在kubernetes的namespace上封裝projects的概念,一個(gè)projects可以包含多個(gè)namespace,先添加一個(gè)project。
3.1.1 點(diǎn)擊Projects/Namespace,進(jìn)入創(chuàng)建project界面:
3.1.2 點(diǎn)擊右上角“Add Project”:
3.1.3 填寫Project Name,點(diǎn)擊Create創(chuàng)建一個(gè)叫“crystal-cluster-project”的project:
(至于下面的成員信息、資源配額,容器限制、標(biāo)簽等配置,這里沒有配置。頁面提示很詳細(xì),可以按需配置)
然后在projects-namespaces這個(gè)頁面的末尾,就能看到剛剛創(chuàng)建的project了。
3.2 創(chuàng)建Namespace:
3.2.1 根據(jù)前面的命名規(guī)則,再點(diǎn)擊“Add Namespace”創(chuàng)建一個(gè)叫“crystal-cluster-project-namespace”的namespace:
3.2.2 跟創(chuàng)建project一樣,這里只填寫name,其余配置默認(rèn)(Container Default Resource Limit這個(gè)容器資源限制,在正式環(huán)境建議設(shè)置,減少OOM風(fēng)險(xiǎn)):
在projects-namespaces界面,就能看到剛剛創(chuàng)建的namespace:
4.1 首先進(jìn)入剛剛創(chuàng)建的project:
4.2 點(diǎn)擊右上角的“Deploy”,開始部署:
4.3 填寫好Name、Docker Image、Port Mapping等相關(guān)的部署信息:
填寫完整相關(guān)信息,點(diǎn)擊launch部署:
后面方框中的環(huán)境變量、主機(jī)調(diào)度、健康檢查、數(shù)據(jù)卷、縮放/升級(jí)策略在真實(shí)環(huán)境中非常有用,功能跟rancher1類似,這里默認(rèn),不贅述。
之后跳轉(zhuǎn)到這個(gè)頁面,看到狀態(tài)變成active了,就部屬成功了:
在詳情界面能看到這個(gè)應(yīng)用的相關(guān)配置,也能進(jìn)行擴(kuò)縮容:
4.4 訪問驗(yàn)證:
通過nginx的IP+端口,訪問驗(yàn)證功能:
以上就是在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群的方法,內(nèi)容較為全面,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ骺赡軙?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。