您好,登錄后才能下訂單哦!
如何在centos7系統中部署rancher2.x和創建k8s集群?針對這個問題,今天小編總結了這篇文章,希望能幫助更多想解決這個問題的朋友找到更加簡單易行的辦法。
1、部署rancher-server UI,版本:2.3.5
2、通過rancher部署一個k8s集群crystal-cluster
3、在k8s集群crystal-cluster上部屬nginx實例
1、按照官方的要求,選擇rancher版本對應支持的系統版本和docker版本;
2、安裝ntp,保證每一臺服務器之間的時間同步,否則可能會出現證書驗證錯誤的問題;
3、關閉防火墻和selinux。(如果要開啟防火墻,那么要在防火墻放行rancher所需的端口,最好再檢查一下默認的防火墻規則,保證服務器與Helm( Kubernetes 的軟件包管理工具)的通信)
4、所有節點服務器分配靜態IP,并且應該保留一個DHCP,以確保分配給節點的IP是相同的。
5、所有節點的hostname注意不要帶下劃線"_"。
(以上內容詳細要求見官網鏈接:https://rancher.com/docs/rancher/v2.x/en/installation/requirements/)
系統版本:CentOS Linux release 7.7.1908 (Core)
docker版本:18.06.2-ce
rancher-server版本:2.3.5(當前最新版)
主機分配及配置:
hostname | IP | rancher角色 | 系統配置(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默認安裝的版本是13版本,將docker升級到18.06.2-ce版本:
1)保證內核版本在3.10及以上:uname -a
2)刪除舊版本:yum remove -y docker docker-common docker-selinux docker-engine #這一步驟在初次安裝docker也最好執行一次,否則后面安裝docker可能會報錯
3)安裝需要的軟件包:yum install -y yum-utils device-mapper-persistent-data lvm2
4)設置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)設置為開機啟動:systemctl enable docker
8)啟動:systemctl start docker
9)查看啟動狀態:systemctl status docker
10)查看版本:docker version
2、給docker配置阿里源加速器:
1)創建/修改配置文件/etc/docker/daemon.json
[root@test102 ~]# cat /etc/docker/daemon.json #這個文件可能不存在,需要新創建,然后寫入下列內容
{
"registry-mirrors": ["https://fzhifedh.mirror.aliyuncs.com"]
}
[root@test102 ~]#
2)重新加載新修改的配置,重啟docker
systemctl daemon-reload
systemctl restart docker
3、安裝ntp,確保服務器時間同步:
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 密碼配置好之后,跳轉到配置rancher-server的URL地址。這里可以用公網IP/內網IP,只要保證其他的rancher-node能通過這個URL訪問到rancher-server即可。如果沒有特殊的網絡原因,最好用內網IP:
1.6 點擊“Save URL”,跳轉到rancher-server首頁。左下角可以看到當前rancher-server版本號,右下角可以切換語言,然后就能創建集群,盡情的玩耍了:
2.1 點擊右上角“Add Cluster”按鈕創建集群:
2.2 可以選擇創建自定義集群,也可以選擇導入集群。這里是創建一個全新的集群,因此選擇自定義(Custom):
2.3 開始配置集群相關信息:
以上配置說明:
Cluster Name:填寫集群名稱(crystal-cluster)
Member Roles:配置訪問該集群的用戶,及每個用戶對集群的操作權限,
Label & Annotations:為集群配置標簽和注釋,按需配置。
Kubernetes Options:
—>Kubernetes Version:選擇kubernets版本
—>Network Provider:選擇需要的網絡驅動
—>Project Network Isolation:配置namespace之間的網絡隔離
—>Cloud Provider:選擇云提供商。本文采用VMware虛擬機部署,默認選擇無
Private Registry:配置私有鏡像倉庫
Advanced Options:配置自定義集群參數,按需配置。
Authorized Endpoint:配置授權訪問地址
以上參數均能根據頁面的提示和自己的需求做出相應的配置,本文實驗除了Cluster Name之外,其余均選擇了默認配置。
2.4 然后點擊"Next",到下一步添加主機命令,選擇主機角色:
(選擇主機角色,端口放行參考: https://rancher.com/docs/rancher/v2.x/en/installation/references/)
角色選擇:每臺主機可以運行多個角色。每個集群至少需要一個Etcd角色、一個Control角色、一個Worker角色
選擇好角色后,下面的代碼框會根據選擇的角色生成對應的主機命令,然后將命令復制到node主機上運行(注意node節點是否已經安裝好支持版本的docker,并且docker處于running的狀態)。
2.5 選好角色后,將命令復制到node節點部署:
test103(10.0.0.103),運行etcd、Control Plane、Work角色。因此,在test103執行這條命令:
注意:如果你也選擇在某個節點上部署三個角色,那么內存最小都必須要大于2G,1G內存雖然能起來,但是集群活不長就會掛掉,不要問我怎么知道的
這一步需要安裝的組件很多,需要耐心多等一會兒。組件在安裝時,rancher-server能看到下面這個提示:
繼續添加第二個節點了。
在test104(10.0.0.104)上運行work這一個角色,因此,在test104上運行這條命令:
2.6 點擊“Done”按鈕,回到主頁,查看集群詳情:
點擊上圖中的“2”進去這個界面,可以看到剛剛加進來的兩臺node節點分別的State、hostname、IP、Roles等等信息
下圖標注的幾個地方:
1、edit:可以對主機進行編輯,給主機設置別名,如:測試機104
2、Delete:可以刪除該主機
3、Edit Cluster:點擊這個按鈕,回到剛剛創建主機的界面編輯集群。需要添加新的節點也能從這里進去找到添加主機命令
點擊左上角的集群名稱,可以看到對應集群的儀表盤信息:
至此,集群添加完畢。
3.1 創建project:
為應用更好的管理,rancher在kubernetes的namespace上封裝projects的概念,一個projects可以包含多個namespace,先添加一個project。
3.1.1 點擊Projects/Namespace,進入創建project界面:
3.1.2 點擊右上角“Add Project”:
3.1.3 填寫Project Name,點擊Create創建一個叫“crystal-cluster-project”的project:
(至于下面的成員信息、資源配額,容器限制、標簽等配置,這里沒有配置。頁面提示很詳細,可以按需配置)
然后在projects-namespaces這個頁面的末尾,就能看到剛剛創建的project了。
3.2 創建Namespace:
3.2.1 根據前面的命名規則,再點擊“Add Namespace”創建一個叫“crystal-cluster-project-namespace”的namespace:
3.2.2 跟創建project一樣,這里只填寫name,其余配置默認(Container Default Resource Limit這個容器資源限制,在正式環境建議設置,減少OOM風險):
在projects-namespaces界面,就能看到剛剛創建的namespace:
4.1 首先進入剛剛創建的project:
4.2 點擊右上角的“Deploy”,開始部署:
4.3 填寫好Name、Docker Image、Port Mapping等相關的部署信息:
填寫完整相關信息,點擊launch部署:
后面方框中的環境變量、主機調度、健康檢查、數據卷、縮放/升級策略在真實環境中非常有用,功能跟rancher1類似,這里默認,不贅述。
之后跳轉到這個頁面,看到狀態變成active了,就部屬成功了:
在詳情界面能看到這個應用的相關配置,也能進行擴縮容:
4.4 訪問驗證:
通過nginx的IP+端口,訪問驗證功能:
以上就是在centos7系統中部署rancher2.x和創建k8s集群的方法,內容較為全面,小編相信有部分知識點可能是我們日常工作可能會見到或用到的。希望你能通過這篇文章學到更多知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。