介绍
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 标签。
接下来,选择一个 1GB Droplet,并为您的 Droplet 选择数据中心区域。
然后在选择附加选项
部分中选择用户数据
,然后在出现的文本框中输入下面的脚本,该脚本告诉Droplet在启动时获取Rancher/server
Docker图像并在容器中启动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 未配置.从 ADMIN菜单中选择 Access Control. Github 将被选为默认身份验证方法,所以按照页面上的说明来注册一个新的应用程序与 GitHub。
一旦您注册了应用程序,请从 Github 应用程序页面复制 客户 ID 和 客户秘密 到 Rancher 用户界面中的相应文本字段,然后单击 ** 保存**。
然后,在 测试并启用身份验证下,单击 通过 GitHub 验证,然后单击 启用应用程序在出现的窗口中。页面将重新加载,并将对设置 OAuth 的说明取代 配置权限部分。
接下来,让我们创建一个 environment 来组织我们的计算机主机。
步骤三:创造环境
Rancher 中的一个环境允许我们将主机分为逻辑集。 Rancher 提供一个叫做 Default的环境,但让我们创建自己的环境。 点击屏幕顶部的 Default链接,以揭示 Environments菜单,然后点击 Manage Environments。
填写您的项目的名称和描述. 将所有其他设置作为默认设置,然后单击 ** 创建**。
现在让我们在这个新的环境中推出一些主机。
步骤 4 – 启动 Rancher 计算节点
一旦您已安全地部署 Rancher 并添加了一个项目,请从 基础设施 ** 菜单中选择 ** 主机,然后单击 ** 添加主机** 按钮。
在添加主机
屏幕上,您将看到几个提供商: 自定义, Amazon EC2, DigitalOcean, Azure和 Packet. 自定义选项列出了在预安装 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地址,处理器时钟速度,内存和存储。
您可以重复此步骤,因为您需要在部署中启动更多的计算节点,现在让我们探索Rancher的内置监控,以及如何禁用和删除笔记。
步骤5 – 监控和扩展您的部署
一旦您的计算节点已经提供,请单击您的主机之一的名称,将监控屏幕拉上,在那里您可以看到该计算节点的CPU利用率和内存消耗量。
如果你看到你正在使用大部分的内存,或者如果你的CPU正在连续运行热,你可能想要启动更多的节点来减少容器密度,并分散负载,这就是docker-machine
集成非常有用的地方;你可以通过提供更多的计算节点直接从Rancher的用户界面快速响应加载峰值。
一旦峰值下降,您可以关闭任何额外的节点,访问 Hosts页面,查找您的主机,然后点击 Deactivate图标(两个垂直线的框),如下图所示:
随后,您可以从 Deactivate按钮的右侧菜单中单击 Activate或 Delete。
结论
您现在知道如何使用 Rancher 启动、监控和禁用计算节点,以及其与原生 DigitalOcean 驱动程序支持的集成,从这里您可以探索 如何使用 Rancher 作为负载平衡器。