如何为多主机Docker容器管理设置Rancher
本文讨论为多主机Docker容器编排设置Rancher。
如果我们有大规模运行容器化应用程序的经验,那么我们应该一直在努力管理可能的数十个“ dockerized”应用程序。
借助Rancher之类的部署工具,可以轻松解决此问题。
Rancher部署工作流提供了基于Docker-Machine的资源调配,该资源支持创建Docker主机并配置Docker客户端与之对话。
使用Rancher机器集成,我们可以直接从Rancher UI启动节点,这对于从单个界面创建和管理多节点部署至关重要。
本文介绍如何在Ubuntu 16. 04上设置Rancher以及如何添加主机Docker容器。
准备工作
设置Rancher需要一个带有Docker 1. 12. 0镜像的Ubuntu 14发行版。
一个1GB的Ubuntu 14. 04 Droplet,带有Docker 1. 6. 0镜像。
首先,SSH连接到将要运行Rancher的主机。
以下脚本描述了如何运行Rancher服务器。
docker run -d --name rancher-server -p 80:8080 rancher/server
打开防火墙,然后需要Rancher进行设置。
Rancher服务器启动只需几分钟。
当日志显示 . . . . Startup Succeeded, Listening on port. . .
,Rancher UI已启动并正在运行。
日志的这一行几乎在配置完成后立即显示。
此输出之后可能还会有其他日志,因此请不要假定它是初始化后日志的最后一行。
我们的UI暴露在端口8080上,因此要查看UI,请访问http://<SERVER_IP>:8080。
如果我们在运行Rancher服务器的主机上运行浏览器,则需要使用主机的真实IP,例如
http://192. 168. 1. 100:8080
,而不是http://localhost:8080或者http://127. 0. 0. 1:8080。
配置身份验证
大约一分钟后,主机应已准备就绪,我们可以浏览到http://<SERVER_IP>:8080,这是在rancher主机成功启动时显示的。
由于主机在线,因此我们可以设置身份验证。
我们可以使用基于GitHub OAuth的身份验证。
在屏幕顶部,我们应该看到未配置访问控制,然后是指向设置的链接。
单击设置,然后按照此处提供的说明在GitHub上注册新的应用程序,并将客户端ID和密码复制到相应的文本字段中。
完成后,单击“通过GitHub进行身份验证”,然后在弹出的窗口中授权应用程序。
完成后,页面将重新加载,有关设置OAuth的说明将由“配置授权”部分代替。
添加相关的用户和组织并保存。
填写选择的名称,然后在弹出的窗口中选择所有者,然后单击“创建”。
然后再次使用项目选择菜单进行选择。
我们添加的所有计算节点将包含在此项目中。
加载容器
保护完Rancher部署并添加项目后,单击“添加主机”按钮以启动Rancher计算机节点。
如果这是第一次启动主机,我们将看到一个弹出屏幕,要求我们确认Rancher服务器可用的IP地址,例如:计算节点将连接的位置。
在“添加主机”屏幕中,我们将看到三个提供程序:DigitalOcean,Amazon EC2和自定义。
前两个用于在各自的云系统上启动计算节点,而第三个列出了用于在预先安装了Docker的服务器上手动启动Rancher计算节点的命令。
选择我们喜欢的一个并添加必要的详细信息,然后单击“创建”。
Rancher将使用Docker Machine创建指定的Droplet并在其上安装Docker。
Rancher还将在新创建的Droplet上运行rancher-agent,然后将其注册到Rancher服务器。
几分钟后,我们应该在Rancher UI中看到计算节点。
我们还将获得有关节点的一些基本信息,例如其IP地址,处理器时钟速度,内存和存储。
监控容器
其中我们探索对计算节点,停用和删除节点的内置监视。
设置节点后,单击节点名称以拉出“监视”屏幕。
其中我们可以查看内存消耗,CPU利用率以及有关该节点的其他详细信息。
根据服务器重载(overloading),我们可以启动其他节点以分别降低容器密度或者减少容器节点。
可以根据要完成的操作从同一菜单中选择“停用”,“激活”或者“删除”来完成此操作。
现在,我们应该能够使用Rancher for Docker容器启动,监视和终止节点。