溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

發(fā)布時間:2020-05-21 11:11:03 來源:億速云 閱讀:469 作者:Leah 欄目:系統(tǒng)運維

如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?針對這個問題,今天小編總結(jié)了這篇文章,希望能幫助更多想解決這個問題的朋友找到更加簡單易行的辦法。

一 本文目標:

1、部署rancher-server UI,版本:2.3.5
2、通過rancher部署一個k8s集群crystal-cluster
3、在k8s集群crystal-cluster上部屬nginx實例

二 部署的幾個前提:

1、按照官方的要求,選擇rancher版本對應(yīng)支持的系統(tǒng)版本和docker版本;
2、安裝ntp,保證每一臺服務(wù)器之間的時間同步,否則可能會出現(xiàn)證書驗證錯誤的問題;
3、關(guān)閉防火墻和selinux。(如果要開啟防火墻,那么要在防火墻放行rancher所需的端口,最好再檢查一下默認的防火墻規(guī)則,保證服務(wù)器與Helm( Kubernetes 的軟件包管理工具)的通信)
4、所有節(jié)點服務(wù)器分配靜態(tài)IP,并且應(yīng)該保留一個DHCP,以確保分配給節(jié)點的IP是相同的。
5、所有節(jié)點的hostname注意不要帶下劃線"_"。
(以上內(nèi)容詳細要求見官網(wǎng)鏈接:https://rancher.com/docs/rancher/v2.x/en/installation/requirements/)

三 本次實驗環(huán)境描述

系統(tǒng)版本:CentOS Linux release 7.7.1908 (Core)
docker版本:18.06.2-ce
rancher-server版本:2.3.5(當前最新版)
主機分配及配置:

hostnameIPrancher角色系統(tǒng)配置(cpu/mem)kubernets集群角色
test10210.0.0.102rancher-server1C/1G
test10310.0.0.103rancher-node11C/2Getcd、Control Plane、Work
test10410.0.0.104rancher-node21C/1GWork

四 環(huán)境準備

1、yum默認安裝的版本是13版本,將docker升級到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可能會報錯
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)查看所有倉庫中所有docker版本:yum list docker-ce --showduplicates | sort -r
6)安裝docker:yum -y install docker-ce-18.06.2.ce-3.el7
7)設(shè)置為開機啟動:systemctl enable docker
8)啟動:systemctl start docker
9)查看啟動狀態(tài):systemctl status docker
10)查看版本:docker version

2、給docker配置阿里源加速器:
1)創(chuàng)建/修改配置文件/etc/docker/daemon.json

[root@test102 ~]# cat /etc/docker/daemon.json     #這個文件可能不存在,需要新創(chuàng)建,然后寫入下列內(nèi)容
{
  "registry-mirrors": ["https://fzhifedh.mirror.aliyuncs.com"]
}
[root@test102 ~]# 

2)重新加載新修改的配置,重啟docker

systemctl daemon-reload 
systemctl restart docker

3、安裝ntp,確保服務(wù)器時間同步:

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'

環(huán)境部屬

1 rancher server部署

1.1 命令:
# docker run -d --restart=unless-stopped -p 8080:80 -p 8443:443 -v /data/rancher/ranchermaster:/var/lib/rancher rancher/rancher:latest
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?
1.2 端口說明:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

1.3 等到容器起來,就能訪問了:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

