访问集群

创建 IBM Cloud® Kubernetes Service 集群后,可以通过访问集群开始使用集群。

先决条件

  1. 安装所需的 CLI 工具,包括 IBM Cloud CLI,Kubernetes Service 插件 (ibmcloud ks) 和 Kubernetes CLI (kubectl)。要快速访问集群中的测试功能,还可以使用 IBM Cloud Shell
  2. 创建 IBM Cloud Kubernetes Service 集群
  3. 如果网络受到公司防火墙的保护,请允许访问 IBM Cloud 和 IBM Cloud Kubernetes Service API 端点和端口。 对于仅限私有云服务端点的集群,在 配置对云服务端点子网的访问权 之前,无法测试与集群的连接。
  4. 运行 ibmcloud ks cluster get -c <cluster_name_or_ID> 命令,检查您的集群是否处于正常运行状态。 如果集群未处于正常运行状态,请查看调试集群指南以获取帮助。 例如,如果在受防火墙网关设备保护的帐户中供应集群,那么必须配置防火墙设置以允许出局流量流至相应的端口和 IP 地址
  5. 在集群的输出中,查看集群的公共私有服务 URL。
  6. 您还可以通过 虚拟专用端点 访问 VPC 集群。

通过公有云服务端点访问集群

要使用集群,请将所创建的集群设置为 CLI 会话运行 kubectl 命令的上下文。

如果您想改用 IBM Cloud 控制台,可以在 IBM Cloud Shell 中直接运行 CLI 命令。

  1. 将所创建的集群设置为此会话的上下文。 每次使用集群时都完成这些配置步骤。
    1. 将集群的 kubeconfig 配置文件下载并添加到 ~/.kube/config 中的现有 kubeconfigKUBECONFIG 环境变量中的最后一个文件。
        ibmcloud ks cluster config -c CLUSTER_NAME_OR_ID
        ```
    2. 验证 `kubectl` 命令是否正确运行以及 Kubernetes 上下文是否设置为集群。
    ```sh {: pre}
        kubectl config current-context
        ```
        示例输出
        ```sh {: screen}
        <cluster_name>/<cluster_ID>
        ```
    
  2. 使用缺省端口 8001 启动 Kubernetes 仪表板。
    1. 使用缺省端口号设置代理。
        kubectl proxy
        ```
        ```sh {: screen}
        Starting to serve on 127.0.0.1:8001
        ```
    2. 在 Web 浏览器中打开以下 URL 以查看 Kubernetes 仪表板。
    ```sh {: codeblock}
        http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
        ```
    
    
    

通过私有云服务端点访问集群

允许授权集群用户通过私有云服务端点访问 VPC经典 集群。

通过私有服务端点访问 VPC 集群

所有 VPC 群集都有一个私人服务端点,授权用户可以访问。 由于它只能在专用网络上使用,用户必须通过以下方式之一访问它:

  1. 对于 ca-mon、in-che 和 in-mum 以外的区域,VPC 集群的专用服务端点可从 IBM Cloud 内的任何地方访问,或从使用 VPN(或类似设备)连接到 IBM Cloud 的客户端访问。

    您可以使用以下选项之一通过 VPN 连接到 IBM Cloud:

     [客户端到站点 VPN](/docs/vpc?topic=vpc-vpn-client-to-site-overview)
    

    : 最常见的群集访问选项,设置相当简单。 有关配置技巧,请参阅 通过虚拟专用端点网关访问 VPC 群集

    站点到站点 VPN : 它的设置较为复杂,但具有可能有用的其他功能。

    可以通过群集的私有服务端点 URL 访问这些群集,该端点看起来像 c<XXX>.private.<REGION>.containers.cloud.ibm.com:XXXXX。 使用此命令可获取使用此私有端点的 kubeconfig 文件:

    然后,您可以使用下图所示的几个选项之一登录群集。 完成上述操作后,您可以使用以下命令来验证该连接 ibmcloud ks get nodes

    • 以管理员身份登录

      1. 确保您有 管理员 群集的平台访问角色
      2. 为管理员下载 kubeconfig。
        ibmcloud ks cluster config -c CLUSTER_NAME_OR_ID --admin --endpoint private
        
    • 请以用户身份登录

      1. 下载当前登录用户的 kubeconfig 文件。
        ibmcloud ks cluster config -c CLUSTER_NAME_OR_ID --endpoint private
        
  2. 可通过群集的特定虚拟专用端点(VPE)网关访问所有区域内所有 VPC 群集的专用服务端点。 VPE 网关只能在其创建的 VPC 内使用,或通过 VPN(或类似方式)进入该特定 VPC。 以这种方式连接到群集有两种主要选择:

    • 在创建群集的 VPC 中会自动为群集创建一个 VPE 网关。 因此,一种选择是通过 VPC 内部的系统,或通过 VPN(或类似设备)连接到 VPC 的系统进行连接。
    • 如果要从不同的 VPC(甚至是不同地区或不同账户的 VPC)进行连接,可以在其他 VPC 中创建一个新的 VPE 网关。 然后,从其他 VPC(包括通过 VPN 接入其他 VPC 的情况),可以通过新的 VPE 网关访问群集主控程序。 具体操作步骤请参阅下面的“在其他 VPC 和账户中创建其他虚拟专用端点网关”部分。
    • 有关此选项的更多信息,包括如何获取 kubeconfig 文件和配置 VPN 的提示,请参阅下面的“通过虚拟专用端点网关访问 VPC 群集”部分。

通过私有云服务端点访问经典集群

