IBM Cloud Docs
创建 VPC 集群

创建 VPC 集群

虚拟私有云

使用 IBM Cloud CLI 或 IBM Cloud 控制台创建标准 VPC 群集,并自定义群集以满足应用程序的高可用性和安全性要求。

先决条件和说明

  • 如果工作程序节点必须访问公共端点,或者如果计划同时启用公共和私有云服务端点,那么必须将公共网关连接到 VPC 中的每个子网,以访问缺省 Red Hat OpenShift 组件,例如 Web 控制台或 OperatorHub。

  • 如果计划同时启用公共和私有云服务端点,那么必须将公共网关连接到每个子网以访问缺省 Red Hat OpenShift 组件,例如 Web 控制台或 OperatorHub。 此外,如果要让群集访问公共端点,如其他应用程序的公共 URL 或仅支持公共云服务端点的 IBM Cloud 服务,则需要公共网络网关。 确保查看 VPC 联网基础知识,以了解何时需要公用网络网关,以及如何设置集群,以将公共访问权的作用对象限制为仅一个或多个子网。

  • 必须先创建 KMS 实例并在 IAM 中设置所需的服务授权,然后才能使用 KMS 加密。 有关更多信息,请参阅 管理集群中工作程序节点的加密

  • 请勿在集群创建期间或在专区中添加工作程序节点时删除附加到集群的子网。 如果删除集群使用的 VPC 子网,那么使用子网中的 IP 地址的任何负载均衡器都可能迂到问题,并且您可能无法创建新的负载均衡器。

  • 如果创建同时具有公共和私有云服务端点的 VPC 集群,请注意,以后无法禁用公共服务端点。 因此,无法将公共集群转换为专用集群。

  • 如果 VPC 集群需要访问经典基础架构资源,那么必须在帐户中 启用 VRF服务端点

  • 如果要创建在专用硬件上运行的集群,必须首先使用 CLI 在帐户中 创建专用主机池

在控制台中创建 VPC 群集

使用 IBM Cloud 控制台创建 VPC Red Hat OpenShift 集群。 遵循控制台指示信息以进行以下集群配置。 要开始创建集群,请导航至 控制台并点击“创建集群”。

虚拟私有云

选择要在其中创建集群的现有 虚拟私有云 (VPC) 实例。 如果没有 VPC,可以创建一个。

地区

查看集群的 工作程序专区子网。 将根据您选择的 VPC 对区域进行过滤,并包含先前创建的 VPC 子网。 根据要用于集群的可用性级别,选择一个或多个专区。 缺省情况下,集群资源分布在三个专区中以实现高可用性。 稍后可以 向集群添加专区

版本

选择集群版本。 缺省情况下,将使用缺省 Kubernetes 版本创建集群,但您可以指定其他 受支持的版本

许可证

为集群应用权利或购买许可证。 有关更多信息,请参阅 向帐户分配软件许可证向集群添加 Cloud Pak,权利或许可证 以及 Cloud Pak 常见问题解答

工作程序池

集群工作程序池定义运行工作负载的工作程序节点的数量和类型。 您可以随时更改工作程序池详细信息。

  • 每个专区的工作程序节点: 对于高可用性,建议每个专区至少有 3 个工作程序节点。
  • 风味:风味定义了架构、虚拟 CPU、内存、GPU 和磁盘空间的大小,这些都设置在每个工作节点中,并提供给容器使用。 可用的裸机和虚拟机类型随部署集群的专区而变化。 有关可用类型模板的列表,请参阅 VPC 类型模板
  • 在控制台中选择类型模板时,可以按 机器类型体系结构操作系统来过滤可用类型模板。 可用机器类型为 shareddedicated。 请注意,仅当您的帐户中已有 专用主机池 时,dedicated 选项才可用。 有关按集群版本列出的可用操作系统和体系结构的列表,请参阅 可用版本
  • 加密本地磁盘: 缺省情况下,工作程序节点具有 AES 256 位磁盘加密功能。 您可以选择在创建集群时关闭磁盘加密。 如果启用加密,那么将使用您管理的 KMS 提供程序凭证对工作程序池中的每个工作程序节点进行加密。 仅对 default 工作程序池的节点进行加密。 创建集群后,如果创建更多工作程序池,那么必须单独在每个池中启用加密。 集群中的每个工作程序池都可以使用相同的 KMS 实例和根密钥,具有不同根密钥的相同 KMS 实例或不同的实例。
  • 辅助存储器: 您可以向工作程序节点 (例如 900gb.5iops-tier 块存储磁盘) 供应辅助磁盘。 添加辅助磁盘时,该磁盘用于容器运行时,而主磁盘用于操作系统。 辅助磁盘在需要更多容器存储 (例如,使用大型映像运行 pod) 的场景中很有用。 请注意,在使用二级存储时,由于覆盖文件系统的原因,pod 可能无法使用卷的全部 IOPS/带宽功能。 辅助磁盘在您的帐户中供应,您可以在 VPC 控制台中看到这些磁盘。 这些磁盘的费用与每个工作程序的成本不同,并在帐单上显示为不同的行项。 这些辅助卷还会计入帐户的配额使用情况。 如果计划在可连接持久卷的节点上使用辅助存储器,那么强烈建议使用 10-iops 层或更高层。 这是因为节点的存储带宽分配在辅助存储卷和任何连接的 PVC 之间共享。 使用 5-iops 时,层可能会导致拉取映像或将 pod 写入存储器的性能下降。 有关带宽分配的更多信息,请参阅 虚拟服务器实例中的带宽分配
  • GPU: 如果计划将 AI,可视或高质量图形工作负载部署到集群,请确保选择 GPU 工作程序节点类型模板。

