在 Amazon EC2 中设置节点

在本教程中,您将学习一种为 Rancher 管理服务器设置 Linux 节点的方法。这些节点将满足 操作系统、Docker、硬件和网络 的节点要求。

如果 Rancher 服务器将安装在 RKE Kubernetes 集群上,您应该配置三个实例。

如果 Rancher 服务器将安装在 K3s Kubernetes 集群上,您只需配置两个实例。

如果 Rancher 服务器安装在单个 Docker 容器中,您只需一个实例。

1.可选准备

  • *创建 IAM 角色:*为了允许 Rancher 操作 AWS 资源,例如配置新的存储或新节点,您需要将 Amazon 配置为云提供商。在 EC2 上设置云提供商需要做几件事情,但这个过程的一部分是为 Rancher 服务器节点设置 IAM 角色。有关设置云提供商的完整详细信息,请参阅此 页面。

  • *创建安全组:*我们还建议为 Rancher 节点设置一个符合 端口要求 的安全组。

2.配置实例

  1. 登录到 Amazon AWS EC2 控制台 开始。请确保记下您的 EC2 实例(Linux 节点)创建的 区域,因为 Rancher 管理服务器的所有基础设施应位于同一区域。

  2. 在左侧面板中,单击 实例。

  3. 单击 启动实例。

  4. 在名为 步骤 1:的部分中。选择一个 Amazon 机器镜像(AMI),*我们将使用 Ubuntu 18.04 作为 Linux 操作系统,使用 ami-0d1cd67c26f5fca19 (64-bit x86)。前往 Ubuntu AMI 并单击 *选择。

  5. 在 *步骤 2:。在选择实例类型*部分,选择 t2.medium 类型。

  6. 单击 下一步:配置实例细节。

  7. 在 实例数量 字段中,输入实例的数量。高可用性 K3s 集群只需要两个实例,而高可用性 RKE 集群需要三个实例。

  8. 可选:如果您为 Rancher 创建了一个 IAM 角色以操作 AWS 资源,请在 IAM 角色 字段中选择新的 IAM 角色。

  9. 单击 下一步:添加存储, 下一步:添加标签, 和 下一步:配置安全组。

  10. 在 *步骤 6:。配置安全组,*选择符合 端口要求 的安全组,以便用于 Rancher 节点。

  11. 单击 查看并启动。

  12. 点击 启动。

  13. 选择一个新的或现有的密钥对,以便您稍后连接到实例。如果您使用的是现有的密钥对,请确保您已经拥有私钥的访问权限。

  14. 单击 启动实例。

*结果:*您已创建满足操作系统、硬件和网络要求的 Rancher 节点。

如果节点用于 RKE Kubernetes 集群,请在下一步中在每个节点上安装 Docker。对于 K3s Kubernetes 集群,节点现在已准备好安装 K3s。

3.安装 Docker 并为 RKE Kubernetes 集群节点创建用户

  1. 在 AWS EC2 控制台, 中,点击左侧面板的 实例。

  2. 前往您想要安装 Docker 的实例。选择该实例并点击 操作  连接。

  3. 按照出现的屏幕上的说明连接到该实例。复制该实例的公共 DNS。SSH 连接到该实例的示例命令如下:

    sudo ssh -i [path-to-private-key] ubuntu@[public-DNS-of-instance]
  4. 在实例上运行以下命令,以使用 Rancher 的安装脚本之一安装 Docker:

    curl https://releases.rancher.com/install-docker/18.09.sh | sh
  5. 连接到实例后,在实例上运行以下命令以创建用户:

    sudo usermod -aG docker ubuntu
  6. 重复这些步骤,以便在每个最终将运行 Rancher 管理服务器的节点上安装 Docker。

要查找是否有可用于安装特定 Docker 版本的脚本,请参考此 GitHub 储存库,,其中包含所有 Rancher 的 Docker 安装脚本。

*结果:*您已设置满足操作系统、Docker、硬件和网络所有节点要求的 Rancher 服务器节点。

RKE Kubernetes 集群节点的后续步骤

如果您打算在新节点上安装 RKE 集群,请注意每个节点的 IPv4 公共 IP 和 私有 IP。此信息可以在每个节点创建后,在 描述 标签中找到。公共和私有 IP 将用于填充 RKE 集群配置文件 rancher-cluster.yml 中每个节点的 address 和 internal_address。

RKE 还需要访问私钥以连接到每个节点。因此,您可能想要记下连接到节点的私钥路径,这也可以包含在每个节点的 rancher-cluster.yml 下的 ssh_key_path 指令中。