如何在Ubuntu16.04上使用Rancher和Docker机器管理多节点部署

来自菜鸟教程
跳转至:导航、​搜索

介绍

Rancher 支持基于 Docker Machine 的配置,这使得在云提供商或您自己的数据中心内创建 Docker 主机变得容易。 使用 Rancher,您可以直接从 Rancher UI 启动计算节点,这是能够从单个界面创建和管理多节点(以及未来的多云)部署的一个小而关键的步骤。

在本教程中,您将使用 Rancher 中内置的 DigitalOcean 驱动程序 从 Rancher UI 创建 Droplet 并配置它们以运行 Docker 计算主机,您可以监控、扩展和用于部署 Docker 容器。

先决条件

要遵循本教程,您将需要:

  • API 的 DigitalOcean 个人访问令牌,您可以按照 本教程 中的说明创建。
  • 一个 GitHub 帐户,用于为 Rancher 配置用户身份验证。

第 1 步——创建一个 Droplet 来托管 Rancher

为了使用 Rancher 管理 Docker 主机和容器,我们需要让 Rancher 运行。 我们将使用 DigitalOcean 的 Docker 镜像和一些 User Data 来快速启动和运行。

首先,登录您的 DigitalOcean 帐户并选择 Create Droplet。 然后,在 Choose an Image 部分下,选择 One-click Apps 标签。 在 18.04 镜像上选择 Docker 18.06.1~ce~3。

接下来,选择一个 1GB Droplet 并为您的 Droplet 选择一个数据中心区域。

然后在选择附加选项部分选择用户数据,在出现的文本框中输入下面的脚本。 该脚本告诉 Droplet 获取 rancher/server Docker 映像并在启动时在容器中启动 Rancher 服务器。

#!/bin/bash
docker run -d --name rancher-server -p 80:8080 rancher/server

最后,添加您的 SSH 密钥,为您的 Droplet 提供主机名,然后按 Create 按钮。 然后等待创建新服务器。 服务器启动后,Docker 将下载 Rancher 镜像并启动 Rancher 服务器,这可能需要几分钟时间。

要仔细检查 Rancher 是否正在运行,请登录到您的新 Droplet:

ssh root@your_ip_address

登录后,获取正在运行的 Docker 容器的列表:

docker ps

您将看到以下内容,确认 Rancher 正在运行:

Outputec5492f1b628        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/ 以调出 Rancher UI。 由于 Rancher 服务器目前对 Internet 开放,因此最好设置身份验证,这样公众就无法对我们的环境进行更改。 让我们将 Rancher 配置为使用基于 Github OAuth 的身份验证。

您将在屏幕顶部的 ADMIN 菜单项旁边看到一个警告图标。

如果您将鼠标悬停在此链接上,您将看到消息 未配置访问控制 。 从ADMIN菜单中选择访问控制。 Github 将被选为默认的身份验证方法,因此请按照页面上的说明向 GitHub 注册新应用程序。

注册应用程序后,将 Github 应用程序页面中的 Client IDClient Secret 复制到 Rancher 用户界面中的相应文本字段中。 然后点击保存

然后,在测试并启用身份验证下,点击Authenticate with GitHub,在弹出的窗口中点击Authorize application。 页面将重新加载,设置 OAuth 的说明将替换为 Configure Authorization 部分。 添加应该被授予访问 Rancher 的任何其他用户和组织。 如果您进行任何更改,请单击 保存 按钮。

接下来,让我们创建一个 环境 来组织我们的计算主机。

第 3 步 — 创建环境

Rancher 中的环境允许我们将主机分组为逻辑集。 Rancher 提供了一个名为 Default 的环境,但让我们创建自己的环境。 单击屏幕顶部的 Default 链接以显示 Environments 菜单,然后单击 Manage Environments。 单击页面上出现的添加环境按钮。

填写项目的名称和描述。 将所有其他设置保留为默认值,然后单击 创建 。 然后再次使用项目选择菜单来选择您的新环境。

现在让我们在这个新环境中启动一些主机。

第 4 步 — 启动 Rancher 计算节点

保护 Rancher 部署并添加项目后,从 Infrastructure 菜单中选择 Hosts,然后单击 Add Host 按钮。

Add Host 屏幕上,您将看到几个提供程序:CustomAmazon EC2DigitalOceanAzure , 和 数据包Custom 选项列出了在预先安装了 Docker 的服务器上手动启动 Rancher 计算节点的步骤。 其他的用于在各自的云系统上启动计算节点。

选择DigitalOcean选项,如下图:

Access Token 字段中,放置您从先决条件部分获得的 DigitalOcean API 的个人访问令牌。 然后按下一步:配置Droplet

一组新的字段将出现在屏幕上。 填写以下详细信息:

  • Name:您要创建的服务器的名称。 在这种情况下,输入 host01
  • 数量:保留在1。 增加这将创建多个主机并自动为您命名每个主机。
  • Image:选择 Ubuntu 16.04.1 x64 被禁用,因为它们与 Rancher 不兼容。
  • Size:Droplet 的大小。 选择 1GB Droplet 的选项。
  • Region:将创建 Droplet 的区域。 选择一个地理上离你最近的。

最后点击创建。 Rancher 将使用 Docker Machine 创建指定的 Droplet 并在其上安装 Docker。 Rancher 还将在新创建的 Droplet 上运行 rancher-agent,然后再向 Rancher 服务器注册。

几分钟后,您将在 Rancher UI 中看到您的新主机。 您还将获得有关主机的一些基本信息,例如其 IP 地址、处理器时钟速度、内存和存储。

您可以根据需要多次重复此步骤,以便在部署中启动更多计算节点。 现在让我们探索一下 Rancher 的内置监控,以及如何停用和删除便笺。

第 5 步 — 监控和扩展您的部署

配置好计算节点后,单击其中一台主机的名称以调出“监控”屏幕,您可以在其中查看该计算节点的 CPU 利用率和内存消耗。

如果您发现您正在使用大部分内存,或者您的 CPU 持续发热,您可能需要启动更多节点以降低容器密度并分散负载。 这就是 docker-machine 集成真正有用的地方; 您可以通过直接从 Rancher 的 UI 配置更多计算节点来快速响应负载峰值。

一旦峰值减弱,您可以通过访问 Hosts 页面,找到您的主机,然后单击 Deactivate 图标(带有两条垂直线的框)来关闭任何其他节点,如图所示在下图中:

随后您可以从 Deactivate 按钮右侧的菜单中单击 ActivateDelete

结论

您现在知道如何使用 Rancher 及其与原生 DigitalOcean 驱动程序支持的集成来启动、监控和停用计算节点。 从这里,您可以探索 如何使用 Rancher 作为负载均衡器