Rancher是一款基于K8S的容器管理平臺,集成了服務的持續(xù)集成、發(fā)布、監(jiān)控等,大大降低了運維的成本
Rancher官方文檔:https://www.rancher.cn/docs/rancher/v2.x/cn/overview/quick-start-guide/
-
首先確定docker版本,目前rancher支持的docker僅包含以下版本
17.03.x18.06.x18.09.x
-
如果版本不支持需要重裝docker,適配至支持的版本,首先卸載docker
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-enginedocker卸載后執(zhí)行
docker -v依然生效(版本可能為卸載之前版本,可以無視),因為docker-ce-cli是docker命令工具,是docker的一個命令客戶端工具它并不會影響docker服務端的版本,查看docker服務端的版本可使用docker info和docker version
*后續(xù)測試發(fā)現(xiàn)在centos下docker-ce-cli也需要卸載,否則會安裝失敗 -
安裝指定版本的docker
yum list docker-ce --showduplicates|sort -r # 這里選取docker-ce-18.09.8-3,可根據(jù)試試需求選取 yum -y install docker-ce-18.09.8-3.el7 # 可參考《CentOS 安裝Docker》進行docker安裝 -
環(huán)境準備
準備三臺主機,并修改主機名(之前由于沒注意主機名的影響,導致集群始終無法注冊)
masterwork1-
work2# 參考:https://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_043_hostname.html # 查看主機名 hostname # 修改主機名,即上面列出的名稱 hostnamectl set-hostname {hostName} # 修改hosts文件 vi /etc/hosts # 127.0.0.1的后面增加{hostName} -
安裝Rancher
在
master主機(后面使用節(jié)點代稱)下載rancher所需鏡像docker pull rancher/rancher docker run -d --restart=unless-stopped -v $PWD/rancher:/var/lib/rancher/ -p 8080:80 -p 8443:443 --name rancher rancher/rancher訪問rancher地址,設置初始化密碼,創(chuàng)建集群,這里需要說明一下,在創(chuàng)建集群的時候,可以配置私有鏡像倉庫,此處配置的鏡像倉庫會作用于集群全局,這樣會倉庫rancher自身所需要的鏡像也會從此倉庫下載,如:rancher/rke-tools等。而我們的場景往往是想要使用私有倉庫的鏡像來部署服務,后面我會提到:
《基于Rancher的持續(xù)集成部署流程》,因此這么我們不配置私有鏡像倉庫-
首先勾選“所有主機選項”,會生成一個創(chuàng)建集群的命令,本可以直接在master節(jié)點的運行的,但是命令中包含了一個基礎名為
rancher/rancher-agent鏡像,我們需要進行下載后才能進行初始化,根據(jù)命令中的rancher/rancher-agent在所有的節(jié)點下載此鏡像,本人安裝時是2.3.1版本docker pull rancher/rancher-agent:v2.3.1
在master節(jié)點運行注冊集群命令(因為勾選了etcd control work,命令結尾會跟上--etcd --controlplane --worker),在master節(jié)點執(zhí)行命令后,rancher界面會提示有一臺主機已注冊,同時修改“所有主機選項”僅勾選work,復制最新命令(命令結尾會跟上--worker)并在work1節(jié)點和work2節(jié)點進行注冊,注冊之后進入rancher界面就能看到rancher正在進行集群初始化了,初始化完成后就可以進行服務部署了