创建 VPC 集群
虚拟私有云
使用 IBM Cloud 命令行界面(CLI)或 IBM Cloud 控制台创建一个标准VPC集群,并根据您的应用对高可用性和安全性的要求对集群进行自定义配置。
想要运行虚拟机? OpenShift 虚拟化服务 提供一个预配置群集,可自动设置虚拟化功能、存储和网络。 请参阅 创建虚拟化服务群集 开始操作。
先决条件和说明
-
确保 VPC 账户有足够的 vCPU, 内存、GPU、实例存储和优化实例存储资源配额。 VPC 按虚拟服务器实例 (VSI) 工作节点的每个帐户管理这些配额。 如果达到配额限制,工作节点调配将失败。 要查看当前配额使用情况,请参阅 查看 VPC 资源指标。 有关详细信息,请参阅 VPC 配额和 为什么我的 VPC 工作节点因配额限制而无法调配?
-
如果工作程序节点必须访问公共端点,或者如果计划同时启用公共和私有云服务端点,那么必须将公共网关连接到 VPC 中的每个子网,以访问缺省 Red Hat OpenShift 组件,例如 Web 控制台或 OperatorHub。
-
如果计划同时启用公共和私有云服务端点,那么必须将公共网关连接到每个子网以访问缺省 Red Hat OpenShift 组件,例如 Web 控制台或 OperatorHub。 此外,当您希望集群访问公共端点时(例如,另一款应用的公共 URL,或者仅支持公共云服务端点的 IBM Cloud 服务),则需要一个公共网络网关。 确保查看 VPC 联网基础知识,以了解何时需要公用网络网关,以及如何设置集群,以将公共访问权的作用对象限制为仅一个或多个子网。
-
必须先创建 KMS 实例并在 IAM 中设置所需的服务授权,然后才能使用 KMS 加密。 有关更多信息,请参阅 管理集群中工作程序节点的加密。
-
请勿在集群创建期间或在专区中添加工作程序节点时删除附加到集群的子网。 如果删除集群使用的 VPC 子网,那么使用子网中的 IP 地址的任何负载均衡器都可能迂到问题,并且您可能无法创建新的负载均衡器。
-
如果创建同时具有公共和私有云服务端点的 VPC 集群,请注意,以后无法禁用公共服务端点。 因此,无法将公共集群转换为专用集群。
-
如果要创建在专用硬件上运行的集群,必须首先使用 CLI 在帐户中 创建专用主机池。
*如果要为群集启用受信任配置文件,请确保已在账户中创建了一个。 更多信息,请参阅 配置可信配置文件。
在控制台上创建 VPC 集群
通过控制台 IBM Cloud 创建您的 VPC Red Hat OpenShift 集群。 遵循控制台指示信息以进行以下集群配置。 要开始创建集群,请导航至 控制台并点击“创建集群”。
- 虚拟私有云
-
选择要在其中创建集群的现有 虚拟私有云 (VPC) 实例。 如果您还没有 VPC,可以创建一个。
- 地区
-
查看集群的 工作程序专区 和 子网。 将根据您选择的 VPC 对区域进行过滤,并包含先前创建的 VPC 子网。 根据要用于集群的可用性级别,选择一个或多个专区。 缺省情况下,集群资源分布在三个专区中以实现高可用性。 稍后可以 向集群添加专区。
- 版本
-
选择集群版本。 缺省情况下,将使用缺省 Kubernetes 版本创建集群,但您可以指定其他 受支持的版本。
- 许可证
-
为集群应用权利或购买许可证。 有关更多信息,请参阅 向帐户分配软件许可证,向集群添加 Cloud Pak,权利或许可证 以及 Cloud Pak 常见问题解答。
- 工作程序池
-
集群工作程序池定义运行工作负载的工作程序节点的数量和类型。 您可以随时更改工作程序池详细信息。
-
- 每个专区的工作程序节点: 对于高可用性,建议每个专区至少有 3 个工作程序节点。
-
- 加密本地磁盘: 缺省情况下,工作程序节点具有 AES 256 位磁盘加密功能。 您可以选择在创建集群时关闭磁盘加密。 如果启用加密,那么将使用您管理的 KMS 提供程序凭证对工作程序池中的每个工作程序节点进行加密。 仅对
default工作程序池的节点进行加密。 创建集群后,如果创建更多工作程序池,那么必须单独在每个池中启用加密。 集群中的每个工作程序池都可以使用相同的 KMS 实例和根密钥,具有不同根密钥的相同 KMS 实例或不同的实例。
- 加密本地磁盘: 缺省情况下,工作程序节点具有 AES 256 位磁盘加密功能。 您可以选择在创建集群时关闭磁盘加密。 如果启用加密,那么将使用您管理的 KMS 提供程序凭证对工作程序池中的每个工作程序节点进行加密。 仅对
-
- 辅助存储器: 您可以向工作程序节点 (例如
900gb.5iops-tier块存储磁盘) 供应辅助磁盘。 添加辅助磁盘时,该磁盘用于容器运行时,而主磁盘用于操作系统。 辅助磁盘在需要更多容器存储 (例如,使用大型映像运行 pod) 的场景中很有用。 请注意,在使用二级存储时,由于覆盖文件系统的原因,pod 可能无法使用卷的全部 IOPS/带宽功能。 辅助磁盘在您的帐户中供应,您可以在 VPC 控制台中看到这些磁盘。 这些磁盘的费用与每个工作程序的成本不同,并在帐单上显示为不同的行项。 这些二级流量也会计入您账户的配额使用量。 如果计划在可连接持久卷的节点上使用辅助存储器,那么强烈建议使用 10-iops 层或更高层。 这是因为节点的存储带宽分配在辅助存储卷和任何连接的 PVC 之间共享。 使用 5-iops 时,层可能会导致拉取映像或将 pod 写入存储器的性能下降。 有关带宽分配的更多信息,请参阅 虚拟服务器实例中的带宽分配。
- 辅助存储器: 您可以向工作程序节点 (例如
-
- GPU:如果计划在集群中部署人工智能、可视化或高质量图形工作负载,请确保选择 GPU 工作节点。
额外的风味类型(包括带有 NVIDIA V100、A100、H100 和 H200 GPU的风味)仅限于白名单账户使用。 要请求对其他列入允许列表的风格的访问权,请 请求对允许列表的访问权。
- 工作程序池加密
- 通过在工作节点池级别启用密钥管理服务(KMS)提供商,来管理工作节点上的加密设置。 选择 KMS 实例和 CRN。
- 网络插件 4.20 或更高版本
- 选择您要使用的容器网络接口(CNI)。 请在“Calico”和“Open Virtual Network”之间进行选择。 请注意,Open Virtual Network 仅适用于 OpenShift 集群版本 4.20 及更高版本,以及 RHCOS 工作节点。 如需了解更多信息,请参阅 《 选择容器网络接口(CNI) 》。
- 网络设置
- 服务端点提供与主节点的通信。 您可以选择使用公共服务端点或同时使用公共和私有云服务端点来配置集群。 有关运行面向因特网的应用程序或使集群保持专用所需的设置的更多信息,请参阅规划集群网络设置。 创建集群后,您无法更改云服务端点。
- 内部注册表
- 选择 COS 实例。 存储在 Red Hat OpenShift on IBM Cloud 集群内部注册表中的容器映像将自动备份到 Object Storage 存储区。 即使删除集群,也会保留 Object Storage 存储区中存储的任何数据。
- 出站流量保护
- 对于版本为 4.15 及更高版本的集群,缺省行为是仅允许集群运行所需的网络流量并禁用所有其他出站连接。 如果您的应用程序或服务需要连接到公共互联网,例如 GitHub 版本库、Docker Hub、
quay.io、Red Hat Marketplace 和 OperatorHub,请注意,您必须完全禁用出站流量保护(以便允许所有出站流量),或者添加安全组规则,只允许您需要的出站流量。 - 集群加密
- 使用密钥管理服务 (KMS) 启用数据加密,以加密集群中的私钥和其他敏感信息。 您还可以稍后 启用 KMS。
- 入口私钥管理
- IBM Cloud Secrets Manager 集中管理集群中的 Ingress 子域证书和其他私钥。 您可以选择在集群创建过程中向集群注册 Secrets Manager 实例。 您还可以指定可用于控制对集群中私钥的访问权的私钥组。 在创建集群之后,可以配置或更改这两个选项。
- VPC 安全组
- 除
kube-<clusterID>安全组外,还可提供最多四个自定义安全组,以应用于VPC集群中的所有工作节点。 有关详细信息,请参阅 了解 "默认情况下的安全 "群集 VPC 网络。 - 集群详细信息
- 您可以定制要用于组织和标识 IBM Cloud 资源 (例如
team或billing department) 的唯一 集群名称 和任何 标记。 - 选择要在其中创建集群的 资源组。 只能在一个资源组中创建集群,在创建集群后,即无法更改其资源组。 要在非缺省资源组中创建集群,您必须至少具有该资源组的查看者角色。
- 如果要将现有的受信任配置文件添加到群集,请指定受信任配置文件的 ID。 如果未指定受信任的配置文件,则可使用 API 密钥完成群集创建过程。 更多信息,请参阅 配置可信配置文件。
- 可观察性集成
- 您可以启用要包含在集群上的其他可观察性集成。 如果您具有该集成的现有平台实例,那么将自动启用某些集成。 在这种情况下,您无法禁用该集成。 如果要使用集成并且只有该集成的现有应用程序实例,那么缺省情况下会禁用该集成,并且必须手动将其启用。
-
- 日志:您可以使用 IBM Cloud Logs 管理操作系统日志、应用程序日志和平台日志。 如果您想稍后启用此集成,请参阅 IBM Cloud Logs.
-
- 监控和工作负载保护:监控服务集成允许对应用程序、服务和平台的性能和健康状况进行可视化操作。 如果禁用此集成并希望稍后启用,请参阅 监控群集健康状况。 Security and Compliance Center工作负载保护集成可查找软件漏洞并对其进行优先排序,检测和应对威胁,以及管理从源代码到运行的配置、权限和合规性。 有关详细信息,请参阅工作负载保护 入门 页面。
- 指定 配置类型,以使用监控和工作量保护的新实例或现有实例。 如果要同时使用监控和工作量保护的现有实例,则必须连接每个集成的实例。 在这种情况下,请指定要使用的监控实例或工作负载保护实例;您不能同时指定两个实例,但只要这两个实例处于连接状态,就会同时使用。 您可以从 Monitoring 或 Workload Protection 实例的详细信息页面连接现有实例。
从 CLI 创建 VPC 集群
- 确保完成 准备帐户 的先决条件并决定集群设置。
- 安装 IBM Cloud CLI 和 Red Hat OpenShift on IBM Cloud 插件。
- 安装 VPC CLI 插件。
-
在命令行中,登录您的 IBM Cloud 账户,并选择您要创建 VPC 集群的 IBM Cloud 区域和资源组。 有关支持的区域,请参阅在其他区域中创建 VPC。 根据提示,输入您的 IBM Cloud 凭证。 如果您拥有联合身份,请使用“--sso”选项登录。
ibmcloud login -r REGION [-g <resource_group>] [--sso] -
在要创建集群的区域中创建 VPC。 您虚拟私有云(VPC)中的工作节点集群是否需要与 IBM Cloud 经典基础设施之间进行信息收发? 遵循 创建 VPC 子网以进行经典访问 中的步骤,创建不带自动缺省地址前缀的支持经典的 VPC 和 VPC 子网。
-
- 如果您想创建一个多区域集群,请重复此步骤,在您希望纳入集群的所有区域中创建更多的子网。
- VPC 子网为集群中的工作节点和负载均衡服务提供 IP 地址,因此 创建一个包含足够IP地址的VPC子网,例如 256。 VPC 子网拥有的 IP 地址数量无法在后续进行修改。
- 请勿使用以下保留范围:
172.16.0.0/16,172.18.0.0/16,172.19.0.0/16和172.20.0.0/16。 - 如果工作程序节点必须访问公共端点,或者如果您计划同时启用公共和私有云服务端点,那么必须 将公共网关 连接到每个子网以访问缺省 Red Hat OpenShift 组件,例如 Web 控制台或 OperatorHub。
- 重要信息: 在集群创建期间或在专区中添加工作程序节点时,请勿删除附加到集群的子网。 如果删除集群使用的 VPC 子网,那么使用子网中的 IP 地址的任何负载均衡器都可能迂到问题,并且您可能无法创建新的负载均衡器。
- 有关更多信息,请参阅 Red Hat OpenShift on IBM Cloud: 子网中的 VPC 联网概述。
-
在 VPC 中创建集群。 您可以使用
ibmcloud oc cluster create vpc-gen2命令在您的 VPC 中创建一个单区域集群,该集群的工作节点仅连接到一个 VPC 子网。 如果要创建多专区集群,那么可以使用 IBM Cloud 控制台进行创建,或者在创建集群后,向集群添加更多专区。 供应集群需要几分钟时间。ibmcloud oc cluster create vpc-gen2 --name CLUSTER_NAME --zone VPC_ZONE --vpc-id VPC_ID --subnet-id VPC_SUBNET_ID --flavor WORKER_FLAVOR --version 4.21_openshift --cos-instance COS_CRN --workers NUMBER_WORKERS_PER_ZONE [--offering OFFERING] [--sm-group GROUP] [--sm-instance INSTANCE] [--trusted-profile-id ID] [--pod-subnet] [--service-subnet] [--disable-public-service-endpoint] [[--kms-account-id KMS_ACCOUNT_ID] --kms-instance KMS_INSTANCE_ID --crk ROOT_KEY_ID] [--secondary-storage STORAGE] [--disable-outbound-traffic-protection] [--operating-system SYSTEM] [--cni CNI]--name <cluster_name>- 指定集群的名称。 名称必须以字母开头,可以包含字母、数字、句点 (.) 和连字符 (-),且长度不得超过 35 个字符。 请使用在各区域中唯一的名称。 集群名称和部署集群的区域构成了 Ingress 子域的标准域名。 为了确保 Ingress 子域在区域内是唯一的,可能会截断 Ingress 域名中的集群名称并附加随机值。
--zone <zone>- 指定要在其中创建集群的 IBM Cloud 专区。 确保使用与创建 VPC 时所选的大城市位置相匹配的专区,并且您具有该专区的现有 VPC 子网。 例如,如果您在达拉斯大都市区创建了 VPC,则必须将区域设置为
us-south-1、us-south-2或us-south-3。 要列出可用的 VPC 集群区域,请运行ibmcloud oc zone ls --provider vpc-gen2。 请注意,选择您所在国家或地区以外的专区时,您可能需要法律授权才能将数据实际存储在国外。 --vpc-id <vpc_ID>- 输入先前创建的 VPC 的标识。 要获取您的 VPC 的 ID,请运行
ibmcloud oc vpcs。 --subnet-id <subnet_ID>- 输入先前创建的 VPC 子网的标识。 通过 CLI 创建 VPC 集群时,可以初始在一个专区中仅使用一个子网创建集群。 要创建多专区集群,请在创建集群后,使用先前创建的子网向集群添加更多专区。 要列出所有资源组中子网的标识,请运行
ibmcloud oc subnets --provider vpc-gen2 --vpc-id <,VPC_ID> --zone <subnet_zone>。 --flavor <worker_flavor>- 输入要使用的工作程序节点类型模板。 类型模板用于确定在每个工作程序节点中设置并可供应用程序使用的虚拟 CPU 量、内存量和磁盘空间量。 VPC 工作节点只能作为虚拟机在共享基础设施上创建。 不支持裸机或软件定义的存储机器。 要查看可用的实例规格,请先使用
ibmcloud oc zone ls --provider vpc-gen2列出可用的 VPC 区域,然后使用该区域运行 ` `ibmcloud oc flavors --zone <VPC_zone> --provider vpc-gen2来列出受支持的实例规格。 创建集群后,可以通过将工作程序节点或工作程序池添加到集群来添加不同的类型模板。 --version 4.21_openshift- 集群主节点的 Red Hat OpenShift 版本。 要查看可用的版本,请运行
ibmcloud oc versions。 --cos-instance <cos_CRN>- 包含标准 IBM Cloud Object Storage 实例的 CRN 标识,以备份集群的内部注册表。 要列出现有实例的 CRN,请运行
ibmcloud resource service-instances --long,然后查找您的对象存储实例的 ID。 要创建标准对象存储器实例,请运行ibmcloud resource service-instance-create <name> cloud-object-storage standard global并记下其 标识。 --workers <number>- 指定要包含在集群中的工作程序节点数。 如果未指定此选项,那么将创建最小值为 1 的集群。
--operating-system RHEL_9_64|REDHAT_8_64|RHCOS- 可选。 集群中工作程序节点的操作系统。 如需按集群版本查看可用操作系统列表,请参阅 Red Hat OpenShift on IBM Cloud 版本信息。 如果未指定任何选项,那么将使用与集群版本对应的缺省操作系统。
--offering <offering>- 可选。 指定集群服务类型。 允许的取值为
kubernetes、openshift和openshift-vs。 使用“openshift-vs”创建一个具有预配置虚拟化功能的 Red Hat OpenShift 虚拟化服务集群。 如需了解更多信息,请参阅《 Red Hat OpenShift 虚拟化服务概述 》。 --cluster-security-group <group_ID>- 可选。 请指定一个或多个安全组标识,以应用于集群上所有工作程序。 对于 OpenShift V 4.15 和 Kubernetes V 1.30 及更高版本,除了 IBM管理的
kube-clusterID安全组外,还会应用这些安全组。 对于较早的集群版本,请指定--cluster-security-group cluster选项以应用kube-clusterID安全组。 如果未指定任何值,那么将应用包括kube-clusterID在内的一组缺省安全组。 有关更多信息,请参阅 在创建期间向集群和工作程序池添加 VPC 安全组。
一旦创建了集群,就无法更改应用于该集群的安全组。 您可以 更改应用于集群的安全组的规则,但不能在集群级别添加或除去安全组。 如果在集群创建时应用了不正确的安全组,那么必须删除该集群并创建新的安全组。 请参阅 在创建期间向集群和工作程序池添加 VPC 安全组,以获取将安全组添加到集群之前的更多详细信息。
--sm-group GROUP- 可选。 用于持久化您密钥的 Secrets Manager 实例的密钥组ID。 要获取私钥组标识,请参阅 Secrets Manager CLI 参考。 使用此选项来指定 私钥组,该组控制团队中有权访问集群私钥的人员。
--sm-instance INSTANCE- 可选。 Secrets Manager 实例的 CRN。 要获取实例的 CRN,请运行
ibmcloud oc ingress instance ls --cluster CLUSTER。 如果要向集群注册 Secrets Manager 实例,请包含此选项。 --trusted-profile-id ID- 指定要与群集关联的现有受信任配置文件的 ID。 有了受信任的配置文件,您就可以授权访问您账户中的资源,而无需管理单独的 IAM 凭据。 更多信息,请参阅 配置可信配置文件。
--pod-subnet-
- 在 VPC 中创建的第一个集群中,缺省 pod 子网为
172.17.0.0/18。 - 在该 VPC 中创建的第二个集群中,缺省 pod 子网为
172.17.64.0/18。 在每个后续集群中,pod 子网范围是下一个可用的非重叠/18子网。 如果您计划通过 IBM Cloud® Direct Link 或VPN服务将集群连接到本地网络,可以通过指定自定义子网CIDR(该子网为您的Pod提供私有IP地址)来避免子网冲突。 - 您可以通过在
--pod-subnet选项中包含子网大小来指定子网大小。 例如:--pod-subnet 0.0.0.0/X,其中X是必需的 pod 子网大小。 然后,将自动选择 pod 子网。 自动分配 pod 子网时,分配将从172.17.0.0开始,最大子网限制为13,最小子网限制为23。 - 选择子网大小时,请考虑计划创建的集群的大小以及未来可能添加的工作程序节点数。 子网的 CIDR 必须至少为
/23,这可为集群中最多四个工作节点提供足够的 Pod IP 地址。 对于较大的集群,请使用/22为 8 个工作程序节点提供足够的 pod IP 地址,使用/21为 16 个工作程序节点提供足够的 pod IP 地址,以此类推。 请注意,pod 和服务子网不能重叠。 如果对工作程序节点使用定制范围子网,那么 必须确保工作程序节点子网与集群的 pod 子网不重叠。 您选择的子网必须在下列其中一个范围内:172.17.0.0 - 172.17.255.255,172.21.0.0 - 172.31.255.255,192.168.0.0 - 192.168.254.255和198.18.0.0 - 198.19.255.255。
- 在 VPC 中创建的第一个集群中,缺省 pod 子网为
--service-subnet- 缺省情况下,部署到集群的所有服务都会分配有 172.21.0.0/16 范围内的专用 IP 地址。 如果您计划通过 IBM Cloud Direct Link 或VPN服务将集群连接到本地网络,可以通过指定一个自定义子网CIDR(该子网为您的服务提供私有IP地址)来避免子网冲突。 子网必须以 CIDR 格式指定,大小至少为
/24,这允许集群中最多 255 个服务或更大的服务。 您选择的子网必须在下列其中一个范围内:172.17.0.0 - 172.17.255.255,172.21.0.0 - 172.31.255.255,192.168.0.0 - 192.168.254.255和198.18.0.0 - 198.19.255.255。请注意,pod 和服务子网不能重叠。 --disable-public-service-endpoint- 在命令中包含此选项,即可创建仅包含私有云服务端点的 VPC 集群。 如果您未包含此选项,则您的集群将配置为包含一个公有云服务端点和一个私有云服务端点。 服务端点决定了您的 Red Hat OpenShift 主节点与工作节点之间的通信方式、集群访问集群外部其他 IBM Cloud 服务和应用程序的方式,以及用户连接到集群的方式。 有关更多信息,请参阅规划集群网络设置。 如果包含此选项,那么将使用路由器和 Ingress 控制器创建集群,这些路由器和 Ingress 控制器仅在缺省情况下在专用网络上公开应用程序。 如果您以后想要向公用网络公开应用程序,那么必须手动创建公用路由器和 Ingress 控制器。
--kms-account-id <KMS_acount_ID>- 可选: 如果提供了
--kms-instance-id和--crk选项,并且 KMS 实例位于不同于集群帐户的帐户中,那么必须包含此选项,否则可以将其省略。 通过使用来自不同帐户的 KMS 来设置加密仅可用于列入允许列表的帐户。 要添加到允许列表,请在支持下 打开案例。 --kms-instance <KMS_instance_ID>- 可选: 包含用于对
default工作程序池中工作程序节点上的本地磁盘进行加密的密钥管理服务 (KMS) 实例的标识。 要列出可用的 KMS 实例,请运行ibmcloud oc kms instance ls。 如果启用此选项,还必须启用--crk选项。 必须先创建 KMS 实例并在 IAM 中设置所需的服务授权,然后才能使用 KMS 加密。 请参阅集群中工作程序节点的 管理加密。 --crk <root_key>- 可选: 在 KMS 实例中包含用于对
default工作程序池中工作程序节点上的本地磁盘进行加密的根密钥的标识。 要列出可用的根密钥,请运行ibmcloud oc kms crk ls --instance-id。 如果启用此选项,还必须启用--kms-instance选项。 必须先创建 KMS 实例并在 IAM 中设置所需的服务授权,然后才能使用 KMS 加密。 请参阅集群中工作程序节点的 管理加密。 --secondary-storage STORAGE- 可选。 该风味的储存方式。 例如,
900gb.5iops-tier。 添加辅助磁盘时,该磁盘用于容器运行时,而主磁盘用于操作系统。 要查看类型模板的存储选项,请运行ibmcloud oc flavor get --flavor FLAVOR --zone ZONE --provider vpc-gen2命令。 要查看 VPC 工作程序节点类型模板的列表,请参阅 VPC 类型模板。 --disable-outbound-traffic-protection- 可选。 禁用出站流量保护。
--cni CNI- 设置群集的网络插件。 Calico 默认设置为 接受值:
Calico,OVNKubernetes。 --offering OFFERING- 可选。 指定集群服务类型。 使用“
openshift-vs”创建一个具有预配置虚拟化功能的 Red Hat OpenShift 虚拟化服务集群。 如果未指定,则会创建一个标准的 OpenShift 集群。 如需了解更多信息,请参阅《 Red Hat OpenShift 虚拟化服务概述 》。
-
验证是否请求了创建集群。 可能需要几分钟时间,才能订购好工作程序节点机器,并在您的帐户中设置和供应集群。
ibmcloud oc cluster ls当您的 Red Hat OpenShift 主节点的配置完成后,集群状态将变为正常。 Red Hat OpenShift 主节点准备就绪后,您的工作节点即已配置完成。
NAME ID State Created Workers Zone Version Resource Group Name Provider mycluster aaf97a8843a29941b49a598f516da72101 normal 20170201162433 3 Dallas 4.21.27_1544_openshift Default vpc-gen2 -
检查工作程序节点的状态。
ibmcloud oc worker ls --cluster <cluster_name_or_ID>当工作节点准备就绪时,工作节点 州 将变为
normal,而 状态 将变为Ready。 节点 Status 更改为Ready时,可以访问集群。 请注意,即使集群已准备就绪,集群中由其他服务使用的某些部分(例如,Ingress 私钥或注册表映像拉取私钥)可能仍在进行中。ID Public IP Private IP Flavor State Status Zone Version kube-blrs3b1d0p0p2f7haq0g-mycluster-default-000001f7 169.xx.xxx.xxx 10.xxx.xx.xxx b3c.4x16.encrypted normal Ready dal10 4.21.27_1544_openshift系统会为每个工作程序节点分配唯一的工作程序节点标识和域名,在创建集群后,不得手动更改该标识和域名。 若更改ID或域名,Red Hat OpenShift 主节点将无法管理您的集群。
用于创建 VPC 集群的示例命令
具有实例存储器的虚拟硬件样板可用于列入允许列表的帐户。 要添加到允许列表,请在支持下 打开案例。
用于在 us-east-1 中创建具有 3 工作程序节点的 VPC 集群的示例命令。
ibmcloud oc cluster create vpc-gen2 --name my_cluster --version 4.21_openshift --zone us-east-1 --vpc-id VPC-ID --subnet-id VPC-SUBNET-ID --cos-instance COS-CRN--flavor bx2.4x16 --workers 3
示例命令在 "us-east-1 中创建带有 3 个工作节点的 VPC 群集,自定义 pod 子网范围和大小,并禁用出站流量保护。
ibmcloud oc cluster create vpc-gen2 --name my_cluster --version 4.21_openshift --zone us-east-1 --vpc-id VPC-ID --subnet-id VPC-SUBNET-ID --cos-instance COS-CRN --flavor bx2.4x16 --workers 3 --pod-subnet 0.0.0.0/15 --disable-outbound-traffic-protection
具有运行 Red Hat CoreOS (RHCOS) 操作系统的工作程序节点的 VPC 集群的示例命令。
ibmcloud oc cluster create vpc-gen2 --name my_cluster --zone us-south-1 --flavor b3c.4x16 --vpc_ID VPC-ID --subnet-id SUBNET-ID --operating-system RHCOS
示例命令用于 VPC 群集,其中的工作节点运行 RHEL 9 操作系统并禁用了出站流量保护。
ibmcloud oc cluster create vpc-gen2 --name my_cluster --zone us-south-1 --flavor b3c.4x16 --vpc_ID VPC-ID --subnet-id SUBNET-ID --operating-system RHEL_9_64 --disable-outbound-traffic-protection
示例命令,用于在 us-south-1 中创建具有 3 工作程序节点的集群,并通过提供 KMS 提供程序实例标识,帐户标识和 CRK 来启用工作程序节点磁盘加密。
ibmcloud oc cluster create vpc-gen2 --name <cluster_name> --zone us-south-1 --vpc-id VPC-ID --subnet-id SUBNET-ID --flavor b3c.4x16 --workers 3 --kms-account-id KMS-ACCOUNT-ID --kms-instance-id KMS-INSTANCE-ID --crk CRK
通过向多区 VPC 群集添加 一个区来 添加工作节点的示例命令。
ibmcloud oc zone add vpc-gen2 --zone ZONE --cluster <cluster_name_or_ID> --worker-pool WORKER-POOL --subnet-id SUBNET-ID
使用 Terraform 创建 VPC 集群
-
Terraform 支持 IBM Cloud 对 IBM Cloud 平台基础设施和资源(包括 VPC 集群)进行可预测且一致的配置。
-
要使用 Terraform 创建 VPC 集群,请首先创建用于声明要创建的集群资源类型的 Terraform 配置文件。 然后,应用 Terraform 配置文件。
-
有关 Terraform 的更多信息,请参阅 《关于 Terraform》 IBM Cloud。
-
Terraform IBM 模块 - Red Hat OpenShift 上的 VPC 群集 IBM Cloud 包括可加速部署的即用基础架构代码和实用示例。 如果您希望快速、稳定地配置企业级 OpenShift 环境,本模块将是一个很好的开始。
开始之前:
- 安装 Terraform CLI 和 IBM Cloud 提供者插件。
- 请确保您拥有 IBM Cloud API 密钥。
-
创建 Terraform 提供程序文件。 将文件保存在 Terraform 目录中。 有关更多信息,请参阅 Terraform IBM Cloud Provider 文档。
Terraform 提供程序文件示例。
terraform { required_providers { ibm = { source = "IBM-Cloud/ibm" version = "1.53.0" } } } provider "ibm" { region = "us-south" ibmcloud_api_key = "<api-key>" } -
a) 为 VPC 群集创建 Terraform 配置文件。 将文件保存在 Terraform 目录中。 有关更多信息和集群配置选项,请参阅 Terraform
ibm_container_cluster文档。示例 Terraform 配置文件:
resource "ibm_container_vpc_cluster" "cluster" { name = "tf-vpc" vpc_id = "<vpc_id>" flavor = "bx2.16x64" worker_count = "3" operating_system = "REDHAT_8_64" kube_version = "1.28.2" resource_group_id = "<resource_group_id>" zones { subnet_id = "<subnet_id>" name = "us-south-1" } }name- 必需。 集群的名称。
vpc_id- 必需。 要用于集群的 VPC 的标识。 要列出可用的 VPC,请运行
ibmcloud is vpcs。 flavor- 必需。 工作程序节点类型模板。 类型模板确定可用于工作程序节点的内存,CPU 和磁盘空间量。 要获取可用工作程序节点类型模板的列表,请运行
ibmcloud oc flavors --zone <zone> --provider classic,或者参阅 经典类型模板。 worker_count- 要添加到缺省工作程序池的工作程序节点数。
operating_system- 工作程序池中工作程序节点的操作系统。 有关按集群版本列出的受支持操作系统的列表,请参阅 Red Hat OpenShift on IBM Cloud 版本信息。
kube_version- 您集群的 Kubernetes 版本。 缺省情况下,将使用缺省 Kubernetes 版本创建集群,但您可以指定其他 受支持的版本。
resource_group_id- 资源组的标识。 要查看可用的资源组,请运行
ibmcloud resource groups。 如果未提供任何值,那么将使用缺省资源组。 zones-
- 用于描述 VPC 集群的缺省工作程序池的区域的嵌套块。
-
subnet_id: 必需。 要用于工作程序节点的 VPC 子网的标识。 要查找现有子网,请运行ibmcloud oc subnets --provider classic --zone <zone>。
-
name:必填。 缺省工作程序池的区域名称。 要查看可用区域,请运行ibmcloud oc zones --provider vpc-gen2。
b) 或者,如果您希望使用 Terraform IBM 模块,可以参考下面的示例来提供 Red Hat OpenShift VPC 上的群集 Gen2
locals { worker_pools = [ { subnet_prefix = "default" pool_name = "default" machine_type = "bx2.4x16" workers_per_zone = 2 operating_system = "RHCOS" } ] cluster_vpc_subnets = { default = [ { id = "0717-afc29fbb-0dbe-493a-a5b9-f3c5899cb8b9" cidr_block = "192.168.32.0/22" zone = "us-south-1" } ] } } module "ocp_base" { source = "terraform-ibm-modules/base-ocp-vpc/ibm" version = "3.81.3" region = "us-south" resource_group_id = "resource-group-id" cluster_name = "test-ocp-cluster" force_delete_storage = true vpc_id = "vpc-id" vpc_subnets = local.cluster_vpc_subnets worker_pools = local.worker_pools } -
在 CLI 中,浏览到 Terraform 目录。
cd <terraform_directory> -
运行命令以初始化和规划 Terraform 操作。 查看计划输出以确保执行正确的操作。
terraform initterraform plan -
应用 Terraform 文件以创建集群。 然后,浏览到 IBM Cloud 控制台以检查集群是否正在供应。
terraform apply
VPC 集群的后续步骤
- 添加工作节点。
- 将内部映像注册表备份到 IBM Cloud Object Storage。
- 使用公用联网服务或专用联网服务来公开应用程序。 如果您有多个具有公开应用程序的公共集群,请考虑将其与 全局负载均衡器 连接以实现高可用性。
- 通过 设置 IBM Cloud VPC VPN,将集群与 IBM Cloud 帐户外部的专用网络中的服务或其他 VPC 中的资源连接起来。
- 将规则添加到工作程序节点的安全组,以控制到 VPC 子网的入口和出口流量。