1.4 通過IP+端口(https://10.0.0.102/)去訪問并配置admin用戶的密碼:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

1.5 密碼配置好之后,跳轉(zhuǎn)到配置rancher-server的URL地址。這里可以用公網(wǎng)IP/內(nèi)網(wǎng)IP,只要保證其他的rancher-node能通過這個URL訪問到rancher-server即可。如果沒有特殊的網(wǎng)絡(luò)原因,最好用內(nèi)網(wǎng)IP:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

1.6 點擊“Save URL”,跳轉(zhuǎn)到rancher-server首頁。左下角可以看到當前rancher-server版本號,右下角可以切換語言,然后就能創(chuàng)建集群,盡情的玩耍了:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

2 創(chuàng)建自定義k8s集群crystal-cluster并添加兩個node節(jié)點

2.1 點擊右上角“Add Cluster”按鈕創(chuàng)建集群:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

2.2 可以選擇創(chuàng)建自定義集群,也可以選擇導入集群。這里是創(chuàng)建一個全新的集群,因此選擇自定義(Custom):
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

2.3 開始配置集群相關(guān)信息:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

以上配置說明:
Cluster Name:填寫集群名稱(crystal-cluster)
Member Roles:配置訪問該集群的用戶,及每個用戶對集群的操作權(quán)限,
Label & Annotations:為集群配置標簽和注釋,按需配置。
Kubernetes Options:
—>Kubernetes Version:選擇kubernets版本
—>Network Provider:選擇需要的網(wǎng)絡(luò)驅(qū)動
—>Project Network Isolation:配置namespace之間的網(wǎng)絡(luò)隔離
—>Cloud Provider:選擇云提供商。本文采用VMware虛擬機部署,默認選擇無
Private Registry:配置私有鏡像倉庫
Advanced Options:配置自定義集群參數(shù),按需配置。
Authorized Endpoint:配置授權(quán)訪問地址
以上參數(shù)均能根據(jù)頁面的提示和自己的需求做出相應(yīng)的配置,本文實驗除了Cluster Name之外,其余均選擇了默認配置。

2.4 然后點擊"Next",到下一步添加主機命令,選擇主機角色:
(選擇主機角色,端口放行參考: https://rancher.com/docs/rancher/v2.x/en/installation/references/)

角色選擇:每臺主機可以運行多個角色。每個集群至少需要一個Etcd角色、一個Control角色、一個Worker角色
選擇好角色后,下面的代碼框會根據(jù)選擇的角色生成對應(yīng)的主機命令,然后將命令復制到node主機上運行(注意node節(jié)點是否已經(jīng)安裝好支持版本的docker,并且docker處于running的狀態(tài))。
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

2.5 選好角色后,將命令復制到node節(jié)點部署:
test103(10.0.0.103),運行etcd、Control Plane、Work角色。因此,在test103執(zhí)行這條命令:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

注意:如果你也選擇在某個節(jié)點上部署三個角色,那么內(nèi)存最小都必須要大于2G,1G內(nèi)存雖然能起來,但是集群活不長就會掛掉,不要問我怎么知道的

這一步需要安裝的組件很多,需要耐心多等一會兒。組件在安裝時,rancher-server能看到下面這個提示:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

繼續(xù)添加第二個節(jié)點了。
在test104(10.0.0.104)上運行work這一個角色,因此,在test104上運行這條命令:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

2.6 點擊“Done”按鈕,回到主頁,查看集群詳情:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

點擊上圖中的“2”進去這個界面,可以看到剛剛加進來的兩臺node節(jié)點分別的State、hostname、IP、Roles等等信息
下圖標注的幾個地方:
1、edit:可以對主機進行編輯,給主機設(shè)置別名,如:測試機104
2、Delete:可以刪除該主機
3、Edit Cluster:點擊這個按鈕,回到剛剛創(chuàng)建主機的界面編輯集群。需要添加新的節(jié)點也能從這里進去找到添加主機命令

如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

點擊左上角的集群名稱,可以看到對應(yīng)集群的儀表盤信息:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

至此,集群添加完畢。

3 在crystal-cluster集群下創(chuàng)建project和namespace

3.1 創(chuàng)建project:
為應(yīng)用更好的管理,rancher在kubernetes的namespace上封裝projects的概念,一個projects可以包含多個namespace,先添加一個project。
3.1.1 點擊Projects/Namespace,進入創(chuàng)建project界面:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

3.1.2 點擊右上角“Add  Project”:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

3.1.3 填寫Project Name,點擊Create創(chuàng)建一個叫“crystal-cluster-project”的project:
(至于下面的成員信息、資源配額,容器限制、標簽等配置,這里沒有配置。頁面提示很詳細,可以按需配置)
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

然后在projects-namespaces這個頁面的末尾,就能看到剛剛創(chuàng)建的project了。

3.2 創(chuàng)建Namespace:
3.2.1 根據(jù)前面的命名規(guī)則,再點擊“Add Namespace”創(chuàng)建一個叫“crystal-cluster-project-namespace”的namespace:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

3.2.2 跟創(chuàng)建project一樣,這里只填寫name,其余配置默認(Container Default Resource Limit這個容器資源限制,在正式環(huán)境建議設(shè)置,減少OOM風險):
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

在projects-namespaces界面,就能看到剛剛創(chuàng)建的namespace:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

4 部署nginx實例

4.1 首先進入剛剛創(chuàng)建的project:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

4.2 點擊右上角的“Deploy”,開始部署:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

4.3 填寫好Name、Docker Image、Port Mapping等相關(guān)的部署信息:
填寫完整相關(guān)信息,點擊launch部署:
后面方框中的環(huán)境變量、主機調(diào)度、健康檢查、數(shù)據(jù)卷、縮放/升級策略在真實環(huán)境中非常有用,功能跟rancher1類似,這里默認,不贅述。
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

之后跳轉(zhuǎn)到這個頁面,看到狀態(tài)變成active了,就部屬成功了:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

在詳情界面能看到這個應(yīng)用的相關(guān)配置,也能進行擴縮容:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

4.4 訪問驗證:
通過nginx的IP+端口,訪問驗證功能:
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?
如何在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群?

以上就是在centos7系統(tǒng)中部署rancher2.x和創(chuàng)建k8s集群的方法,內(nèi)容較為全面,小編相信有部分知識點可能是我們?nèi)粘9ぷ骺赡軙姷交蛴玫降?。希望你能通過這篇文章學到更多知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI