通过虚拟私有端点网关访问 VPC 集群
每个 VPC 集群都会自动创建一个 虚拟私有端点(VPE)网关。 如果授权用户连接到了同一 VPC 网络(例如通过 VPC VPN ),则可通过此端点访问集群主节点。
对于运行版本 4.13:如果您在创建集群时仅启用了私有云服务端点,则默认会使用 VPC 的 VPE 来访问 Red Hat OpenShift 组件,例如 Web 控制台或 OperatorHub。 您必须连接到私有 VPC 网络才能访问这些组件。
准备工作
- 安装所需的命令行工具。
- 配置 客户端到站点 或 站点到站点 VPN 连接到您的 VPC,并建立连接。
通过 VPE 网关访问 VPC 集群
-
使用 VPE 端点设置集群上下文。
ibmcloud oc cluster config -c CLUSTER_NAME_OR_ID --endpoint vpe -
请使用以下任一方法登录到集群。
- 作为管理员:
ibmcloud oc cluster config -c CLUSTER_NAME_OR_ID --admin --endpoint vpe - 使用 API 密钥:请参阅 “通过自动化工具访问集群”。
- 使用密码:
oc login -u passcode -p <iam_passcode> --server=https://<VPE_URL>:<port>
- 作为管理员:
-
验证访问权限。
oc version
在其他 VPC 和账户中创建额外的 VPE 网关
除了为集群在其 VPC 中创建的 VPE 网关外,您还可以为该集群创建其他 VPE 网关,以便允许其他 VPC、区域和账户通过私有网络进行访问。
-
必须通过 CLI 或 API 创建额外的 VPE 网关。 创建后,可在 Web 用户界面中进行管理。
-
对于跨账户的 VPE 网关,您必须先在目标账户中创建授权。 如需了解更多信息,请参阅 控制台中“为跨账户 VPE 创建服务授权”一节。
-
无需中转网关或特殊路由。 VPE 网关负责处理到目标集群的路由。
以下步骤将向您展示如何创建跨账户 VPE 网关。
-
从目标集群中获取必要的信息。
-
将
ibmcloud target设置为目标账户、区域和资源组。 -
获取现有的 VPE 网关信息。
ibmcloud is endpoint-gateway iks-TARGET_CLUSTER_ID ``` 1. 请注意**目标** CRN(格式:`crn:v1:bluemix:public:containers-kubernetes:REGION:a/TARGET_ACCOUNT:TARGET_CLUSTER_ID::` )。 1. 请注意**服务端点**的主机名。 -
-
在源账户中创建新的 VPE 网关。
-
将
ibmcloud target设置为源账户、区域和资源组。 -
请确认该 VPC 是否存在于此账户中。
ibmcloud is vpcs ``` 1. 创建 VPE 网关。 ```sh {: pre} ibmcloud is endpoint-gateway-create --vpc SOURCE_VPC_NAME --target TARGET_CRN --name new-iks-TARGET_CLUSTER_ID --resource-group-name SOURCE_ACCOUNT_RESOURCE_GROUP ``` `SOURCE_VPC_NAME` : 上一步骤中指定的 VPC 名称。 `TARGET_CRN` : 目标集群的 VPE 网关的 CRN。 `--name` : 您 VPE 网关的名称。 `SOURCE_ACCOUNT_RESOURCE_GROUP` : 源账户中的资源组名称。 1. 如果出现错误“`Could not find service`”,请确认目标 CRN 是否正确。 如果正确,您需要在目标账户中创建授权。 请参阅 [控制台中“为跨账户 VPE 创建服务授权”一节](/docs/vpc?topic=vpc-ordering-cross-account-endpoint-gateway&interface=ui#cross-account-vpe-prerequisite-console)。 -
-
将预留 IP 地址添加到您的 VPE 网关中。
您必须添加至少一个保留 IP 地址。 预留 IP 地址来自您的源 VPC 子网(每个区域最多一个),并将被添加到源 VPC 的私有 DNS 条目中。
- 为每个区域创建一个保留 IP 地址。
ibmcloud is subnet-reserved-ip-create SOURCE_VPC_SUBNET_NAME --vpc SOURCE_VPC_NAME --name ANY_NAME_YOU_CHOOSE --auto-delete true --target VPE_GATEWAY_NAME ``` 1. 可选:添加或修改安全组。 默认情况下,仅关联源 VPC 的默认安全组。 对于 VPE 网关,安全组仅保护入站流量。 确保安全组允许来自客户端的所有必要入站流量。 -
测试连接。
-
在源 VPC 中的 VSI 上,请使用与原始 VPE 网关相同的主机名。 请在 “服务端点”列表中查找此项,或通过
ibmcloud ks cluster get -c CLUSTER_NAME访问 VPE Gateway 属性。 -
验证连接是否正常。
curl -k https://CLUSTERID...:XXXXX/version ``` 1. 如果连接失败,请检查以下内容: * VSI 和 VPE 网关上的安全组允许必要的流量通过 * VPC 访问控制列表(ACL)允许该流量通过 * 目标集群上的基于上下文的限制(CBR)规则允许来自源 VPC 的私有流量(将源 VPC 中的三个 `Cloud Service Endpoint source addresses` 地址添加到私有 CBR 规则中) -
目标账户示例
以下示例展示了在目标账户中运行的命令,用于收集有关集群及其 VPE 网关的信息。
-
请确认您选择的目标账户是否正确。
ibmcloud target示例输出
API endpoint: https://cloud.ibm.com Region: us-east User: user2@example.com Account: Target Account (9f8e7d6c5b4a321fedcba98765432222) <-> 2222222 Resource group: default -
请列出您的集群。
ibmcloud ks clusters示例输出
OK Name ID State Created Workers Location Version Resource Group Name Provider vpe-cross-account-test c8m5n3p2q4x6z1w7y077 normal 1 day ago 2 Washington DC 4.19.25_1572_openshift default vpc-gen2 -
获取 VPE 网关的详细信息。 请记下目标 CRN 和服务端点。
ibmcloud is endpoint-gateway iks-c8m5n3p2q4x6z1w7y077示例输出
Getting endpoint gateway iks-c8m5n3p2q4x6z1w7y077 under account Target Account as user user2@example.com... ID r014-7a228b24-4bc4-416c-aede-7fda14e88d98 Name iks-c8m5n3p2q4x6z1w7y077 CRN crn:v1:bluemix:public:is:us-east:a/9f8e7d6c5b4a321fedcba98765432222::endpoint-gateway:r014-7a228b24-4bc4-416c-aede-7fda14e88d98 Target CRN crn:v1:bluemix:public:containers-kubernetes:us-east:a/9f8e7d6c5b4a321fedcba98765432222:c8m5n3p2q4x6z1w7y077:: DNS resolution binding mode primary Target Type provider_cloud_service Target Remote ID Name Resource type No target remote found. VPC ID Name r014-464b4e54-48a8-4f6c-b10a-68edc6fd2be4 new-vpcgen2-default-sec-grp-wdc Private IPs ID Name Address Subnet ID 0757-3bd457cb-af5a-4ab6-b9bb-6e78d3eaf752 iks-useast1-c8m5n3p2q4x6z1w7y077-2e8 172.22.0.11 0757-0c981aa5-cb47-41d9-ab29-edee98b416f8 Service Endpoints c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com Lifecycle State stable Health State ok Security groups ID Name r014-3873358e-3180-482b-927e-abcc300ecbf8 kube-vpegw-c8m5n3p2q4x6z1w7y077 Created 2026-04-03T12:14:59-05:00 Resource Group default -
可选:获取集群详细信息以查看 VPE 网关 URL。
ibmcloud ks cluster get -c c8m5n3p2q4x6z1w7y077示例输出
Retrieving cluster c8m5n3p2q4x6z1w7y077... OK Name: vpe-cross-account-test ID: c8m5n3p2q4x6z1w7y077 State: normal Status: All Workers Normal Created: 2026-04-03 11:56:38 -0500 (1 day ago) Resource Group ID: 950cec30388441ce809ca0d18b5ca3bc Resource Group Name: default Pod Subnet: 172.17.0.0/18 Service Subnet: 172.21.0.0/16 Workers: 2 Worker Zones: us-east-1 Ingress Subdomain: vpe-cross-account-test-354226545946e7ee0a2c700f061c1661-0000.us-east.containers.appdomain.cloud Ingress Secret: vpe-cross-account-test-354226545946e7ee0a2c700f061c1661-0000 Ingress Status: healthy Ingress Message: All Ingress components are healthy. Trusted Profile ID: - Public Service Endpoint URL: https://c111-e.us-east.containers.cloud.ibm.com:31100 Private Service Endpoint URL: https://c111.private.us-east.containers.cloud.ibm.com:31100 Pull Secrets: enabled in the default namespace VPCs: r014-464b4e54-48a8-4f6c-b10a-68edc6fd2be4 VPE Gateway: https://c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com:31100 OAuth Server URL: https://c111-e.us-east.containers.cloud.ibm.com:31264 Konnectivity Server URL: https://c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com:30996 Secure By Default Networking: enabled Outbound Traffic Protection: enabled Master Status: Ready (1 day ago) State: deployed Health: normal Version: 4.19.25_1572_openshift Location: Washington DC URL: https://c111-e.us-east.containers.cloud.ibm.com:31100
源账户示例
以下示例展示了在源账户中执行的命令,用于创建一个连接到目标账户中集群的 VPE 网关。
-
请确认您选择的目标源账户是否正确。
ibmcloud target示例输出
API endpoint: https://cloud.ibm.com Region: us-south User: user1@example.com Account: Source Account (a1b2c3d4e5f6789abcdef01234561111) <-> 1111111 Resource group: Default -
列出您的 VPC。
ibmcloud is vpcs示例输出
Listing vpcs in resource group Default and region us-south under account Source Account as user user1@example.com... ID Name Status Classic access Default network ACL Default security group Resource group Health state DNS Hub DNS Resolver Type r006-6f450c4b-c808-40e7-9de6-c61c262a2ae9 dev-ansiblepr-vpc available false vendor-paradox-ravioli-tank harmonica-hypnoses-tranquil-alkalize Default ok false system r006-bd06a98a-1183-42d2-810d-1c564eeb5f39 fvt-vpc-sdnlb-server-40 available false sloppy-program-venue-subsiding prattle-pension-wilt-recycled Default ok false system r006-ecf65055-6868-4368-aa7c-48fc5ac29ff8 network-fvt-us-south available false doorknob-baffle-quintet-poem spotted-sandpaper-auction-unluckily Default ok false system r006-4ff93772-cee9-4d64-9d87-d8b1b781e201 network-fvt-vpc-gen2 available false stegosaur-reach-boxlike-alone-stranger-uncork earplugs-preface-county-juicy-sensitize-babied Default ok false system -
使用目标账户的“目标 CRN”创建 VPE 网关。
ibmcloud is endpoint-gateway-create --vpc network-fvt-us-south --target crn:v1:bluemix:public:containers-kubernetes:us-east:a/9f8e7d6c5b4a321fedcba98765432222:c8m5n3p2q4x6z1w7y077:: --name new-iks-c8m5n3p2q4x6z1w7y077 --resource-group-name Default示例输出
Creating endpoint gateway new-iks-c8m5n3p2q4x6z1w7y077 in resource group Default under account Source Account as user user1@example.com... ID r006-2009f147-768a-4f6a-b8fa-75f20456cec2 Name new-iks-c8m5n3p2q4x6z1w7y077 CRN crn:v1:bluemix:public:is:us-south:a/a1b2c3d4e5f6789abcdef01234561111::endpoint-gateway:r006-2009f147-768a-4f6a-b8fa-75f20456cec2 Target CRN crn:v1:bluemix:public:containers-kubernetes:us-east:a/9f8e7d6c5b4a321fedcba98765432222:c8m5n3p2q4x6z1w7y077:: DNS resolution binding mode primary Target Type provider_cloud_service Target Remote ID Name Resource type No target remote found. VPC ID Name r006-ecf65055-6868-4368-aa7c-48fc5ac29ff8 network-fvt-us-south Private IPs - Service Endpoints c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com Lifecycle State pending Health State ok Security groups ID Name r006-7ae081e2-743d-4046-b755-5ca9997ae077 spotted-sandpaper-auction-unluckily Created 2026-04-04T18:17:12-05:00 Resource Group Default -
列出子网,以确定哪些子网用于保留 IP 地址。
ibmcloud is subnets --vpc network-fvt-us-south示例输出
Listing subnets in resource group Default and region us-south under account Source Account as user user1@example.com... ID Name Status Subnet CIDR Addresses ACL Public Gateway VPC Zone Resource group 0717-04288f84-4aef-4938-9fa7-5544a40ba258 network-fvt-us-south-1-priv available 10.240.0.0/24 251/256 doorknob-baffle-quintet-poem - network-fvt-us-south us-south-1 Default 0717-cdd4b20c-b48f-454b-b092-ad7aa14b39c8 network-fvt-us-south-1-pubgw available 10.240.1.0/24 246/256 doorknob-baffle-quintet-poem pgw-33eb53d0-74e4-11ee-a747-33927b3ab784 network-fvt-us-south us-south-1 Default 0727-8813de08-fffa-45e3-ae67-2ba70703866e network-fvt-us-south-2-priv available 10.240.64.0/24 250/256 doorknob-baffle-quintet-poem - network-fvt-us-south us-south-2 Default 0727-50b14707-c9f6-4f93-9f49-99de13c66161 network-fvt-us-south-2-pubgw available 10.240.65.0/24 251/256 doorknob-baffle-quintet-poem pgw-34fe4a70-74e4-11ee-a747-33927b3ab784 network-fvt-us-south us-south-2 Default 0737-7a644374-f121-44c1-b216-5fd94c0362b2 network-fvt-us-south-3-priv available 10.240.128.0/24 251/256 doorknob-baffle-quintet-poem - network-fvt-us-south us-south-3 Default 0737-71a34942-304c-4419-9205-3714a3574962 network-fvt-us-south-3-pubgw available 10.240.129.0/24 251/256 doorknob-baffle-quintet-poem pgw-36088e80-74e4-11ee-a747-33927b3ab784 network-fvt-us-south us-south-3 Default -
在第一个区域中创建一个保留 IP 地址,并将其绑定到 VPE 网关上。
ibmcloud is subnet-reserved-ip-create network-fvt-us-south-1-pubgw --vpc network-fvt-us-south --name reserved-ip-for-us-south-1 --auto-delete true --target new-iks-c8m5n3p2q4x6z1w7y077示例输出
Creating reserved IP in subnet network-fvt-us-south-1-pubgw under account Source Account as user user1@example.com... ID 0717-685e1410-2fa1-4e7a-a4e5-27a097ec7a7a Name reserved-ip-for-us-south-1 Address 0.0.0.0 Auto delete true Owner user Created 2026-04-04T18:18:51-05:00 Lifecycle state pending Target ID Name Resource type CRN r006-2009f147-768a-4f6a-b8fa-75f20456cec2 new-iks-c8m5n3p2q4x6z1w7y077 endpoint_gateway crn:v1:bluemix:public:is:us-south:a/a1b2c3d4e5f6789abcdef01234561111::endpoint-gateway:r006-2009f147-768a-4f6a-b8fa-75f20456cec2 -
请确认已添加预留的 IP 地址。
ibmcloud is eg new-iks-c8m5n3p2q4x6z1w7y077示例输出
Getting endpoint gateway new-iks-c8m5n3p2q4x6z1w7y077 under account Source Account as user user1@example.com... ID r006-2009f147-768a-4f6a-b8fa-75f20456cec2 Name new-iks-c8m5n3p2q4x6z1w7y077 CRN crn:v1:bluemix:public:is:us-south:a/a1b2c3d4e5f6789abcdef01234561111::endpoint-gateway:r006-2009f147-768a-4f6a-b8fa-75f20456cec2 Target CRN crn:v1:bluemix:public:containers-kubernetes:us-east:a/9f8e7d6c5b4a321fedcba98765432222:c8m5n3p2q4x6z1w7y077:: DNS resolution binding mode primary Target Type provider_cloud_service Target Remote ID Name Resource type No target remote found. VPC ID Name r006-ecf65055-6868-4368-aa7c-48fc5ac29ff8 network-fvt-us-south Private IPs ID Name Address Subnet ID 0717-685e1410-2fa1-4e7a-a4e5-27a097ec7a7a reserved-ip-for-us-south-1 10.240.1.5 0717-cdd4b20c-b48f-454b-b092-ad7aa14b39c8 Service Endpoints c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com Lifecycle State stable Health State ok Security groups ID Name r006-7ae081e2-743d-4046-b755-5ca9997ae077 spotted-sandpaper-auction-unluckily Created 2026-04-04T18:17:12-05:00 Resource Group Default -
在第二个区域中创建一个保留 IP 地址,并将其关联到 VPE 网关。
ibmcloud is subnet-reserved-ip-create network-fvt-us-south-2-pubgw --vpc network-fvt-us-south --name reserved-ip-for-us-south-2 --auto-delete true --target new-iks-c8m5n3p2q4x6z1w7y077示例输出
Creating reserved IP in subnet network-fvt-us-south-2-pubgw under account Source Account as user user1@example.com... ID 0727-d315d943-c501-4f69-823d-bb82a2b13b29 Name reserved-ip-for-us-south-2 Address 0.0.0.0 Auto delete true Owner user Created 2026-04-04T18:19:24-05:00 Lifecycle state pending Target ID Name Resource type CRN r006-2009f147-768a-4f6a-b8fa-75f20456cec2 new-iks-c8m5n3p2q4x6z1w7y077 endpoint_gateway crn:v1:bluemix:public:is:us-south:a/a1b2c3d4e5f6789abcdef01234561111::endpoint-gateway:r006-2009f147-768a-4f6a-b8fa-75f20456cec2 -
在第三个区域中创建一个保留 IP 地址,并将其绑定到 VPE 网关上。
ibmcloud is subnet-reserved-ip-create network-fvt-us-south-3-pubgw --vpc network-fvt-us-south --name reserved-ip-for-us-south-3 --auto-delete true --target new-iks-c8m5n3p2q4x6z1w7y077示例输出
Creating reserved IP in subnet network-fvt-us-south-3-pubgw under account Source Account as user user1@example.com... ID 0737-afbebd9f-02bd-4b9a-be90-5bacf9836041 Name reserved-ip-for-us-south-3 Address 0.0.0.0 Auto delete true Owner user Created 2026-04-04T18:19:32-05:00 Lifecycle state pending Target ID Name Resource type CRN r006-2009f147-768a-4f6a-b8fa-75f20456cec2 new-iks-c8m5n3p2q4x6z1w7y077 endpoint_gateway crn:v1:bluemix:public:is:us-south:a/a1b2c3d4e5f6789abcdef01234561111::endpoint-gateway:r006-2009f147-768a-4f6a-b8fa-75f20456cec2 -
请确认所有已预留的 IP 地址均已添加。
ibmcloud is eg new-iks-c8m5n3p2q4x6z1w7y077示例输出
Getting endpoint gateway new-iks-c8m5n3p2q4x6z1w7y077 under account Source Account as user user1@example.com... ID r006-2009f147-768a-4f6a-b8fa-75f20456cec2 Name new-iks-c8m5n3p2q4x6z1w7y077 CRN crn:v1:bluemix:public:is:us-south:a/a1b2c3d4e5f6789abcdef01234561111::endpoint-gateway:r006-2009f147-768a-4f6a-b8fa-75f20456cec2 Target CRN crn:v1:bluemix:public:containers-kubernetes:us-east:a/9f8e7d6c5b4a321fedcba98765432222:c8m5n3p2q4x6z1w7y077:: DNS resolution binding mode primary Target Type provider_cloud_service Target Remote ID Name Resource type No target remote found. VPC ID Name r006-ecf65055-6868-4368-aa7c-48fc5ac29ff8 network-fvt-us-south Private IPs ID Name Address Subnet ID 0737-afbebd9f-02bd-4b9a-be90-5bacf9836041 reserved-ip-for-us-south-3 10.240.129.5 0737-71a34942-304c-4419-9205-3714a3574962 0717-685e1410-2fa1-4e7a-a4e5-27a097ec7a7a reserved-ip-for-us-south-1 10.240.1.5 0717-cdd4b20c-b48f-454b-b092-ad7aa14b39c8 0727-d315d943-c501-4f69-823d-bb82a2b13b29 reserved-ip-for-us-south-2 10.240.65.5 0727-50b14707-c9f6-4f93-9f49-99de13c66161 Service Endpoints c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com Lifecycle State stable Health State ok Security groups ID Name r006-7ae081e2-743d-4046-b755-5ca9997ae077 spotted-sandpaper-auction-unluckily Created 2026-04-04T18:17:12-05:00 Resource Group Default -
从源VPC中的VSI测试连接。
curl -k https://c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com:31100/version示例输出
{ "major": "1", "minor": "32", "gitVersion": "v1.32.12", "gitCommit": "9b706b45b52a0c8bb05847295ee98ffccbabba32", "gitTreeState": "clean", "buildDate": "2026-02-19T13:30:47Z", "goVersion": "go1.23.10 (Red Hat 1.23.10-10.el9) X:strictfipsruntime", "compiler": "gc", "platform": "linux/amd64" } -
验证主机名是否解析为一个保留的 IP 地址。
dig +short c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com示例输出
10.240.65.5