所有的主机,都先安装指定版版本的docker,Rancher1.6官方文档提到的最后的支持版本是docker-18
,但是Rancher的全局配置文件提到的最大版本是docker-19
,如果是其他版本,需要修改全局配置文件,我简单尝试了下,修改配置后,docker-20也是没有问题的。
下面我给出安装docker-18和docker-19的基础命令
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
# 查看可用版本
yum list docker-ce --showduplicates | sort -r
# rancher1.6官方默认最大支持 docker19版本
# yum install -y docker-ce-18.09.8-3.el7 docker-ce-cli-18.09.8-3.el7 containerd.io
yum install -y docker-ce-19.03.13-3.el7 docker-ce-cli-19.03.13-3.el7 containerd.io
yum versionlock add docker-ce-19.03.13-3.el7 docker-ce-cli-19.03.13-3.el7 containerd.io
echo "5.3.1 Docker自动启动"
systemctl daemon-reload
systemctl enable docker
systemctl restart docker
然后锁定版本,避免后续升级造成问题
yum versionlock add docker-ce-19.03.13-3.el7 docker-ce-cli-19.03.13-3.el7 containerd.io
部署方式可以采用单节点部署,Rancher本身是很稳定的,同时Master奔溃,不会影响服务的,所以我们采用的方案是单节点,外挂搭建的高可用的MySQL集群部署。
mysql.yaml
,如果有省略。CREATE DATABASE IF NOT EXISTS cattle COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';
rancher
docker run -d --restart=unless-stopped --name rancher-server -p 8080:8080 rancher/server \
--db-host 192.168.0.66 \
--db-port 3336 \
--db-user rancher\
--db-pass 123456 \
--db-name cattle \
--advertise-address 192.168.150.139/eth0
请根据自己的实际情况填写上述参数
advertise-address
可以直接写局域网ip,也可以写网卡名称
部署完成后,通过ip和端口进行后续操作
右下角可以修改为简体中文
既然在公网,那么必须开启访问控制,一般开启本地验证就够了,输入用户名和密码后,重新登录即可。
导入前,非常建议将Rancher的注册地址改为Master主机所在的局域网的IP,操作方式如下:
系统管理 -》系统设置-》主机注册地址-》其他地址-》改为局域网的ip
这样可以保证后续不同主机上的服务走内网,不走公网,保证最大速度。
导入主机时,建议手动输入局域网IP
,否则需要打开公网UDP的500和4500端口,流量也是走的公网。
Rancher1.6虽然已经不再维护,但是它的Cattle引擎是真的比K8S更加简单。
在实践K8S的过程中,我也建议大家可以去看看Rancher提供的RKE2,以及升级后的只支持K8S的最新Rancher。