Rancher是一个开源的企业级全栈化容器部署及管理平台,目前我们使用的是稳定发布的版本V1.6(2017年发布),其中Rancher2.0也于2018年发布,Rancher 2.0是一个简化、加速企业Kubernetes(K8S)快速落地的产品,由于2.0版本变动太大,不便于我们入门应用,而且目前还没提供可靠并易于安装的容器版本,所以暂时不推荐。以下是两个版本的术语变更,1.6符合Docker初级使用的术语理解,2.0已完全靠向了专业的K8S:
上手指南导读(分一、二、三期说明)
开始先分享一下Rancher平台的架构:
给安装Rancher的主机和其他需要部署Docker的主机,都要安装上Docker服务:
1、对于CantOS安装Docker最好是CentOS7,这样可以保证内核至少是3.10(通过uname -r 命令查看),低于这个版本的内核无法安装Docker。
2、使用 root 权限登录Centos。确保 yum 包更新到最新(sudo yum update),公司的CentOS7机器都可以不更新。
3、卸载旧版本(如果安装过旧版本的话)
sudo yum remove docker docker-common docker-selinux docker-engine
4、安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、直接安装最新版的docker(记住版本宁可最新,也不要低于Rancher所要求的版本)
sudo yum install docker-ce
7、启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
8、可以给镜像加速,中国官方的加速地址: registry.docker-cn.com
echo'{"registry-mirrors": ["https://registry.docker-cn.com"]}'> /etc/docker/daemon.json
中国官方的只能下载公有镜像,私有镜像你还得走美国,网上另提供daocloud的地址
echo'{"registry-mirrors": ["http://bcfb7352.m.daocloud.io"]}'> /etc/docker/daemon.json
关于镜像库加速网上挺多的,包括阿里提供的云端地址,但这些目前对于我们也没什么太大必要,我并没有觉得慢,所以可以不进行该步操作。
备注:如果用以上默认的docker源也无法下载docker-ce,可以试试用阿里云的源:
# Step 1: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 2: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 3: 开启Docker服务
sudo service docker start
Rancher本身也是个容器,所以我们用安装容器的方式安装:
sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server
rancher/server这个镜像拉取的是最新版本的Rancher V1.6
以上是官方的安装命令,我认为这么安装有个问题,如果需要升级Rancher,或容器故障而重装,就会导致我们管理平台的历史数据丢失。所以我们需要用卷的方式,将库文件映射到本地主机上。需要在本地创建三个目录(mkdir -p):
/opt/rancher/lib/cattle
/opt/rancher/lib/mysql
/opt/rancher/log/mysql
通过chmod -R 777 /opt/rancher赋予最高权限,然后通过以下命令安装:
sudo docker run -d --restart=unless-stopped -p 8080:8080 -v /opt/rancher/lib/cattle:/var/lib/cattle -v /opt/rancher/lib/mysql:/var/lib/mysql -v /opt/rancher/log/mysql:/var/log/mysql rancher/server
以上命令,确保容器的可靠性,不但是容器随主机同步重启,而且Rancher被破坏或删除后,只需要重新执行以上命令重建,原来的管理数据还全部保留。
如果需要访问Rancher的mysql,在创建时可以把3306端口对外映射出来。
Rancher安装完后,直接通过http://IP:8080访问
想通过Rancher管理各个节点服务器,就需要在各主机上部署rancher-agent容器,这个通过Rancher界面上的添加主机,就能方便的生成相关命令,而且不只部署rancher-agent,各种网络服务、监控服务都一并部署。
1、点击基础架构à主机à添加主机,选择Custom
2、添加标签(支持添加多个):比如添加 host.ip=你要部署的主机IP
(关于标签一般也可以不加,但为了集群化应用部署时,方便docker-compose.yml文件能标别不同节点的主机,还是打个host.ip标签吧,标签也可以在后期追加)。
复制界面上第5 步的命令
说明:如果主机同时也是部署Rancher的那台机器,图上第4步必须填上主机IP。
3、将复制的命令粘贴到对应主机上执行,就能完成rancher-agent的安装:
4、安装完后,关闭当前界面,回到主机管理页面,就能看新添加的主机面板
安装好后的主机名是localhost(由hostname决定),为了方便识别我们可以编辑主机,自定义个名称,如用IP命名172.17.2.84。
5、管理主机
如上面板,可以实现对主机的停用(停用后才可以删除,这里的删除就是指去除rancher-agent等管理容器)、疏散(就是清除主机管理的所有非系统容器)、编辑(可实现内存、CPU配置、标签设置等)、添加独立容器等功能。
未完待续......