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

介绍

Rancher 支持基于 Docker Machine的配置,这使得在云提供商上或在自己的数据中心内轻松创建 Docker 主机。

在本教程中,您将使用嵌入到 Rancher 的 DigitalOcean 驱动程序来创建从 Rancher UI 中的 Droplets,并提供它们来运行 Docker 计算主机,您可以监控、扩展和使用它们来部署 Docker 容器。

<$>[注] 注: 截至 2022 年 12 月 15 日,DigitalOcean 将不再支持通过控制面板或 API 创建新的 RancherOS 滴滴,但是,在 2022 年 12 月 15 日之前创建的任何现有的 RancherOS 滴滴将仍然可用,尽管产品出现了变化。

前提条件

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

  • 用于 API 的 DigitalOcean Personal Access Token,您可以通过遵循 本教程中的说明来创建。
  • 一个 GitHub帐户,您将使用它来配置 Rancher 的用户身份验证。

步骤 1 — 创建一个 Droplet 来托管农场主

为了使用 Rancher 来管理 Docker 主机和容器,我们需要让 Rancher 运行。

首先,登录您的 DigitalOcean 帐户并选择 Create Droplet. 然后,在 Choose an Image 部分中,选择 One-click Apps 标签。

Docker image

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

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

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

最后,添加您的 SSH 密钥,为您的 Droplet 提供一个主机名称,然后按 Create 按钮,然后等待新服务器创建。

若要双重检查 Rancher 是否在运行,请登录您的新 Droplet:

1ssh root@your_ip_address

一旦登录,获得运行 Docker 容器的列表:

1docker ps

您将看到以下内容,证实 Rancher 正在运行:

1[secondary_label Output]
2ec5492f1b628 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服务器目前对互联网开放,所以设置身份验证是很好的,以便公众无法对我们的环境进行更改。

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

Access control is not configured

如果你跳过这个链接,你会看到消息 Access Control 未配置.从 ADMIN菜单中选择 Access Control. Github 将被选为默认身份验证方法,所以按照页面上的说明来注册一个新的应用程序与 GitHub。

一旦您注册了应用程序,请从 Github 应用程序页面复制 客户 ID客户秘密 到 Rancher 用户界面中的相应文本字段,然后单击 ** 保存**。

然后,在 测试并启用身份验证下,单击 通过 GitHub 验证,然后单击 启用应用程序在出现的窗口中。页面将重新加载,并将对设置 OAuth 的说明取代 配置权限部分。

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

步骤三:创造环境

Rancher 中的一个环境允许我们将主机分为逻辑集。 Rancher 提供一个叫做 Default的环境,但让我们创建自己的环境。 点击屏幕顶部的 Default链接,以揭示 Environments菜单,然后点击 Manage Environments

填写您的项目的名称和描述. 将所有其他设置作为默认设置,然后单击 ** 创建**。

现在让我们在这个新的环境中推出一些主机。

步骤 4 – 启动 Rancher 计算节点

一旦您已安全地部署 Rancher 并添加了一个项目,请从 基础设施 ** 菜单中选择 ** 主机,然后单击 ** 添加主机** 按钮。

添加主机屏幕上,您将看到几个提供商: 自定义, Amazon EC2, DigitalOcean, AzurePacket. 自定义选项列出了在预安装 Docker 的服务器上手动启动 Rancher 计算节点的步骤。

选择 DigitalOcean选项,如下图所示:

Access Token字段中,将您从前提部分获取的 DigitalOcean API 的个人访问令牌放置。

一组新的字段将出现在屏幕上. 请填写以下细节:

  • Name: 您想要创建的服务器的名称. 在这种情况下,输入 host01.
  • 数量: 将此留在 1. 增加这将为您创建多个主机,并自动为您命名每一个。
  • 图片: 选择 Ubuntu 16.04.1 x64 已禁用,因为它们不兼容Rancher。
  • 尺寸: 滴滴的尺寸. 选择一个 1GB滴滴的选项。
  • 区域: 您将创建你的滴滴的区域。

最后,点击 Create. Rancher 将使用 Docker Machine 创建指定的 Droplet 并在其上安装 Docker。

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

Your newly created host

您可以重复此步骤,因为您需要在部署中启动更多的计算节点,现在让我们探索Rancher的内置监控,以及如何禁用和删除笔记。

步骤5 – 监控和扩展您的部署

一旦您的计算节点已经提供,请单击您的主机之一的名称,将监控屏幕拉上,在那里您可以看到该计算节点的CPU利用率和内存消耗量。

CPU and memory consumption for your host

如果你看到你正在使用大部分的内存,或者如果你的CPU正在连续运行热,你可能想要启动更多的节点来减少容器密度,并分散负载,这就是docker-machine集成非常有用的地方;你可以通过提供更多的计算节点直接从Rancher的用户界面快速响应加载峰值。

一旦峰值下降,您可以关闭任何额外的节点,访问 Hosts页面,查找您的主机,然后点击 Deactivate图标(两个垂直线的框),如下图所示:

Deactivating a host

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

结论

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

Published At
Categories with 技术
comments powered by Disqus