IBM Cloud Docs
将 AWS 主机连接到 Satellite

将 AWS 主机连接到 Satellite

将 Amazon Web Services (AWS) 云主机添加到 IBM Cloud Satellite®。 查看特定于 Amazon Web Services 云中的主机的以下主机需求。 有关 AWS 云中的必需访问权,请参阅 AWS 许可权

要连接 Red Hat CoreOS (RHCOS) 主机,必须为 Red Hat CoreOS启用您的位置。 有关更多信息,请参阅 是否为 Red Hat CoreOS启用了我的位置?。 请注意,您仍可以将 Red Hat Enterprise Linux 主机连接到为 Red Hat CoreOS启用的位置。

开始之前,请确保在本地数据中心,IBM Cloud或公共云提供者中创建符合 最低硬件需求 的主机。

将主机连接到位置后,Satellite 将禁用以 root 用户身份使用 SSH 登录主机以实现安全目的的能力。 如果尝试以 root 用户身份通过 SSH 连接到成功连接到某个位置的主机,那么可能会看到错误消息。 要将 SSH 功能复原到机器中,可以 除去主机 并重新装入操作系统。

不确定要连接到您所在位置的主机数? 请参阅 确定 Satellite 位置

将 AWS 主机添加到 Satellite

您可以使用从 Amazon Web Services (AWS) 云添加的主机来创建 IBM Cloud Satellite 位置。

要添加的所有主机都必须满足常规主机需求,例如 RHEL 8 软件包和联网设置。 有关更多信息,请参阅 主机需求

如果要在您所在位置使用 Red Hat CoreOS (RHCOS) 主机,请向 Amazon 帐户提供 Red Hat CoreOS 映像文件。 有关更多信息,请参阅 使用将 VM 作为映像导入。 要查找 RHCOS 映像,请参阅 可用映像 列表。 请注意,必须至少使用 V 4.9。

开始之前,请 创建 Satellite 位置

  1. Satellite 控制台中,选择要添加 AWS 主机的位置。

  2. 检索必须在主机上运行的主机注册脚本,以使其对 IBM Cloud Satellite 位置可视。

    1. 主机 选项卡中,单击 连接主机
    2. 可选: 输入稍后用于 自动将 主机分配给位置中的 Satellite-enabled IBM Cloud 服务的任何主机标签。 标签必须作为键/值对提供,并且必须与来自服务的请求匹配。 例如,您可能具有主机标签,例如 env=prodservice=database。 缺省情况下,主机会获得 cpuosmemory 标签,但您可能希望添加更多内容来控制自动分配,例如 env=prodservice=database
    3. 输入脚本的文件名或使用为您生成的名称。
    4. 单击 下载脚本 以生成主机脚本并将脚本下载到本地计算机。 请注意,脚本中的令牌是 API 密钥,应该将其作为敏感信息进行处理和保护。
  3. 仅 RHEL 打开注册脚本。 在 API_URL 行之后,添加一个部分以将必需的 RHEL 软件包与预订管理器一起拉取。

    # Enable AWS RHEL package updates
    yum update -y
    yum-config-manager --enable '*'
    yum repolist all
    yum install container-selinux -y
    echo "repos enabled"
    
  4. AWS EC2 仪表板,转至 实例 > 启动模板

  5. 单击 创建启动模板,然后按如下所示输入模板详细信息。

    有关可以在启动模板中指定的可用选项的概述,请参阅 AWS 文档

    1. 输入启动模板的名称。
    2. Amazon 机器映像 (AMI) 部分中,确保选择可通过输入 AMI 标识找到的受支持 Red Hat Enterprise Linux 8 操作系统。 您可以通过参阅 Red Hat Enterprise Linux AMI available on Amazon Web Services 文档来匹配 AMI 标识和正确的 Red Hat Enterprise Linux 版本。 如果要创建 Red Hat CoreOS 主机,那么必须向 AWS提供映像。 有关更多信息,请参阅 使用将 VM 作为映像导入。
    3. 实例类型 部分中,选择 受支持的 AWS 实例类型 之一。
    4. 密钥对 (登录) 部分中,选择稍后要用于登录到机器的 .pem 密钥。 如果您没有 .pem 密钥,请创建一个密钥。
    5. 网络设置中,选择 虚拟私有云 (VPC),以及允许网络流量的现有子网和安全组,如 安全组设置 中所定义。 如果您没有要使用的子网或安全组,请创建一个子网或安全组。
    6. 存储器 (卷) 部分中,展开缺省根卷,并将引导卷的大小至少更新为 100 GB。 添加至少具有 100 GB 容量的第二个磁盘。 有关存储器需求的更多信息,请参阅 主机存储器和连接的设备
    7. 展开 高级详细信息 并转至 用户数据 字段。
    8. 输入先前修改的主机注册脚本。 如果要添加 RHCOS 主机,请添加点火脚本。
    9. 单击 创建启动模板
  6. 从“启动模板”仪表板中,查找您创建的模板。

  7. 操作 菜单中,选择 从模板启动实例

  8. 输入要创建的实例数,然后单击 从模板启动实例

  9. 等待实例启动。 在启动实例期间,注册脚本会自动运行。 此过程需要几分钟才能完成。

  10. 监视注册脚本的进度。

  11. 从 EC2“实例”仪表板中,检索实例的公共 IP 地址。

  12. 登录到实例。

    ssh -i <key>.pem ec2-user@<public_IP_address>
    
  13. 查看注册脚本的状态。

    journalctl -f -u ibm-host-attach
    
  14. 检查主机是否显示在 Satellite 控制台主机 选项卡中。 当可以建立与机器的连接时,所有主机都会显示 运行状况 状态 Ready状态Unassigned,因为尚未将这些主机分配给 Satellite 位置控制平面或 Red Hat OpenShift on IBM Cloud 集群。

  15. 将 AWS 主机分配到 Satellite 控制平面Red Hat OpenShift on IBM Cloud 集群