其他口味类型,包括带有 NVIDIA V100, A100, H100 和 H200 GPU的口味,仅适用于允许列表中的账户。 要请求对其他列入允许列表的风格的访问权,请 请求对允许列表的访问权

工作程序池加密
通过在工作池级别启用密钥管理服务 (KMS) 提供商,管理工作节点的加密。 选择 KMS 实例和 CRN。
主节点服务端点
服务端点提供与主节点的通信。 您可以选择使用公共服务端点或同时使用公共和私有云服务端点来配置集群。 有关运行面向因特网的应用程序或使集群保持专用所需的设置的更多信息,请参阅规划集群网络设置。 创建集群后,您无法更改云服务端点。
内部注册表
选择 COS 实例。 存储在 Red Hat OpenShift on IBM Cloud 集群内部注册表中的容器映像将自动备份到 Object Storage 存储区。 即使删除集群,也会保留 Object Storage 存储区中存储的任何数据。
出站流量保护 4.15 和更高版本
对于版本为 4.15 及更高版本的集群,缺省行为是仅允许集群运行所需的网络流量并禁用所有其他出站连接。 如果您的应用程序或服务需要连接到公共互联网,例如 GitHub 版本库、Docker Hub、quay.io、Red Hat Marketplace 和 OperatorHub,请注意,您必须完全禁用出站流量保护(以便允许所有出站流量),或者添加安全组规则,只允许您需要的出站流量。
集群加密
使用密钥管理服务 (KMS) 启用数据加密,以加密集群中的私钥和其他敏感信息。 您还可以稍后 启用 KMS
入口私钥管理
IBM Cloud Secrets Manager 集中管理集群中的 Ingress 子域证书和其他私钥。 您可以选择在集群创建过程中向集群注册 Secrets Manager 实例。 您还可以指定可用于控制对集群中私钥的访问权的私钥组。 在创建集群之后,可以配置或更改这两个选项。
VPC 安全组
最多提供四个定制安全组,以应用于 VPC 集群上的所有工作程序节点,而不是缺省 VPC 安全组。 将不会应用缺省 VPC 安全组。 有关更多信息,请参阅 使用 VPC 安全组控制流量
集群详细信息
您可以定制要用于组织和标识 IBM Cloud 资源 (例如 teambilling department) 的唯一 集群名称 和任何 标记
选择要在其中创建集群的 资源组。 只能在一个资源组中创建集群,在创建集群后,即无法更改其资源组。 要在非缺省资源组中创建集群,您必须至少具有该资源组的查看者角色
可观察性集成
您可以启用要包含在集群上的其他可观察性集成。 如果您具有该集成的现有平台实例,那么将自动启用某些集成。 在这种情况下,无法禁用集成。 如果要使用集成并且只有该集成的现有应用程序实例,那么缺省情况下会禁用该集成,并且必须手动将其启用。
  • 日志:您可以使用 IBM Cloud Logs 管理操作系统日志、应用程序日志和平台日志。 如果您想稍后启用此集成,请参阅 IBM Cloud Logs.
  • 监控工作负载保护:监控服务集成允许对应用程序、服务和平台的性能和健康状况进行可视化操作。 如果禁用此集成并希望稍后启用,请参阅 监控群集健康状况。 Security and Compliance Center工作负载保护集成可查找软件漏洞并对其进行优先排序,检测和应对威胁,以及管理从源代码到运行的配置、权限和合规性。 有关详细信息,请参阅工作负载保护 入门 页面。
  • 指定 配置类型,以使用监控和工作量保护的新实例或现有实例。 如果要同时使用监控和工作量保护的现有实例,则必须连接每个集成的实例。 在这种情况下,请指定要使用的监控实例或工作负载保护实例;您不能同时指定两个实例,但只要这两个实例处于连接状态,就会同时使用。 您可以从 MonitoringWorkload Protection 实例的详细信息页面连接现有实例。

