我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

docker变的更加普遍之后,docker的集群化管理也就是大势所趋。那么如何管理大量的docker实例呢?最著名的就是大名鼎鼎的k8s了。不过,本篇文章中,介绍的是另外一款docker集群管理软件rancherrancher这个单词的意思:大农场主。放到管理docker这件事情上来说,也是非常贴切的。

苏南大叔:如何安装 docker 集群管理软件 rancher ? - rancher
如何安装 docker 集群管理软件 rancher ?(图11-1)

Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。

本文中,苏南大叔就抛砖引玉一下,Rancher的基本使用。Rancher在定位上和k8s比较接近,都是通过web界面赋予完全的docker服务编排功能。就是说:可以通过web的方式,对docker级群进行管理。

rancher的安装前提,就是安装了docker。而与docker的宿主机的操作系统是没有关系的。同一个集群里面,可能会同时出现win/mac/centos系统,这些是没有关系的。不过,建议大家都使用linux机器。毕竟,已经提升到运维级群层面上了。里面出现一些win或者mac机器,整个系统就显得不那么健壮了不是?

安装rancher

苏南大叔,先选择了一台centos系统,作为运行rancher服务的测试机。安装好之后,这台测试机就是中心节点master了。安装rancher的方式是比较简单的,就是通过docker拉取一个镜像rancher/server

docker pull rancher/server

截至到发稿,rancher的最新版本为:v1.6.22

苏南大叔:如何安装 docker 集群管理软件 rancher ? - rancher_version
如何安装 docker 集群管理软件 rancher ?(图11-2)

运行rancher/server实例

利用docker run把这个镜像rancher/server实例化一下。

docker run --name <container_name> -d -v <host_vol>:/var/lib/mysql --restart=unless-stopped -p <host_port>:8080 rancher/server

下面是个范例:

docker run --name rancher -d -v /docker/mysql/:/var/lib/mysql --restart=unless-stopped -p 8080:8080 rancher/server
  • 其中--restart=unless-stopped这个参数,比较少见,意思是:unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器。
  • 端口设定,rancher的默认开放的端口号是8080。外部端口,就看您高兴了。苏南大叔这边,喜欢用同样的端口号8080
  • 目录文件挂载,需要一个目录来存放mysql数据库文件。内部的路径为:/var/lib/mysql。外部路径,还是看您高兴。苏南大叔,设置了个路径/docker/mysql/。当然,不挂载这个数据库到宿主机也是可以运行的。但是,这样做的话,您的数据库文件似乎是并不稳妥的。并且,重装的实际,有这个/var/lib/mysql的话,原来的安装信息会被重新识别的。
  • 注意--name参数的位置,放到命令的最后的话,会导致得到一个随机名称。

访问权限设置

这里假设,苏南大叔的宿主机地址是:192.168.99.43。那么,Rancher服务器容器的UI界面,可以访问的地址就是:

  • http://192.168.99.43:8080/

第一次使用的时候,要进行大约几分钟的初始化。所以要多多刷新几次上述地址,才能显示正常的UI界面。默认有个匿名收集用户使用信息的界面。这里,苏南大叔就习惯性的不同意收集了。

苏南大叔:如何安装 docker 集群管理软件 rancher ? - anonymous
如何安装 docker 集群管理软件 rancher ?(图11-3)

首次登录,还没有配置访问权限,为了安全期间,首先点击上面的 Admin =>Access Control 菜单,来新建一个权限登陆账号和密码。这个账户控制系统,也比较先进,支持Github/OpenLDAP等六种控制方式。不过,这里,就选择Local这种传统的账号和密码方式就行了。

苏南大叔:如何安装 docker 集群管理软件 rancher ? - 添加管理员用户密码
如何安装 docker 集群管理软件 rancher ?(图11-4)

点击 Enable Local Authentication,打开本地验证,下次就需要输入用户名和密码才能登录了。

苏南大叔:如何安装 docker 集群管理软件 rancher ? - rancher_login_form
如何安装 docker 集群管理软件 rancher ?(图11-5)

添加新的docker节点(容器)

在这里,苏南大叔要添加的新的被控节点,其实还是Rancher服务所在的宿主机。不过,这个操作里面,宿主机有了一个新的身份,就是被控端。好吧,其实就是自己控制自己。这个设置新的被控节点的操作,非常简单易懂,全傻瓜式操作。

Rancher服务器容器的UI界面上,选择Infrastuctrue=>Hosts菜单,点击Add host

苏南大叔:如何安装 docker 集群管理软件 rancher ? - addhost
如何安装 docker 集群管理软件 rancher ?(图11-6)

被控端需要放行UDP端口5004500。(当然,在本次实验中,因为苏南大叔的试验机被控端与控制端都是一台机器,所以,这个步骤就是省略掉的)

苏南大叔:如何安装 docker 集群管理软件 rancher ? - 开放端口
如何安装 docker 集群管理软件 rancher ?(图11-7)

弹出的界面选择 Custom,将页面第 5 步出现的内容复制粘贴下来,拿到宿主机(被控的docker宿主机)的命令行里面执行。

sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.11 http://192.168.99.43:8080/v1/scripts/22A2D43209528C8CDF75:1514678400000:gTknIVNKWuaqW4nfs27J0MAxI

苏南大叔:如何安装 docker 集群管理软件 rancher ? - 添加被控端
如何安装 docker 集群管理软件 rancher ?(图11-8)

被控段会自动下载 rancher/agent 镜像并运行。等待下载完毕。查看一下进程,多出一个 rancher/agent 的进程,并且已经运行。此时再回网页查看 Web 控制台界面,查看Infrastuctrue=>Hosts菜单,就可以看到新的被控端。

苏南大叔:如何安装 docker 集群管理软件 rancher ? - 新的被控端
如何安装 docker 集群管理软件 rancher ?(图11-9)

在被控端的列表最下方,有个按钮Add Container,就可以run一个新的容器。

苏南大叔:如何安装 docker 集群管理软件 rancher ? - 添加新的容器
如何安装 docker 集群管理软件 rancher ?(图11-10)

也可以直接查看Infrastuctrue=>Containers菜单,不分host对容器进行操作。

苏南大叔:如何安装 docker 集群管理软件 rancher ? - 添加新的容器
如何安装 docker 集群管理软件 rancher ?(图11-11)

结论

Rancher的控制下,docker集群也变得比较好操作。不过,本文中仅仅介绍了初级的安装及使用,更多的功能还是有待广大读者来发现的。

更多rancher相关经验文字,请点击苏南大叔的文章。https://newsn.net/tag/rancher/

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   docker    rancher