如果授权的集群用户位于您的 IBM Cloud 私有网络中,或者通过 经典 VPN 连接 等方式连接到该私有网络,则可通过私有云服务端点访问 Kubernetes 主节点,或 IBM Cloud Direct Link。 但是,通过私有云服务端点与 Kubernetes 主服务器进行通信时,必须经过 166.X.X.X IP地址范围,而该范围无法通过经典VPN连接或 IBM Cloud Direct Link 进行路由。 您可以使用私有网络负载均衡器(NLB),向集群用户公开主节点的私有云服务端点。 私有 NLB 将主节点的私有云服务端点以内部 10.X.X.X IP 地址范围的形式对外暴露,用户可通过 VPN 或 IBM Cloud Direct Link 连接访问该端点。 如果您仅启用了私有云服务端点,则可以使用 Kubernetes 仪表板,或临时启用公有云服务端点来创建私有 NLB。

  1. 获取您集群的私有云服务端点 URL 及其端口。

    ibmcloud ks cluster get -c <cluster_name_or_ID>
    

    在此输出示例中,Private Service Endpoint URLhttps://c1.private.us-east.containers.cloud.ibm.com:25073

    NAME:                           setest
    ID:                             b8dcc56743394fd19c9f3db7b990e5e3
    State:                          normal
    Status:                         healthy cluster
    Created:                        2019-04-25T16:03:34+0000
    Location:                       wdc04
    Master URL:                     https://c1.private.us-east.containers.cloud.ibm.com:25073
    Public Service Endpoint URL:    -
    Private Service Endpoint URL:   https://c1.private.us-east.containers.cloud.ibm.com:25073
    Master Location:                Washington D.C.
    ...
    
  2. 创建一个名为 kube-api-via-nlb.yaml 的YAML文件。 此 YAML 配置将创建一个私有 LoadBalancer 服务,并通过该 NLB 公开该私有云服务的端点。 将 <private_service_endpoint_port> 替换为上一步中找到的端口。

    apiVersion: v1
    kind: Service
    metadata:
      name: kube-api-via-nlb
      annotations:
        service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type: private
      namespace: default
    spec:
      type: LoadBalancer
      ports:
      - protocol: TCP
        port: 8080 # Or, the <private_service_endpoint_port> that you found earlier.
        targetPort: 8080 # Optional. By default, the `targetPort` is set to match the `port` value unless specified otherwise.
    ---
    kind: Endpoints
    apiVersion: v1
    metadata:
      name: kube-api-via-nlb
    subsets:
      - addresses:
          - ip: 172.20.0.1
        ports:
          - port: 2040
    
  3. 要创建专用 NLB,必须连接到集群主节点。 由于目前还无法通过 VPN 或 IBM Cloud Direct Link 访问私有云服务端点,因此您必须通过公有云服务端点或 Kubernetes 仪表板连接到集群主节点,并创建 NLB。

    • 如果您仅启用了私有云服务端点,则可以使用 Kubernetes 仪表板来创建 NLB。 仪表盘会自动将所有请求路由到主节点的私有云服务端点。

      1. “集群 ”页面上,单击您要访问的集群。
      2. 在集群详细信息页面中,单击 Kubernetes 仪表板
      3. 单击 + 创建
      4. 选择通过文件创建,上传 kube-api-via-nlb.yaml 文件,然后单击上传
      5. 概述页面中,验证 kube-api-via-nlb 服务是否已创建。 在外部端点列中,记下 10.x.x.x 地址。 该 IP 地址会在您在 YAML 文件中指定的端口上,公开 Kubernetes 主节点的私有云服务端点。
    • 如果您还启用了公有云服务端点,那么您已经可以访问主节点了。

      1. 将集群的 kubeconfig 配置文件下载并添加到 ~/.kube/config 中的现有 kubeconfigKUBECONFIG 环境变量中的最后一个文件。
        ibmcloud ks cluster config -c <cluster_name_or_ID>
        
      2. 创建 NLB 和端点。
        kubectl apply -f kube-api-via-nlb.yaml
        
      3. 验证 kube-api-via-nlb NLB 是否已创建。 在输出中,记下 10.x.x.x EXTERNAL-IP 地址。 该 IP 地址会在您在 YAML 文件中指定的端口上,公开 Kubernetes 主节点的私有云服务端点。
        kubectl get svc -o wide
        
        在此示例输出中,Kubernetes 主节点的私有云服务端点的 IP 地址为 10.186.92.42
        NAME                     TYPE           CLUSTER-IP       EXTERNAL-IP      PORT(S)          AGE   SELECTOR
        kube-api-via-nlb         LoadBalancer   172.21.150.118   10.186.92.42     443:32235/TCP    10m   <none>
        ...
        
  4. 在您或您的用户运行 kubectl 命令的客户端计算机上,请将NLB IP地址和私有云服务端点 URL 添加到 /etc/hosts 文件中。 请勿在 IP 地址和 URL 中包含任何端口号,也请勿在 URL 中包含 https://

    • 致 macOS 和 Linux 的用户:
        sudo nano /etc/hosts
        ```
    * 对于 Windows 用户:
    
    ```sh {: pre}
        notepad C:\Windows\System32\drivers\etc\hosts
        ```
        根据本地计算机许可权,您可能需要以管理员身份运行记事本来编辑 hosts 文件。
    
        ```sh {: codeblock}
        10.186.92.42  c1.private.us-east.containers.cloud.ibm.com
        ```
    
  5. 验证您是否已通过 VPNIBM Cloud Direct Link 连接连接到专用网络。

  6. 将集群的 kubeconfig 配置文件下载并添加到 ~/.kube/config 中的现有 kubeconfigKUBECONFIG 环境变量中的最后一个文件。

    ibmcloud ks cluster config -c <cluster_name_or_ID> --endpoint private
    
  7. 验证 kubectl 命令是否正确运行以及 Kubernetes 上下文是否设置为集群。

    kubectl config current-context
    

    示例输出

    <cluster_name>/<cluster_ID>
    

通过虚拟专用端点网关访问 VPC 集群

将自动为 VPC 集群创建 虚拟专用端点网关。 当授权集群用户连接到集群部署所在的同一VPC时(例如通过 IBM Cloud VPC VPN ),可通过此虚拟私有端点网关访问 Kubernetes 主节点。 在此情况下,该 kubeconfig 配置使用了虚拟私有端点(VPE) URL,该域名属于私有DNS名称,仅能通过 IBM Cloud VPC 私有DNS服务进行解析。 IBM Cloud VPC 的专用DNS服务器地址为 161.26.0.7161.26.0.8

  1. 设置 IBM Cloud VPC VPN 并通过 VPN 连接到 VPC。

    1. 客户机到站点站点到站点 VPN 配置到 VPC。 例如,您可以选择设置与 VPN 客户端的客户机到站点连接。
    2. 对于 IBM Cloud VPC 服务的客户机到站点 VPN,在供应 VPN 服务器时必须指定 IBM Cloud VPC 专用 DNS 服务地址 (如 注意事项 中所述),并且必须在供应具有目标 161.26.0.0/16 和操作 translate 的 VPN 服务器后创建 VPN 路由。
    3. 对于 IBM Cloud VPC 服务的站点间 VPN,请遵循 通过 VPN 指南访问服务端点 并配置 IBM Cloud VPC 专用 DNS 服务地址。
    4. 验证您是否已通过 IBM Cloud VPC VPN 连接连接到 VPC。
  2. 将集群的 kubeconfig 配置文件下载并添加到 ~/.kube/config 中的现有 kubeconfigKUBECONFIG 环境变量中的最后一个文件。

    --endpoint vpe 标志可确保在 kubeconfig 文件中使用 <CLUSTERID>.private.<REGION>.containers.cloud.ibm.com:XXXXX URL。

    ibmcloud ks cluster config -c <cluster_name_or_ID> --endpoint vpe
    
  3. 1.30 和更高版本 将安全组规则添加到 VPN 的 kube-vpegw-<clusterID>。 此示例中的远程资源来自 VPN 的客户机 IP CIDR。 您可以通过运行 ibmcloud ks cluster get -c CLUSTER 来查找 VPE 端口。

    ibmcloud is sg-rulec kube-vpegw-<clusterID> inbound tcp --port-min 30829  --port-max 30829 --remote 192.168.192.0/22
    
  4. 验证 Kubernetes 上下文是否已设置为集群。

    kubectl config current-context
    

    示例输出

    <cluster_name>/<cluster_ID>
    
    kubectl version
    

    示例输出

    Client Version: v1.25.3
    Kustomize Version: v4.5.7
    Server Version: v1.25.4+IKS
    

使用基于上下文的限制来保护集群

不再支持专用服务端点允许列表。 尽快从专用服务端点允许列表迁移到基于上下文的限制。 有关具体迁移步骤,请参阅 从专用服务端点允许列表迁移到基于上下文的限制(CBR)

使用基于上下文的限制(CBR)规则,控制对公共和专用服务端点的访问。

通过 IBM Cloud IAM 授予用户访问群集的权限 后,您可以为群集的公共和私有服务端点创建 CBR 规则,从而增加第二层安全性。 只允许向群集主控发送来自 CBR 规则中子网的授权请求。

如果要允许来自与群集所在 VPC 不同的 VPC 的请求,则必须在 CBR 规则中包含该 VPC 的云服务端点 IP 地址。

例如,要访问集群的私有云服务端点,必须通过 VPN 或 IBM Cloud Direct Link连接到 IBM Cloud 经典网络或 VPC 网络。 您可以在 CBR 规则中只指定 VPN 或 Direct Link 隧道的子网,这样只有组织内的授权用户才能从该子网访问私有云服务端点。

公共 CBR 规则(如果群集有公共服务端点)还有助于防止用户在授权被撤销后访问群集。 当用户离开组织时,您将删除其 IBM Cloud IAM 权限,因为该权限授予他们访问群集的权限。 不过,用户可能复制了某个群集的管理员 kubeconfig 文件,从而获得了访问该群集的权限。 如果公共 CBR 规则只允许从贵组织拥有的已知公共子网访问群集主控器,那么用户试图从另一个公共 IP 地址访问将被阻止。

工作节点子网会自动添加到后端 CBR 实现(但不会从 CBR 规则/区域)中移除,这样工作节点就能始终访问群集主控器,用户也无需特别将这些子网添加到自己的 CBR 规则中。

要了解有关使用 CBR 规则保护群集的更多信息,请参阅 使用基于上下文的限制保护群集资源基于上下文的限制方案示例

在其他 VPC 和账户中创建其他虚拟专用端点网关

除了在 VPC 中为群集创建的 VPE 网关外,还可以为该群集创建其他 VPE 网关,以允许从其他 VPC、区域和账户通过专用网络进行访问。

  • 必须使用 CLI 或 API 创建其他 VPE 网关。 创建后,可通过网络用户界面对其进行管理。

  • 对于跨账户 VPE 网关,必须首先在目标账户中创建授权。 有关更多信息,请参阅 在控制台中为跨账户 VPE 创建服务授权

  • 无需中转网关或特殊路由选择。 VPE 网关负责处理到目标群集的路由。

以下步骤将向您演示如何创建跨账户 VPE 网关。

  1. 从目标群集获取必要信息。

    1. ibmcloud target 设置为目标账户、区域和资源组。

    2. 获取现有 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. 注意**服务端点**主机名。
    
    
  2. 在源账户中创建新的 VPE 网关。

    1. ibmcloud target 设置为源账户、区域和资源组。

    2. 验证此账户中是否存在 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)。
    
    
  3. 为 VPE 网关添加保留 IP。

    您必须添加至少一个保留 IP 地址。 保留 IP 来自源 VPC 子网(每个区域最多一个),并添加到源 VPC 的私有 DNS 条目中。

    1. 为每个区域创建一个保留 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 网关,安全组只保护入口流量。 确保安全组允许来自客户端的所有必要传入流量。
    
    
  4. 测试连接。

    1. 从源 VPC 中的 VSI,使用与原始 VPE 网关相同的主机名。 从 ibmcloud ks cluster get -c CLUSTER_NAME服务端点列表或 VPE Gateway 属性中查找。

    2. 验证连接是否正常。

        curl -k https://CLUSTERID...:XXXXX/version
        ```
    1. 如果连接失败,请检查以下内容:
    
        * VSI 和 VPE 网关上的安全组允许必要的流量
        * VPC ACL 允许流量
        * 目标集群上的基于上下文的限制(CBR)规则允许来自源VPC的私有流量(将源VPC中的三个 `Cloud Service Endpoint source addresses` 地址添加到私有CBR规则中)
    
    
    

