docker安装部署rancher
环境条件
虚拟机 VMWare【建议4G、4核】
操作系统 CentOS7.6
已安装 docker 并配置了镜像加速
文章后面记录了部署过程出现的一系列问题,建议先对照问题配置下环境
安装步骤
rancher中文官网地址:https://docs.rancher.cn/
1、镜像拉取
此处针对rancher2.x
docker pull rancher/rancher:v2.5.12
2、查看镜像及镜像详细信息
docker images
docker inspect rancher/rancher:v2.5.12
3、创建挂载目录
rancher镜像主要有四个volume目录(rnacher、log、kubelet、cni),默认方式是采用匿名卷的方式,可以使用挂载到指定的主机目录方式来进行数据卷持久化。
mkdir -p /usr/local/software/rancher-home/rancher
mkdir -p /usr/local/software/rancher-home/log
mkdir -p /usr/local/software/rancher-home/kubelet
mkdir -p /usr/local/software/rancher-home/cni
4、启动容器
docker run --privileged -d --restart=unless-stopped -p 80:80 -p 443:443 -v /usr/local/software/rancher-home/rancher:/var/lib/rancher -v /usr/local/software/rancher-home/log:/var/log -v /usr/local/software/rancher-home/cni:/var/lib/cni -v /usr/local/software/rancher-home/kubelet:/var/lib/kubelet --name rancher rancher/rancher:v2.5.12
5、访问可视化界面
http://192.168.223.120【访问自己虚拟机的地址】
设置登录密码进入下一步并设置rancher server url【确保集群的每个节点都能访问该地址】
进入管理界面后可以修改界面语言
6、添加集群
添加集群 -> 自定义 -> 录入基本配置信息后下一步 -> 勾选Etcd和Control Plane -> 复制需要在主机SSH运行的命令 -> 执行命令 -> 界面提示主机注册成功后点击完成 -> 等待集群状态变成 Active【需要点时间】
问题处理
1、启动rancher容器服务报 WARNING: IPv4 forwarding is disabled. Networking will not work.错误
修改配置文件:
vim /usr/lib/sysctl.d/00-system.conf
追加内容:
net.ipv4.ip_forward=1
重启网络:
systemctl restart network
将之前错误的docker删掉,重新创建启动即可
docker stop 容器ID
docker rm 容器ID
2、集群创建过程报错 can not find RKE state file
原因是 hostname 和 DNS 的解析规则不匹配,需要修改 hostname
vim /etc/hostname 或者 hostnamectl set-hostname master
3、rancher-agent容器服务启动不起来
可能是 rancher server url 配置的不正确
4、集群安装过程报错 [etcd] Failed to bring up Etcd Plane: [etcd] Etcd Cluster is not healthy
可能是上个集群的一些配置没有清除,导致配置文件不同步之类的原因,在安装rancher的机器上执行如下命令:
docker stop $(docker ps -aq)
docker system prune -f
docker volume rm $(docker volume ls -q)
docker image rm $(docker image ls -q)
umount $(df -HT | grep '/var/lib/kubelet/pods' | awk '{print $7}')
rm -rf /etc/ceph /etc/cni /etc/kubernetes /opt/cni /opt/rke /run/secrets/kubernetes.io /run/calico /run/flannel /var/lib/calico /var/lib/etcd /var/lib/cni /var/lib/kubelet /var/lib/rancher/rke/log /var/log/containers /var/log/pods /var/run/calico /usr/local/software/rancher-home/
5、创建集群过程报错 Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker
vi /etc/resolv.conf
添加 nameserver 8.8.8.8和nameserver 114.114.114.114
重启网络 systemctl restart network
6、创建集群时一直卡在 Pre-pulling kubernetes images 不动
rancher-ui中,系统设置 -> 高级设置 -> system-default-registry -> 点击升级,输入 registry.cn-hangzhou.aliyuncs.com 后保存即可