创建 Satellite 集群
Satellite
您可以在 IBM Cloud Satellite® 位置创建 Red Hat® OpenShift® on IBM Cloud® 集群,并使用您添加到位置的自己的基础结构的主机作为集群的工作程序节点。
先决条件
必须先设置位置,然后才能在 IBM Cloud Satellite中创建集群。
-
查看 Satellite 集群限制。
-
确保您在 IAM 中具有 管理员 或 Satellite 集群创建者 访问角色。 有关更多信息,请参阅 IAM 平台和服务访问角色。
-
准备创建 IBM Cloud Satellite 位置。 从以下选项中选择一个。 请注意,对于使用 Schematics 自动创建支持 Red Hat CoreOS 的位置的支持当前不可用。 如果要创建启用了 Red Hat CoreOS 的位置,请参阅 手动创建位置。
- 您可以自动为您的位置供应主机。 使用此选项,可以使用云提供者凭证创建定制角色或服务标识。 此服务标识用于在云提供者中自动供应虚拟机。 供应 VM 并将其连接到您的位置后,您可以将其分配到 IBM Cloud Satellite 控制平面或要使用的云服务。 首先,请参阅 使用 Schematics 模板自动设置位置。
- 您可以在本地数据中心或公共云中手动供应主机。 如果选择为您的位置手动供应主机,请确保主机满足 最低需求,并且允许 必需的出站网络访问。
-
将主机连接到位置并 设置位置控制平面。
-
将至少 3 个其他主机连接到您的位置,以用作 Red Hat OpenShift on IBM Cloud 集群的工作程序节点。
-
在创建集群之前,请确保您选择的位置正常且处于 正常 状态。
从控制台创建 Satellite 集群
使用 IBM Cloud 控制台在 Satellite 基础架构上创建 Red Hat OpenShift 集群。
在控制面板中点击“创建”。 然后,查看以下部分以设置集群。
- 基础架构
- 选择 Satellite。
- 地区
- 选择要在其中创建集群的 资源组 和 Satellite 位置。
在支持 RHCOS 的位置中,当您要将工作程序池添加到集群时,可以使用 RHCOS 或 RHEL 主机。 在将主机分配给工作程序池之前,请确保将主机与要使用的操作系统连接到您的位置。
- 基础架构拓扑
-
- 高可用性: 针对大多数用例选择此选项。 至少创建 3 个工作程序节点以实现高可用性。
-
- 单个副本: 仅在特定情况下建议使用单节点集群,并且仅应在具有多个运行相同工作负载的冗余位置的资源受限边缘位置中使用。 如果要在 Satellite 基础结构上的 Red Hat OpenShift on IBM Cloud 集群,那么在资源有限的远程受资源约束的边缘位置 (例如移动塔中的小型数据中心) 中,使用较小的脚印运行数据平面可能有利于您的设置。 虽然典型的 Red Hat OpenShift on IBM Cloud 集群至少需要三个工作程序节点以实现高可用性,但您可以选择创建运行单个工作程序节点的集群。 单节点集群有几个限制,仅应在特定情况下使用。 单节点集群缺少高可用性。 通过供应单节点集群,您可以接受您更有可能在工作负载中经历宕机和中断。 单节点集群必须在启用了 CoreOS 的 Satellite 位置上运行。 位置上的控制平面主机和分配给单节点集群的主机必须运行 RHEL 8 或 RHCOS 操作系统。 仅支持运行 V 4.11 或更高版本的 Satellite 集群。 请参阅 限制 部分以获取更多信息。
- 缺省工作程序池
- 配置缺省工作程序池的详细信息。
-
- 主机操作系统: 选择要在集群的缺省工作程序池中使用的主机的操作系统。 在启用了 Red Hat CoreOS 的位置中,可以使用 RHCOS 或 RHEL 主机。
-
- 工作程序池区域,Satellite 用于在表示底层基础结构提供程序中的区域的区域之间平均分配主机。 通常,跨 3 专区创建工作程序池以实现高可用性。
-
- vCPU, 内存(GB), and number of 每个区域的工作节点: Request the resources that you want to create the worker pool with. Satellite can automatically assign available hosts to the worker pool to fulfill your request. 通常,针对集群中的总共 3 个工作程序节点,每个专区至少选择 1 个工作程序节点。
- OpenShift 版本
- 选择集群版本。 选择缺省版本,或者可以指定其他 支持的版本。
- OpenShift Container Platform (OCP) 许可证
- Satellite 位置中的所有用户集群都随 OpenShift Container Platform一起安装,这将产生来自 Red Hat的许可费用。 但是,您可以为使用内部部署基础结构创建的集群或使用 IBM Cloud Paks 在内部部署创建的集群提供自己的 OpenShift Container Platform 许可证。 服务集群是所有 IBM Cloud 服务的底层平台,由诸如 Key Protect 或 IBM Cloud Object Storage 之类的服务创建,并且不需要许可证。
-
- 应用我的 Cloud Pak 权利: 选择此选项以将 Cloud Pak 权利应用于缺省工作程序池。 Cloud Pak 权利在工作程序池级别应用。 请勿超出您的权利范围。 请记住,OpenShift Container Platform 权利可以与其他云提供者一起使用,也可以在其他环境中使用。 为避免以后出现计费问题,请确保仅使用您有权使用的内容。 例如,您可能具有针对两个工作程序节点 4 CPU 和 16 GB 内存的 OCP 许可证的权利,并且您使用两个工作程序节点 4 CPU 和 16 GB 内存创建此工作程序池。 您使用了整个权利,但不能对其他工作程序池,云提供者或环境使用相同的权利。
-
- 购买许可证: 为缺省工作程序池购买新的 OpenShift Container Platform 许可证。 此选项在工作程序池级别应用。 创建其他工作程序池时,必须购买其他许可证。
-
- 使用 Red Hat OpenShift 集群管理器进行管理: 通过以文件形式或原始 JSON 格式提供 Red Hat® 帐户拉取私钥,指定此集群中工作程序节点的现有 OCP 权利。 集群还使用此拉取私钥从您自己的 Red Hat 帐户下载 Red Hat OpenShift 映像。 此选项在集群级别应用。
- Satellite 配置
- 决定是否对 Satellite 配置启用集群管理访问权。 如果未授予 Satellite 配置访问权,那么以后无法使用 Satellite 配置功能来查看或部署集群的 Kubernetes 资源。 如果您希望稍后启用访问权,那么可以 为 Satellite 配置 创建定制 RBAC 角色。
- 加密
- 使用密钥管理服务 (KMS) 启用数据加密,以加密集群中的私钥和其他敏感信息。 您还可以稍后 启用 KMS。
- 入口私钥管理
- IBM Cloud Secrets Manager 集中管理集群中的 Ingress 子域证书和其他私钥。 您可以选择在集群创建过程中向集群注册 Secrets Manager 实例。 您还可以指定可用于控制对集群中私钥的访问权的私钥组。 在创建集群之后,可以配置或更改这两个选项。
- 集群详细信息
- 为集群提供名称,并输入要与云资源关联的任何 IBM Cloud 标记。 群组名称必须以字母开头,可包含字母、数字和连字符 (-),且必须少于或等于 35 个字符。
如果 Satellite 位置中没有任何可用的匹配主机,那么仍会创建集群,但会进入 警告 状态。 将主机连接 到 Satellite 位置,以便可以将主机作为工作程序节点分配给工作程序池。 如果未自动分配主机,那么还可以手动 将 Satellite 主机分配给集群。 确保将主机分配为缺省工作程序池的每个专区中的工作程序节点。
如果位置主机仅具有专用网络连接,或者如果使用 Amazon Web Services,Google Cloud Platform 或 Microsoft Azure 主机,那么必须连接到主机的专用网络 (例如,通过 VPN 访问),才能连接到集群并访问 Red Hat OpenShift Web 控制台。 或者,如果主机具有公用网络连接,那么可以通过将集群的 DNS 记录和位置的 DNS 记录更改为 使用主机的公共 IP 地址 来测试对集群的访问权。
等到集群达到 正常 状态,然后 访问集群 以访问 Red Hat OpenShift Web 控制台或从 CLI 运行 oc
和 kubectl
命令。 如果已启用 Satellite 配置访问权,那么必须完成此步骤以同步许可权。
从 CLI 创建 Satellite 集群
使用 Satellite CLI 在 Satellite 基础架构上创建 Red Hat OpenShift 集群。
开始之前,请安装 Satellite CLI 插件。
-
完成必备步骤。
-
验证您的位置是否处于 正常 状态。 当您成功创建 Satellite 控制平面时,该位置处于 正常 状态,并且用于该控制平面的所有主机都处于正常状态。
ibmcloud sat location ls
示例输出
Retrieving locations... OK Name ID Status Ready Created Hosts (used/total) Managed From mylocation brhtfum2015a6mgqj16g normal yes 4 days ago 3 / 6 Dallas
-
在 Satellite 位置创建 Red Hat OpenShift 集群。 创建集群时,将在 Satellite 控制平面中自动创建集群主节点。
- 要确保在集群的缺省工作程序池中自动将主机分配为工作程序节点,请在
--host-label
选项中指定这些主机的标签,并在--workers
选项中指定每个专区的工作程序节点数。 - 要对 Satellite 配置启用集群管理访问权,请包含
--enable-admin-agent
选项。 如果未授予 Satellite 配置访问权,那么以后无法使用 Satellite 配置功能来查看或部署集群的 Kubernetes 资源。 如果您希望稍后启用访问权,那么可以 为 Satellite 配置 创建定制 RBAC 角色。 - 有关此命令的选项的更多信息,请参阅 CLI 参考文档。
- 在 CLI 中 创建 Satellite 集群 时,可以通过包含
--infrastructure-topology
选项并指定single-replica
值来创建单节点集群。 如果未包含此选项,那么缺省情况下将使用三个工作程序节点的高可用性设置来供应集群。 - 要自带 OCP 许可证,请确保包含 Red Hat 拉取私钥以授权集群运行 OCP,方法是在控制台中上载拉取私钥,或者在
ibmcloud oc cluster create satellite
命令 中包含--pull-secret
选项。 - 要应用 Cloud Pak 权利,请确保包含
--entitlement ocp_entitled
选项。
--operating-system RHEL_9_64|REDHAT_8_64|RHCOS
- 可选。 集群中工作程序节点的操作系统。 如需按集群版本查看可用操作系统列表,请参阅 Red Hat OpenShift on IBM Cloud 版本信息。 如果未指定任何选项,那么将使用与集群版本对应的缺省操作系统。
示例
cluster create
命令。ibmcloud oc cluster create satellite --location LOCATION --name NAME --pull-secret SECRET --version 4.17_openshift [--enable-admin-agent] [--host-label LABEL ...] [--operating-system SYSTEM] [--pod-subnet SUBNET] [-q] [--service-subnet SUBNET] [--workers WORKERS-PER-ZONE] [--zone ZONE] [--entitlement ENTITLEMENT]
使用
RHCOS
主机并应用--pull-secret
许可证的示例cluster create
命令。ibmcloud oc cluster create satellite --location LOCATION --name <cluster_name> --pull-secret SECRET --version VERSION --enable-admin-agent --operating-system RHCOS
示例输出
Creating cluster... OK Cluster created with ID brkhsd220b6ktv7sjl50
- 要确保在集群的缺省工作程序池中自动将主机分配为工作程序节点,请在
-
等待集群达到 警告 状态。 警告 状态指示集群主节点已完全部署,但无法在集群中检测到任何工作程序节点。
ibmcloud oc cluster ls
示例输出
OK Name ID State Created Workers Location Version Resource Group Name Provider satcluster brkhsd220b6ktv7sjl50 warning 12 minutes ago 0 mylocation 4.5.23_1525_openshift Default satellite
-
确保将主机作为工作程序节点分配给集群。
- 自动分配: 如果在创建集群时包含
--host-labels
,并且在 Satellite 位置中有具有匹配标签的可用主机,那么会自动将工作程序节点分配给集群。 如果没有任何可用的匹配主机,那么仍会创建集群,但会进入 警告 状态。 将主机连接 到 Satellite 位置,以便可以将主机作为工作程序节点分配给工作程序池。 如果未自动分配主机,那么还可以手动 将 Satellite 主机分配给集群。 - 手动分配: 将 Satellite 主机分配给集群。 在主机成功引导后,主机将充当集群的工作程序节点以运行 Red Hat OpenShift 工作负载。 通常,至少将 3 主机分配为集群中的工作程序节点。
- 自动分配: 如果在创建集群时包含
-
验证集群是否达到 正常 状态。
ibmcloud oc cluster ls
示例输出
OK Name ID State Created Workers Location Version Resource Group Name Provider satcluster brkhsd220b6ktv7sjl50 normal 2 hours ago 3 mylocation 4.3.23_1525_openshift Default satellite
-
访问集群 以运行
oc
和kubectl
命令,或者访问 Red Hat OpenShift Web 控制台。 如果已启用 Satellite 配置访问权,那么必须完成此步骤以同步许可权。
如果位置主机仅具有专用网络连接,或者如果使用 Amazon Web Services,Google Cloud Platform 或 Microsoft Azure 主机,那么必须连接到主机的专用网络 (例如,通过 VPN 访问),才能连接到集群并访问 Red Hat OpenShift Web 控制台。 或者,如果主机具有公用网络连接,那么可以通过将集群的 DNS 记录和位置的 DNS 记录更改为 使用主机的公共 IP 地址 来测试对集群的访问权。
后续步骤
- 访问集群
- 登录到集群并验证 pod 是否正常运行。 有关更多信息,请参阅 访问 Satellite 上的 Red Hat OpenShift 集群。
- 设置内部图像注册表
- 缺省情况下,内部注册表不会在 Satellite 集群中运行,因为没有为内部注册表设置支持存储器。 您可以设置内部注册表以使用 Object Storage。 有关更多信息,请参阅 为 Satellite 集群设置内部映像注册表。
- 公开应用程序
- 存在多个用于安全地向来自公用网络,连接到主机专用网络的资源或来自 IBM Cloud中的资源的流量请求公开应用程序的选项。 尽管这些选项包括标准 Red Hat OpenShift 集群中可用的服务,但在 Satellite提供的基础结构上创建的 Red Hat OpenShift 集群中,这些服务的实现有所不同。 例如,不会为集群中的 Red Hat OpenShift Ingress 控制器创建负载均衡器服务。 有关应用程序公开选项的列表以及用于配置这些选项的步骤,请参阅 在 Satellite 集群中公开应用程序。
- 将应用程序数据存储在持久存储器中
- 与在 IBM Cloud 基础结构上创建的标准 Red Hat OpenShift 集群不同,您的 Satellite 集群未安装存储驱动程序,该存储驱动程序提供随时可用于应用程序的 Kubernetes 持久卷的 Kubernetes 存储类。 但是,您可以安装自己的存储驱动程序来设置应用程序,以将其数据保存在支持存储设备中。 查看以下常用选项。 有关更多信息,请参阅 了解 Satellite 存储。