从 CLI 创建 VPC 集群

  1. 在命令行中,登录 IBM Cloud 账户,并将 IBM Cloud 区域和资源组作为目标,在此创建 VPC 群集。 有关支持的区域,请参阅在其他区域中创建 VPC。 根据提示,输入您的 IBM Cloud 凭证。 如果您有一个联合 ID,请使用 --sso 选项登录。

    ibmcloud login -r <region> [-g <resource_group>] [--sso]
    
  2. 在要创建集群的区域中创建 VPC。 VPC 中的工作程序节点集群是否需要在 IBM Cloud 经典基础架构之间发送和接收信息? 遵循 创建 VPC 子网以进行经典访问 中的步骤,创建不带自动缺省地址前缀的支持经典的 VPC 和 VPC 子网。

  3. 为 VPC 创建子网

    • 如果要创建多区段群集,请重复此步骤,在要包含在群集中的所有区段中创建附加子网。
    • VPC 子网为集群中的工作节点和负载均衡器服务提供 IP 地址,因此 请创建具有足够 IP 地址的 VPC 子网,例如 256 个。 以后不能更改 VPC 子网的 IP 数量。
    • 请勿使用以下保留范围: 172.16.0.0/16172.18.0.0/16172.19.0.0/16172.20.0.0/16
    • 如果工作程序节点必须访问公共端点,或者如果您计划同时启用公共和私有云服务端点,那么必须 将公共网关 连接到每个子网以访问缺省 Red Hat OpenShift 组件,例如 Web 控制台或 OperatorHub。
    • 重要信息: 在集群创建期间或在专区中添加工作程序节点时,请勿删除附加到集群的子网。 如果删除集群使用的 VPC 子网,那么使用子网中的 IP 地址的任何负载均衡器都可能迂到问题,并且您可能无法创建新的负载均衡器。
    • 有关更多信息,请参阅 Red Hat OpenShift on IBM Cloud: 子网中的 VPC 联网概述
  4. 在 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.17_openshift --cos-instance <COS_CRN> --workers <number_workers_per_zone> [--sm-group GROUP] [--sm-instance INSTANCE] [--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]
    
    
    --name <cluster_name>
    指定集群的名称。 名称必须以字母开头,可包含字母、数字、句点 (.) 和连字符 (-),且必须少于或等于 35 个字符。 请使用在各区域中唯一的名称。 集群名称和部署集群的区域构成了 Ingress 子域的标准域名。 为了确保 Ingress 子域在区域内是唯一的,可能会截断 Ingress 域名中的集群名称并附加随机值。
    --zone <zone>
    指定要在其中创建集群的 IBM Cloud 专区。 确保使用与创建 VPC 时所选的大城市位置相匹配的专区,并且您具有该专区的现有 VPC 子网。 例如,如果您在达拉斯都会区创建了 VPC,您的区域必须设置为 us-south-1us-south-2us-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 &lt,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.17_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 版本信息。 如果未指定任何选项,那么将使用与集群版本对应的缺省操作系统。
    --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 实例,请包含此选项。
    --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.255172.21.0.0 - 172.31.255.255192.168.0.0 - 192.168.254.255198.18.0.0 - 198.19.255.255
    --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.255172.21.0.0 - 172.31.255.255192.168.0.0 - 192.168.254.255198.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 4.15 和更高版本
    可选。
  5. 验证是否请求了创建集群。 可能需要几分钟时间,才能订购好工作程序节点机器,并在您的帐户中设置和供应集群。

    ibmcloud oc cluster ls
    

    Red Hat OpenShift master 的配置完成后,群集的状态就会恢复正常。 Red Hat OpenShift 主节点准备就绪后,就可以设置工作节点了。

    NAME         ID                                   State      Created          Workers    Zone      Version     Resource Group Name   Provider
    mycluster    aaf97a8843a29941b49a598f516da72101   normal   20170201162433   3          Dallas     4.17.28_1544_openshift      Default               vpc-gen2
    
  6. 检查工作程序节点的状态。

    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.17.28_1544_openshift
    

    系统会为每个工作程序节点分配唯一的工作程序节点标识和域名,在创建集群后,不得手动更改该标识和域名。 如果更改标识或域名,那么 Red Hat OpenShift 主节点无法管理集群。

用于创建 VPC 集群的示例命令

具有实例存储器的虚拟硬件样板可用于列入允许列表的帐户。 要添加到允许列表,请在支持下 打开案例

用于在 us-east-1 中创建具有 3 工作程序节点的 VPC 集群的示例命令。

ibmcloud oc cluster create vpc-gen2 --name my_cluster --version 4.17_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.17_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 集群

IBM Cloud 上的 Terraform 支持可预测且一致地供应 IBM Cloud 平台基础架构和资源,包括 VPC 集群。 要使用 Terraform 创建 VPC 集群,请首先创建用于声明要创建的集群资源类型的 Terraform 配置文件。 然后,应用 Terraform 配置文件。 有关 Terraform 的更多信息,请参阅 关于 IBM Cloud 上的 Terraform。

开始之前:

  1. 创建 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>"
    }
    
  2. 为 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
  3. 在 CLI 中,浏览到 Terraform 目录。

    cd <terraform_directory>
    
  4. 运行命令以初始化和规划 Terraform 操作。 查看计划输出以确保执行正确的操作。

    terraform init
    
    terraform plan
    
  5. 应用 Terraform 文件以创建集群。 然后,浏览到 IBM Cloud 控制台以检查集群是否正在供应。

    terraform apply
    

VPC 集群的后续步骤