如何在Ubuntu14.04上使用Rancher和Docker机器管理您的多节点部署
介绍
Rancher 最近添加了对基于 Docker Machine 的配置的支持。 Machine 让在云提供商或您自己的数据中心内创建 Docker 主机变得非常容易。 它创建服务器,在其上安装 Docker,并配置 Docker 客户端与它们通信。
使用 Rancher 中的机器集成,我们可以直接从 Rancher UI 启动计算节点。 这是能够从单个界面创建和管理多节点(以及未来的多云)部署的一个小而关键的步骤。
DigitalOcean Driver 是 Rancher 集成的第一个驱动程序,本教程将向您展示如何从 Rancher UI 启动 Droplets 并配置它们以运行 Docker 计算主机(反过来,它可以用于运行Docker 容器)。
先决条件
要遵循本教程,您将需要:
- API 的 DigitalOcean 个人访问令牌,您可以按照 本教程 中的说明创建。
- 一个带有 Docker 1.6.0 映像的 1GB Ubuntu 14.04 Droplet。
您可以在 Droplet 创建页面的 Applications 选项卡中找到 Docker 1.6.0 映像选项,在 Select Image 下。 此 Droplet 还需要自定义用户数据。 要添加此内容,请单击 可用设置 部分中的 启用用户数据,然后在出现的文本框中输入以下脚本。 该脚本告诉 Droplet 在启动时运行 Rancher 服务器。
#!/bin/bash docker run -d --name rancher-server -p 80:8080 rancher/server
第 1 步 — 配置身份验证
大约一分钟后,您的主机应该准备好了,您可以浏览到 http://your_server_ip/
并调出 Rancher UI。 由于 Rancher 服务器目前对 Internet 开放,因此设置身份验证是一个好主意。 在这一步中,我们将设置基于 Github OAuth 的身份验证。
您将在屏幕顶部看到一条警告,显示 未配置访问控制 ,然后是 设置 的链接。 单击 Settings 并按照那里的说明在 GitHub 上注册一个新应用程序,并将 Client ID 和 Secret 复制到相应的文本字段中。
完成后,在弹出的窗口中点击【X23X】Authenticate with GitHub【X51X】,然后【X63X】Authorize application【X88X】。 完成后,页面将重新加载,设置 OAuth 的说明将替换为 Configure Authorization 部分。 添加应该被授予访问 Rancher 的任何其他用户和组织。 如果您进行任何更改,将出现一个显示保存授权配置的按钮。 完成后单击它。
保存授权配置后,顶部的警告应替换为您的 GitHub 配置文件图像和项目选择菜单(最初显示 Default)。 点击【X6X】默认【X17X】打开项目选择菜单,然后点击【X70X】管理项目【X89X】,最后【X108X】+添加项目【X127X】。 填写一个自己选择的名字,在弹出的寡妇中选择自己为所有者,点击【X101X】创建【X111X】。 然后再次使用项目选择菜单来选择它。
我们添加的所有计算节点都将包含在此项目中。 您可以创建多个项目以将计算节点分组为逻辑集。
第 2 步 — 启动 Rancher 计算节点
在这一步中,我们将启动一些 Rancher 计算节点。
保护 Rancher 部署并添加项目后,单击 +Add Host 按钮以启动 Rancher 计算节点。
如果这是第一次启动主机,您将看到一个弹出屏幕,要求您确认您的 Rancher 服务器可用的 IP 地址,即 计算节点将连接的位置。 在 DigitalOcean 上,您可以选择预先配置的 IP,然后单击 保存 。 但是,如果您在代理服务器上启动了 Rancher Server,则需要将 Rancher Server IP 更新为代理服务器的 IP 和端口。
在 Add Host 屏幕中,您将看到三个提供商:DigitalOcean、Amazon EC2 和 custom。 前两个用于在各自的云系统上启动计算节点,第三个列出用于在预先安装了 Docker 的服务器上手动启动 Rancher 计算节点的命令。
选择 DigitalOcean 图标。 您将看到一个屏幕(如下所示),其中包含许多字段供您填写。
填写以下详细信息:
- 服务器名称:随便你。
- 描述:任意你喜欢的,可选的。
- 访问令牌:DigitalOcean API 的个人访问令牌,来自先决条件部分。
- Image:你要启动的镜像,应该是ubuntu-14-04-x64。
- Size:Droplet 的大小。 在我们的例子中,1gb。
- Region:将创建 Droplet 的区域。 选择一个地理上离你最近的。
最后,点击 创建 。 Rancher 将使用 Docker Machine 创建指定的 Droplet 并在其上安装 Docker。 Rancher 还将在新创建的 Droplet 上运行 rancher-agent,然后注册到 Rancher 服务器。
几分钟后,您应该会在 Rancher UI 中看到您的计算节点。 您还将获得有关节点的一些基本信息,例如它们的 IP 地址、处理器时钟速度、内存和存储。 您可以根据需要多次重复此步骤,以便在部署中启动更多计算节点。
第 3 步 — 监控和扩展您的部署
在这一步中,我们将探索计算节点的内置监控,并展示如何停用和删除笔记。
配置好计算节点后,单击其中一个节点的名称以调出监控屏幕。 在这里,您将能够看到该计算节点的 CPU 利用率和内存消耗。 如果您发现您正在使用大部分内存,或者您的 CPU 持续发热,您可能需要启动更多节点以降低容器密度。
例如,我们下面的计算节点似乎使用了 80% of 的内存,所以我们可能想要启动更多的节点来分散负载。 这是机器集成真正有用的地方。 在不离开 Docker UI 的情况下,您可以通过配置更多计算节点来快速响应负载峰值。
一旦峰值减弱,您可以通过单击详细信息图标(在 Host 和主机名旁边带有三个水平线的圆圈,如下图所示)并选择 Deactivate 来关闭节点。
然后,您可以随后从同一菜单中单击 Activate 或 Delete,分别用于您希望重新启动或不再需要的已停用节点。
结论
现在您已经了解了如何使用 Rancher Docker Machine 与原生 DigitalOcean 驱动程序支持的集成来启动、监控和终止计算节点。 享受!