在 Amazon EC2 中配置节点

在本教程中,你将学习一种为 Rancher Mangement Server 创建 Linux 节点的方法。这些节点将满足操作系统、Docker、硬件和网络的要求

如果 Rancher Server 安装在 RKE Kubernetes 集群上,你需要配置三个实例。

如果 Rancher Server 安装在 K3s Kubernetes 集群上,你只需要配置两个实例。

如果 Rancher Server 安装在单个 Docker 容器中,你只需要配置一个实例。

1. 准备工作(可选)

  • 创建 IAM 角色:要允许 Rancher 操作 AWS 资源,例如创建新存储或新节点,你需要将 Amazon 配置为云提供商。要在 EC2 上设置云提供商,你需要进行几个操作,其中包括为 Rancher Server 节点设置 IAM 角色。有关设置云提供商的详情,请参见本页

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

2. 配置实例

  1. 登录到 Amazon AWS EC2 控制台。由于 Rancher Management Server 的所有基础设施都需要位于同一区域,因此,请务必记下创建 EC2 实例(Linux 节点)的区域

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

  3. 点击启动示例

  4. 步骤 1:选择 Amazon Machine Image (AMI) 中,使用 ami-0d1cd67c26f5fca19 (64-bit x86) 来使用 Ubuntu 18.04 作为 Linux 操作系统。去到 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. 为 RKE Kubernetes 集群节点安装 Docker 并创建用户

  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. 在每个节点上重复上述步骤,以确保 Docker 安装到每个用于运行 Rancher Management Server 的节点上。

要了解我们是否提供指定的 Docker 版本的安装脚本,请访问此 GitHub 仓库,该仓库包含 Rancher 的所有 Docker 安装脚本。

结果:你已配置满足操作系统、Docker、硬件和网络要求的 Rancher Server 节点。

RKE Kubernetes 集群节点的后续步骤

如需在新节点上安装 RKE 集群,请记住每个节点的 IPv4 公共 IP私有 IP。创建节点后,此信息可以在每个节点的描述选项卡中找到。公共和私有 IP 将用于设置 RKE 集群配置文件 rancher-cluster.yml 中每个节点的 addressinternal_address

RKE 还需要访问私钥才能连接到每个节点。因此,请记住连接到节点的私钥的路径,该路径也可用于设置 rancher-cluster.yml 中每个节点的 ssh_key_path