0.服务器准备
我们准备了5台服务器,1台安装rancher-server,2台master和2台worker:
rancher 10.11.111.56
master1 10.11.111.57
master2 10.11.111.58
worker1 10.11.111.59
worker2 10.11.111.60
服务器数量视自身需求而定,甚至单机也可以。
1.Docker安装
请参考:Docker一键安装脚本分享 安装即可,每台服务器都需要安装。需要注意的是,Rancher对Docker的版本有所要求,目前支持以下几个版本:1.12.6
1.13.1
17.03.2
为了避免少出问题,我建议使用官方推荐的版本,这里我们使用17.03.2。
2.启动Rancher
启动rancher的命令超简单,这里分享一个脚本:
#!/bin/bash
name="rancher"
docker rm -f $name
docker run --restart=unless-stopped -d \
-p 80:80 \
-p 443:443 \
-v `pwd`/data:/var/lib/rancher \
--name $name \
rancher/server:preview
从上面脚本中可以看出,我映射了当前目录下的data文件夹到/var/lib/rancher,原因是经我们测试发现,如果不将/var/lib/rancher目录映射出来,那么当rancher容器删除重建后,配置数据就会丢失(我们之前以为它的数据是存etcd,捂脸~)。
这里在CentOS 7下有个坑,当你启动发现rancher容器日志报这个错时:
Failed to start container manager: inotify_add_watch /sys/fs/cgroup/cpuacct,cpu: no such file or directory
需要设置:
sudo mount -o remount,rw '/sys/fs/cgroup'
sudo ln -s /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpuacct,cpu
然后再重启容器就行了。
3.访问Rancher
当rancher启动完成后,我们通过http://10.11.111.56可以进入Rancher管理界面,首次进入需要设置下admin的密码:
接下来是设置rancher-server的URL,需要注意的是这个URL所有节点都必须可访问才行(该URL后续可在管理后台修改):
4.新建集群
设置成功后,我们就可以开始新建集群了,点击下方Add Cluster按钮:
指定集群名称(建议使用小写字母+数字):按此配置即可
点击Next后:
我们现在分配两台master作为etcd+Control,另外两台服务器作为Worker。
所以先只勾选etcd和Control的选择框,将生成的命令在两台master上执行:
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/agent:v2.0.0-beta3 --server https://xxx.xxx.xxx.xxx --token xxxx --ca-checksum xxxx --etcd --controlplane
再只勾选Worker的选择框,将生成的命令在两台worker上执行:
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/agent:v2.0.0-beta3 --server https://xxx.xxx.xxx.xxx --token xxxx --ca-checksum xxxx --worker
待节点都注册成功后,在集群详情可看到如下界面:
参考文章
封面来源