如何在Ubuntu 16.04上使用Rancher和Docker Machine管理多节点部署

Rancher支持基于Docker Machine的供应,这使得在云提供商或您自己的数据中心内轻松创建Docker主机。在本教程中,您将使用Rancher内置的DigitalOcean驱动程序从Rancher UI创建Droplets,并将其配置为运行Docker计算主机,您可以监视,扩展和使用Docker容器来部署Docker容器。

介绍

Rancher支持Docker Machine-based为主的配置,这使得它很容易创建Docker举办的云服务提供商,还是你自己的数据中心里。使用Rancher,您可以直接从Rancher UI启动计算节点,这是一个很小但关键的一步,能够从单个接口创建和管理多节点,以及将来的多云部署。 在本教程中,您将使用DigitalOcean驱动程序是内置于Rancher从RancherUI创建Droplet并提供它们运行Docker计算主机可用于监视,规模,用于部署Docker容器。

前提条件

要遵循本教程,您需要:
  • 一个DigitalOcean个人访问令牌的API,你可以通过下面的指令创建本教程
  • 一个1GB Ubuntu 16.04 Droplet使用Docker 1.12镜像配置。您将在第1步中配置此Droplet。
  • 一个GitHub的帐户,您可以使用它来配置用户身份验证的Rancher。

第1步 - 创建一个Droplet到主机Rancher

为了使用Rancher来管理Docker主机和容器,我们需要让Rancher运行。 我们将使用DigitalOcean的Docker窗图像和位用户数据的起床和快速运行。 首先,登录到您的帐户DigitalOcean并选择创建滴 。 然后,在选择图片部分,选择一键式应用程序标记。 选择Docker05年1月12日对Ubuntu 16.04的形象。 Docker镜像 下一步,选择一个1GB的Droplet,然后选择数据中心区域为您滴。 然后在选择部分额外的选项中选择用户数据 ,然后在出现的文本框中输入下面的脚本。 该脚本告诉Droplet获取rancher/serverDocker窗图像和在启动后的容器启动一个Rancher服务器。
#!/bin/bash
docker run -d --name rancher-server -p 80:8080 rancher/server
最后,添加您的SSH密钥,为您提供Droplet的主机名,然后按创建按钮。然后在创建新服务器时等待。一旦服务器启动,Docker将下载一个Rancher镜像并启动Rancher服务器,这需要几分钟。 要仔细检查Rancher是否正在运行,请登录到您的新Droplet:
ssh root@your_ip_address
登录后,获取运行Docker容器的列表:
docker ps
你会看到以下,证明Rancher正在运行:
ec5492f1b628        rancher/server      "/usr/bin/entry /usr/"   15 seconds ago      Up 13 seconds       3306/tcp, 0.0.0.0:80->8080/tcp   rancher-server

如果您没有看到此信息,请等待几分钟,然后重试。一旦你证明Rancher正在运行,你可以退出机器。

第2步 - 为Rancher配置身份验证

一旦你的服务器正在运行,浏览到http:// your_server_ip /弹出RancherUI。因为Rancher服务器当前对互联网是开放的,所以建议设置身份验证,以便公众不能更改我们的环境。让我们配置Rancher使用基于Github OAuth的身份验证。 你会看到在屏幕的顶部旁边管理员菜单项警告图标。 未配置访问控制 如果你将鼠标悬停在这个链接,你会看到该消息未配置的访问控制 。 从管理菜单中选择访问控制 。 Github将被选为默认的身份验证方法,因此按照页面上的说明使用GitHub注册一个新的应用程序。 一旦你注册的应用程序,复制从Github上的应用程序页面的客户端ID客户端密钥到Rancher用户界面的相应文本字段。 然后点击保存 。 然后, 测试和启用认证下,单击身份验证与GitHub上 ,然后单击,在弹出窗口授权的应用程序 。 该页面将重新加载并设置OAuth的指令将被配置授权部分进行更换。 添加应该允许访问Rancher的任何其他用户和组织。 如果你做任何更改,单击保存按钮。 接下来,让我们创建组织我们计算主机的环境

第3步 - 创建环境

Rancher中的环境允许我们将主机分组为逻辑集。Rancher提供了一个名为默认的环境,但是让我们创造我们自己的。 单击默认链接屏幕显示环境菜单的顶部,然后单击管理环境 。 单击页面上显示的添加环境按钮。 填写项目的名称和描述。保留所有其他设置为默认值,然后单击创建 。然后再次使用项目选择菜单选择新环境。 现在让我们在这个新环境中启动一些主机。

第4步 - 启动Rancher计算节点

一旦你已经获得您的Rancher部署,并增加了一个项目,从基础设施菜单中选择主机 ,然后单击添加主机按钮。 在添加主机屏幕上,你会看到几个供应商:Custon,Amazon EC2上 ,DigitalOcean,Azure以及自定义选项列出的步骤手动启动预装Docker的服务器上Rancher计算节点。其他用于在各个云系统上启动计算节点。 选择DigitalOcean选项,如图如下图所示: 访问令牌场,将您的个人访问令牌的DigitalOcean API,你从前提条件部分获得。 然后单击Next:配置滴 。 一组新的字段将出现在屏幕上。填写以下详细信息:
  • 名称 :您要创建的服务器的名称。 在这种情况下,输入host01
  • 数量 :在离开这个1 。增加这个将创建多个主机,并为您自动命名每个。
  • 图片 :从列表中选择了Ubuntu 16.04.1 x64的形象。列表中的某些条目被禁用,因为它们与Rancher不兼容。
  • 尺寸 :Droplet的大小。 选择1GB的Droplet的选项。
  • 地区 :您的Droplet将要创建的区域。选择一个地理位置靠近你。
最后,单击创建 。 Rancher将使用Docker Machine创建指定的Droplet并在其上安装Docker。 Rancher也将运行rancher-agent在新创建的Droplet,这将反过来与Rancher服务器注册。 几分钟后,您将在Rancher UI中看到您的新主机。您还将获得有关主机的一些基本信息,例如其IP地址,处理器时钟速度,内存和存储。 您新创建的主机 您可以重复此步骤多次,以便在部署中启动更多计算节点。现在让我们探讨Rancher的内置监控,以及如何停用和删除笔记。

第5步 - 监控和扩展部署

配置计算节点后,单击其中一个主机的名称以显示“监视”屏幕,您可以在其中看到该计算节点的CPU利用率和内存消耗。 您的主机的CPU和内存消耗 如果您发现您使用大部分内存,或者如果您的CPU持续运行,您可能需要启动更多节点以减少容器密度并分散负载。这就是docker-machine整合是非常有用的;您可以通过从Rancher的UI调配更多的计算节点来快速响应负载峰值。 一旦尖峰减弱,您可以通过访问主机页面,查找你的主机,并单击停用图标(两条垂直线的框关闭所有其他节点,如图所示如下图: 停用主机 然后,您可以点击随后激活或从菜单中停用按钮的右侧删除

结论

您现在知道如何使用Rancher启动,监视和停用计算节点,以及它与本地DigitalOcean驱动程序支持的集成。从这里,你可以探索如何使用Rancher作为负载平衡器