使用 CLI 手动连接 AWS 实例

您可以使用 AWS ClI 来运行 EC2 实例,并将它们连接到 Satellite 位置。 有关更多信息,请参阅 aws ec2 run-instances 命令参考

用于运行 AWS EC2 实例的示例命令。

aws ec2 run-instances --count COUNT --instance-type INSTANCE-TYPE --launch-template LaunchTemplateName=AWS-LAUNCH-TEMPLATE --user-data file://ATTACH-SCRIPT-LOCATION

AWS 实例类型

查看以下建议的 AWS EC2 实例类型,您可以将其用作 IBM Cloud Satellite中的主机。 只要其他 AWS 实例类型满足 Satellite的 最低主机需求,就可以使用这些实例类型。

AWS 实例类型
实例 vCPU 内存 (GiB) 存储磁盘 (GiB) 网络带宽 (Gbps)
m5d.xlarge 4 16 至少连接了 100 GB SSD 最多 10 个
m5d.2xlarge 8 32 至少连接了 100 GB SSD 最多 10 个
m5d.4xlarge 16 64 至少连接了 100 GB SSD 最多 10 个

AWS 的安全组设置

主机联网需求 中所述,AWS 主机必须有权连接到 IBM Cloud Satellite。 如果在虚拟私有云 (VPC) 中使用主机,那么可以创建类似于以下示例的安全组。 您可以从 AWS 提供程序资源获取所有者,组,用户和 VPC 标识。

以下示例是您可能为 AWS创建的安全组。

{
	"Description": "Security group for IBM Cloud Satellite hosts",
	"GroupName": "Satellite",
	"IpPermissions": [{
			"FromPort": 80,
			"IpProtocol": "tcp",
			"IpRanges": [{
				"CidrIp": "0.0.0.0/0"
			}],
			"Ipv6Ranges": [],
			"PrefixListIds": [],
			"ToPort": 80,
			"UserIdGroupPairs": []
		},
		{
			"FromPort": 30000,
			"IpProtocol": "tcp",
			"IpRanges": [{
				"CidrIp": "0.0.0.0/0"
			}],
			"Ipv6Ranges": [{
				"CidrIpv6": "::/0"
			}],
			"PrefixListIds": [],
			"ToPort": 32767,
			"UserIdGroupPairs": []
		},
		{
			"IpProtocol": "-1",
			"IpRanges": [],
			"Ipv6Ranges": [],
			"PrefixListIds": [],
			"UserIdGroupPairs": [{
				"GroupId": "<group_ID>",
				"UserId": "<user_ID>"
			}]
		},
		{
			"FromPort": 22,
			"IpProtocol": "tcp",
			"IpRanges": [{
				"CidrIp": "0.0.0.0/0"
			}],
			"Ipv6Ranges": [],
			"PrefixListIds": [],
			"ToPort": 22,
			"UserIdGroupPairs": []
		},
		{
			"FromPort": 30000,
			"IpProtocol": "udp",
			"IpRanges": [{
				"CidrIp": "0.0.0.0/0"
			}],
			"Ipv6Ranges": [{
				"CidrIpv6": "::/0"
			}],
			"PrefixListIds": [],
			"ToPort": 32767,
			"UserIdGroupPairs": []
		},
		{
			"FromPort": 443,
			"IpProtocol": "tcp",
			"IpRanges": [{
				"CidrIp": "0.0.0.0/0"
			}],
			"Ipv6Ranges": [{
				"CidrIpv6": "::/0"
			}],
			"PrefixListIds": [],
			"ToPort": 443,
			"UserIdGroupPairs": []
		}
	],
	"OwnerId": "<owner_ID>",
	"GroupId": "<group_ID>",
	"IpPermissionsEgress": [{
		"IpProtocol": "-1",
		"IpRanges": [{
			"CidrIp": "0.0.0.0/0"
		}],
		"Ipv6Ranges": [],
		"PrefixListIds": [],
		"UserIdGroupPairs": []
	}],
	"VpcId": "<vpc_ID>"
}

有关更多信息,请参阅 AWS 文档中的 使用安全组控制到资源的流量

我将主机添加到我的位置,下一步是什么?

现在,您已将主机添加到位置,可以将它们分配到位置控制平面或 IBM Cloud 服务。

  1. 主机分配给位置控制平面分配给 IBM Cloud 服务
  2. 创建 Satellite-enabled IBM Cloud 服务,例如 Red Hat OpenShift 集群。 您甚至可以 将现有 Red Hat OpenShift 集群注册到您的位置 以用作部署目标。
  3. 使用 Satellite 配置 管理应用程序
  4. 创建 Satellite 集群存储模板
  5. 了解有关 Satellite 链接组件 的更多信息,以及如何使用端点来管理位置与 IBM Cloud之间的网络流量。

需要帮助吗? 查看 获取支持,您可以在其中找到有关云状态,问题和日志记录的信息; 联系支持人员; 以及设置 IBM Cloud 平台相关项的电子邮件通知首选项。