示例:目标账户命令

下面的示例显示了在目标账户中运行的命令,用于收集有关群集及其 VPE 网关的信息。

  1. 验证您的目标账户是否正确。

    ibmcloud target
    

    示例输出

    API endpoint:     https://cloud.ibm.com
    Region:           us-east
    User:             user2@example.com
    Account:          Target Account (9f8e7d6c5b4a321fedcba98765432222) <-> 2222222
    Resource group:   default
    
  2. 列出您的集群。

    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
    
  3. 获取 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
    
  4. 可选:获取群集详细信息,查看 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 网关。

  1. 验证您的目标源账户是否正确。

    ibmcloud target
    

    示例输出

    API endpoint:     https://cloud.ibm.com
    Region:           us-south
    User:             user1@example.com
    Account:          Source Account (a1b2c3d4e5f6789abcdef01234561111) <-> 1111111
    Resource group:   Default
    
  2. 列出 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
    
  3. 使用目标账户的目标 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
    
  4. 列出子网,以确定哪些子网用于保留 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
    
  5. 在第一个区域创建一个保留 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
    
  6. 确认已添加保留 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
    
  7. 在第二个区域创建一个保留 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
    
  8. 在第三个区域创建一个保留 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
    
  9. 确认已添加所有保留 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
    
  10. 从源 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"
    }
    
  11. 验证主机名是否解析到保留 IP。

    dig +short c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com
    

    示例输出

    10.240.65.5