Rancher是一款基于K8S的容器管理平台,集成了服务的持续集成、发布、监控等,大大降低了运维的成本
Rancher官方文档:https://www.rancher.cn/docs/rancher/v2.x/cn/overview/quick-start-guide/
-
首先确定docker版本,目前rancher支持的docker仅包含以下版本
17.03.x
18.06.x
18.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-engine
docker卸载后执行
docker -v
依然生效(版本可能为卸载之前版本,可以无视),因为docker-ce-cli
是docker命令工具,是docker的一个命令客户端工具它并不会影响docker服务端的版本,查看docker服务端的版本可使用docker info
和docker version
*后续测试发现在centos下docker-ce-cli
也需要卸载,否则会安装失败 -
安装指定版本的docker
yum list docker-ce --showduplicates|sort -r # 这里选取docker-ce-18.09.8-3,可根据试试需求选取 yum -y install docker-ce-18.09.8-3.el7 # 可参考《CentOS 安装Docker》进行docker安装
-
环境准备
准备三台主机,并修改主机名(之前由于没注意主机名的影响,导致集群始终无法注册)
master
work1
-
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
主机(后面使用节点代称)下载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地址,设置初始化密码,创建集群,这里需要说明一下,在创建集群的时候,可以配置私有镜像仓库,此处配置的镜像仓库会作用于集群全局,这样会仓库rancher自身所需要的镜像也会从此仓库下载,如:rancher/rke-tools等。而我们的场景往往是想要使用私有仓库的镜像来部署服务,后面我会提到:
《基于Rancher的持续集成部署流程》
,因此这么我们不配置私有镜像仓库-
首先勾选“所有主机选项”,会生成一个创建集群的命令,本可以直接在master节点的运行的,但是命令中包含了一个基础名为
rancher/rancher-agent
镜像,我们需要进行下载后才能进行初始化,根据命令中的rancher/rancher-agent
在所有的节点
下载此镜像,本人安装时是2.3.1版本docker pull rancher/rancher-agent:v2.3.1
在master
节点运行注册集群命令(因为勾选了etcd
control
work
,命令结尾会跟上--etcd --controlplane --worker),在master
节点执行命令后,rancher界面会提示有一台主机已注册,同时修改“所有主机选项”仅勾选work
,复制最新命令(命令结尾会跟上--worker)并在work1
节点和work2
节点进行注册,注册之后进入rancher界面就能看到rancher正在进行集群初始化了,初始化完成后就可以进行服务部署了