Acceso a clústeres

Después de crear su clúster de IBM Cloud® Kubernetes Service, puede empezar a trabajar con el clúster accediendo al clúster.

Requisitos previos

  1. Instale las herramientas de CLI necesarias, incluida la CLI de IBM Cloud, el plugin de Kubernetes Service (ibmcloud ks) y la CLI de Kubernetes (kubectl). Para obtener un acceso rápido a las funciones de prueba del clúster, también puede utilizar IBM Cloud Shell.
  2. Cree el clúster de IBM Cloud Kubernetes Service.
  3. Si la red está protegida por un cortafuegos de empresa, permita el acceso a los puertos y puntos finales de la API de IBM Cloud y de IBM Cloud Kubernetes Service. Para clústeres de sólo punto final de servicio de nube privada, no puede probar la conexión con el clúster hasta que configure el acceso a la subred de punto final de servicio de nube.
  4. Compruebe que el clúster está en buen estado ejecutando ibmcloud ks cluster get -c <cluster_name_or_ID>. Si el clúster no está en buen estado, revise la guía sobre Depuración de clústeres para obtener ayuda. Por ejemplo, si el clúster se suministra en una cuenta que está protegida por un dispositivo de pasarela de cortafuegos, debe configurar los valores del cortafuegos para permitir el tráfico de salida a los puertos y direcciones IP apropiados.
  5. En la salida de los detalles del clúster del paso anterior, compruebe el URL Público o del Punto final de servicio privado del clúster.
  6. También puede acceder al clúster de VPC a través del Punto final privado virtual.

Acceso a clústeres a través del punto final de servicio en la nube público

Para trabajar con su clúster, establezca el clúster que ha creado como contexto para una sesión de CLI para ejecutar mandatos kubectl.

Si desea utilizar en su lugar la consola de IBM Cloud, puede ejecutar mandatos de CLI directamente desde el navegador web en IBM Cloud Shell.

  1. Defina el clúster que ha creado como contexto para esta sesión. Siga estos pasos de configuración cada vez que de trabaje con el clúster.
    1. Descargue y añada el archivo de configuración kubeconfig correspondiente a su clúster a kubeconfig en ~/.kube/config o al último archivo de la variable de entorno KUBECONFIG.
        ibmcloud ks cluster config -c CLUSTER_NAME_OR_ID
        ```
    2. Verifique que los mandatos `kubectl` se ejecutan correctamente y que el contexto de Kubernetes establecido es su clúster.
    ```sh {: pre}
        kubectl config current-context
        ```
        Salida de ejemplo
        ```sh {: screen}
        <cluster_name>/<cluster_ID>
        ```
    
  2. Inicie el panel de control de Kubernetes con el puerto predeterminado 8001.
    1. Establezca el proxy con el número de puerto predeterminado.
        kubectl proxy
        ```
        ```sh {: screen}
        Starting to serve on 127.0.0.1:8001
        ```
    2. Abra el siguiente URL en un navegador web para ver el panel de control de Kubernetes.
    ```sh {: codeblock}
        http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
        ```
    
    
    

Acceso a clústeres a través del punto final de servicio en la nube privado

Permitir a los usuarios de clúster autorizados acceder al clúster VPC o clásico a través del punto final de servicio en la nube privado.

Acceso a clústeres de VPC a través del punto final de servicio privado

Todos los clusters VPC tienen un punto final de servicio privado al que pueden acceder los usuarios autorizados. Dado que sólo está disponible en la red privada, los usuarios deben acceder a ella de una de las siguientes maneras:

  1. Para regiones distintas de ca-mon, in-che e in-mum, se puede acceder al punto final de servicio privado para clústeres VPC desde cualquier lugar dentro de IBM Cloud, o desde un cliente que esté utilizando una VPN (o similar) para conectarse a IBM Cloud.

    Puede conectarse mediante VPN a IBM Cloud utilizando una de las siguientes opciones:

     [vPN cliente-sitio](/docs/vpc?topic=vpc-vpn-client-to-site-overview)
    

    : Es la opción más común para el acceso al clúster y su configuración es bastante sencilla. Para obtener consejos de configuración, consulte Acceso a clusters VPC a través del Virtual Private Endpoint Gateway.

    VPN de sitio a sitio : Es más complejo de configurar, pero tiene funciones adicionales que pueden ser útiles.

    Se puede acceder a estos clústeres a través del punto final de servicio privado URL para el clúster que se parece a c<XXX>.private.<REGION>.containers.cloud.ibm.com:XXXXX. Utiliza este comando para obtener un archivo kubeconfig que utilice este endpoint privado:

    A continuación, puede iniciar sesión en el clúster utilizando una de las varias opciones que se muestran a continuación. Una vez hecho esto, puede verificar esa conexión utilizando algo como ibmcloud ks get nodes

    • Inicie la sesión como administrador:

      1. Asegúrate de que dispones del rol de acceso Administrador a la plataforma para el clúster.
      2. Descarga el kubeconfig para el administrador.
        ibmcloud ks cluster config -c CLUSTER_NAME_OR_ID --admin --endpoint private
        
    • Inicia sesión como usuario:

      1. Descarga el archivo kubeconfig del usuario con el que has iniciado sesión.
        ibmcloud ks cluster config -c CLUSTER_NAME_OR_ID --endpoint private
        
  2. Se puede acceder al punto final de servicio privado de todos los clústeres VPC, en todas las regiones, a través de la puerta de enlace del punto final virtual (VPE) específico de ese clúster. Una puerta de enlace VPE sólo está disponible desde dentro de la VPC en la que se creó o a través de una VPN (o similar) en esa VPC específica. Existen dos opciones principales para conectarse a un clúster de esta forma:

    • Se crea automáticamente un VPE Gateway para el clúster en la VPC en la que se creó el clúster. Así que una opción es conectarse desde un sistema dentro de esa VPC, o desde un sistema que tenga una conexión VPN (o similar) a esa VPC.
    • Si quieres conectarte desde una VPC diferente (tal vez incluso una VPC en una región diferente o una cuenta diferente) puedes crear un nuevo Gateway VPE en esa otra VPC. A continuación, desde esa otra VPC (incluso si está conectado por VPN a esa otra VPC), puede acceder al maestro del clúster a través de esa nueva puerta de enlace VPE. Los pasos para hacerlo se encuentran en la sección Creación de Gateways de Endpoint Virtual adicionales en otras VPC y cuentas.
    • Más información sobre esta opción, incluyendo cómo obtener un archivo kubeconfig y consejos para configurar una VPN, en la sección Acceder a clusters VPC a través de Virtual Private Endpoint Gateway.

Acceso a clústeres clásicos a través del punto final de servicio en la nube privado

Se puede acceder al nodo maestro de Kubernetes a través del punto final de servicio en la nube privado si usuarios de clúster autorizados están en la red privada de IBM Cloud o están conectados a la red privada, como por ejemplo a través de una conexión de VPN clásica o IBM Cloud Direct Link. Sin embargo, la comunicación con el nodo maestro de Kubernetes sobre el punto final de servicio en la nube privado debe pasar a través del rango de direcciones IP 166.X.X.X, que no se puede direccionar desde una conexión VPN clásica ni a través de IBM Cloud Direct Link. Puede exponer el punto final de servicio en la nube privado del nodo maestro para los usuarios del clúster utilizando un equilibrador de carga de red (NLB) privado. El NLB privado expone el punto final de servicio en la nube privado del nodo maestro como un rango de direcciones IP 10.X.X.X interno al que pueden acceder los usuarios con la VPN o con la conexión de IBM Cloud Direct Link. Si solo habilita el punto final de servicio en la nube privado, puede utilizar el panel de control de Kubernetes o puede habilitar temporalmente el punto final de servicio en la nube público para crear el NLB privado.

  1. Obtenga el puerto y el URL de punto final de servicio en la nube privado para el clúster.

    ibmcloud ks cluster get -c <cluster_name_or_ID>
    

    En esta salida de ejemplo, el URL de punto final de servicio privado es https://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. Cree un archivo YAML denominado kube-api-via-nlb.yaml. Este archivo YAML crea un servicio LoadBalancer privado y expone el punto final de servicio en la nube privado a través de ese NLB. Sustituya <private_service_endpoint_port> por el puerto que ha encontrado en el paso anterior.

    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. Para crear el NLB privado, debe estar conectado al nodo maestro del clúster. Puesto que todavía no puede conectarse a través del punto final de servicio de nube privada desde una VPN o IBM Cloud Direct Link, debe conectarse al maestro de clúster y crear el NLB utilizando el punto final de servicio de nube pública o el panel de control de Kubernetes.

    • Si solo ha habilitado el punto final de servicio en la nube privado, puede utilizar el panel de control de Kubernetes para crear el NLB. El panel de control direcciona automáticamente todas las solicitudes al punto final de servicio en la nube privado del nodo maestro.

      1. En la página Clústeres, haz clic en el clúster al que quieras acceder.
      2. En la página de detalles del clúster, pulse Panel de control de Kubernetes.
      3. Pulse + Crear.
      4. Seleccione Crear a partir de archivo, cargue el archivo kube-api-via-nlb.yaml y pulse Cargar.
      5. En la página Visión general, verifique que se ha creado el servicio kube-api-via-nlb. En la columna Puntos finales externos, anote la dirección 10.x.x.x. Esta dirección IP expone el punto final de servicio en la nube privado para el nodo maestro de Kubernetes en el puerto que ha especificado en el archivo YAML.
    • Si también ha habilitado el punto final de servicio en la nube público, ya tiene acceso al nodo maestro.

      1. Descargue y añada el archivo de configuración kubeconfig correspondiente a su clúster a kubeconfig en ~/.kube/config o al último archivo de la variable de entorno KUBECONFIG.
        ibmcloud ks cluster config -c <cluster_name_or_ID>
        
      2. Cree el NLB y el punto final.
        kubectl apply -f kube-api-via-nlb.yaml
        
      3. Verifique que se ha creado el NLB kube-api-via-nlb. En la salida, anote la dirección 10.x.x.x EXTERNAL-IP. Esta dirección IP expone el punto final de servicio en la nube privado para el nodo maestro de Kubernetes en el puerto que ha especificado en el archivo YAML.
        kubectl get svc -o wide
        
        En esta salida de ejemplo, la dirección IP correspondiente al punto final de servicio en la nube privado del nodo maestro de Kubernetes es 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. En las máquinas cliente en las que usted o sus usuarios ejecutan mandatos kubectl, añada la dirección IP de NLB y el URL de punto final de servicio en la nube privado al archivo /etc/hosts. No incluya ningún puerto en la dirección IP y el URL y no incluya https:// en el URL.

    • Para usuarios de macOS y Linux:
        sudo nano /etc/hosts
        ```
    * Para usuarios de Windows:
    
    ```sh {: pre}
        notepad C:\Windows\System32\drivers\etc\hosts
        ```
        En función de los permisos de la máquina local, es posible que tenga que ejecutar el Bloc de notas como administrador para poder editar el archivo hosts.
    
        ```sh {: codeblock}
        10.186.92.42  c1.private.us-east.containers.cloud.ibm.com
        ```
    
  5. Verifique que está conectado a la red privada a través de una VPN o de una conexión de IBM Cloud Direct Link.

  6. Descargue y añada el archivo de configuración kubeconfig correspondiente a su clúster a kubeconfig en ~/.kube/config o al último archivo de la variable de entorno KUBECONFIG.

    ibmcloud ks cluster config -c <cluster_name_or_ID> --endpoint private
    
  7. Verifique que los mandatos kubectl se ejecutan correctamente y que el contexto de Kubernetes establecido es su clúster.

    kubectl config current-context
    

    Salida de ejemplo

    <cluster_name>/<cluster_ID>
    

Acceso a clústeres de VPC a través de Virtual Private Endpoint Gateway

Virtual Private Endpoint Gateway se crea automáticamente para los clústeres de VPC. Se puede acceder al maestro de Kubernetes a través de esta puerta de enlace de punto final privado virtual si los usuarios autorizados del clúster están conectados a la misma VPC en la que se ha implementado el clúster, por ejemplo, a través de una VPN de IBM Cloud VPC. En este caso, el kubeconfig está configurado con el punto final privado virtual (VPE) URL, que es un nombre DNS privado y solo puede ser resuelto por el servicio DNS privado IBM Cloud VPC. IBM Cloud VPC Las direcciones del servidor DNS privado son 161.26.0.7 y 161.26.0.8.

  1. Configure la VPN de IBM Cloud VPC y conéctese a la VPC a través de VPN.

    1. Configure una VPN de de cliente a sitio o de sitio a sitio en la VPC. Por ejemplo, puede optar por configurar una conexión de cliente a sitio con un cliente VPN.
    2. En el caso de VPN de cliente a sitio para el servicio IBM Cloud VPC, debe especificar las direcciones del servicio DNS privado IBM Cloud VPC cuando suministre el servidor VPN tal como se menciona en las consideraciones, y debe crear una ruta VPN después de suministrar el servidor VPN, con el destino 161.26.0.0/16 y la acción translate.
    3. En el caso de VPN de sitio a sitio para el servicio IBM Cloud VPC, siga la Guía de acceso a puntos finales de servicio a través de VPN y configure las direcciones de servicio DNS privado de IBM Cloud VPC.
    4. Comprueba que estás conectado a la VPC a través de tu conexión VPN de IBM Cloud VPC.
  2. Descargue y añada el archivo de configuración kubeconfig correspondiente a su clúster a kubeconfig en ~/.kube/config o al último archivo de la variable de entorno KUBECONFIG.

    El indicador --endpoint vpe garantiza que se utilice <CLUSTERID>.private.<REGION>.containers.cloud.ibm.com:XXXXX URL en el archivo kubeconfig.

    ibmcloud ks cluster config -c <cluster_name_or_ID> --endpoint vpe
    
  3. 1.30 y posteriores Añada una regla de grupo de seguridad al kube-vpegw-<clusterID> para la VPN. El recurso remoto de este ejemplo procede del CIDR de IP de cliente de la VPN. Puede encontrar el puerto VPE ejecutando ibmcloud ks cluster get -c CLUSTER.

    ibmcloud is sg-rulec kube-vpegw-<clusterID> inbound tcp --port-min 30829  --port-max 30829 --remote 192.168.192.0/22
    
  4. Verifique que el contexto de Kubernetes esté establecido en el clúster.

    kubectl config current-context
    

    Salida de ejemplo

    <cluster_name>/<cluster_ID>
    
    kubectl version
    

    Salida de ejemplo

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

Protección de clusters mediante restricciones basadas en el contexto

Ya no se admiten las listas de puntos finales de servicios privados. Migrar de las listas privadas de puntos finales de servicio a las restricciones basadas en el contexto lo antes posible. Para conocer los pasos específicos de la migración, consulte Migración de una lista de permisos de punto final de servicio privado a restricciones basadas en contexto(CBR).

Controle el acceso a sus puntos finales de servicio públicos y privados mediante reglas de restricción basadas en el contexto (CBR).

Después de conceder a los usuarios acceso a su clúster a través de IBM Cloud IAM, puede añadir una capa secundaria de seguridad mediante la creación de reglas CBR para el punto final de servicio público y privado de su clúster. Sólo se permitirán las solicitudes autorizadas a su maestro de clúster que se originen en subredes incluidas en las reglas CBR.

Si desea permitir solicitudes desde una VPC diferente a aquella en la que se encuentra su clúster, debe incluir la dirección IP del punto final del servicio en la nube para esa VPC en las reglas CBR.

Por ejemplo, para acceder al punto final de servicio en la nube privado del clúster, debe conectarse a la red clásica o a la red de VPC de IBM Cloud mediante una VPN o IBM Cloud Direct Link. Puedes especificar únicamente la subred para el túnel VPN o de Direct Link en tus reglas CBR, de modo que solo los usuarios autorizados de tu organización puedan acceder al punto final del servicio de nube privada desde esa subred.

Las reglas CBR públicas (si su clúster tiene un punto final de servicio público) también pueden ayudar a evitar que los usuarios accedan a su clúster una vez revocada su autorización. Cuando un usuario abandone la organización, eliminará sus permisos de IBM Cloud IAM que le otorgan acceso al clúster. Sin embargo, el usuario podría haber copiado el archivo admin kubeconfig para un clúster, dándole acceso a ese clúster. Si tiene una regla CBR pública que sólo permite el acceso a sus maestros de clúster desde subredes públicas conocidas que sean propiedad de su organización, se bloqueará el intento de acceso del usuario desde otra dirección IP pública.

Las subredes de los nodos de trabajo se añaden y eliminan automáticamente de la implementación CBR del backend (pero no de las reglas/zonas CBR), de modo que los nodos de trabajo siempre puedan acceder al maestro del clúster y los usuarios no necesiten añadirlas específicamente a sus propias reglas CBR.

Para obtener más información sobre cómo proteger su clúster con reglas CBR, consulte Protección de recursos del clúster con restricciones basadas en el contexto y Ejemplos de escenarios de restricciones basadas en el contexto.

Creación de gateways de punto final virtual adicionales en otras VPC y cuentas

Además de la puerta de enlace VPE que se crea para un clúster en su VPC, puede crear puertas de enlace VPE adicionales para ese clúster para permitir el acceso a través de la red privada desde otras VPC, regiones y cuentas.

  • Las pasarelas VPE adicionales deben crearse mediante la CLI o la API. Una vez creados, pueden gestionarse en la interfaz web.

  • Para pasarelas VPE entre cuentas, primero debe crear una autorización en la cuenta de destino. Para obtener más información, consulte Creación de autorización de servicio para VPE multicuenta en la consola.

  • No se necesita pasarela de tránsito ni enrutamiento especial. La pasarela VPE se encarga del enrutamiento hacia el clúster de destino.

Los siguientes pasos muestran cómo crear una pasarela VPE de cuentas cruzadas.

  1. Obtenga la información necesaria del clúster de destino.

    1. Establezca ibmcloud target en la cuenta, región y grupo de recursos de destino.

    2. Obtener la información de la pasarela VPE existente.

        ibmcloud is endpoint-gateway iks-TARGET_CLUSTER_ID
        ```
    1. Anote el **CRN de destino** (formato: `crn:v1:bluemix:public:containers-kubernetes:REGION:a/TARGET_ACCOUNT:TARGET_CLUSTER_ID::`).
    
    1. Observe los nombres de host **de los puntos finales de servicio**.
    
    
  2. Crea el nuevo gateway VPE en la cuenta de origen.

    1. Establezca ibmcloud target en la cuenta de origen, la región y el grupo de recursos.

    2. Compruebe que la VPC existe en esta cuenta.

        ibmcloud is vpcs
        ```
    1. Crea la pasarela 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`
        :   El nombre de la VPC del paso anterior.
    
        `TARGET_CRN`
        :   El CRN de la puerta de enlace VPE del clúster de destino.
    
        `--name`
        :   Un nombre para tu pasarela VPE.
    
        `SOURCE_ACCOUNT_RESOURCE_GROUP`
        :   El nombre del grupo de recursos en la cuenta de origen.
    
    1. Si aparece un error `Could not find service`, comprueba que el CRN de destino sea correcto. Si es correcto, debe crear la autorización en la cuenta de destino. Consulte [Creación de la autorización de servicio para VPE entre cuentas en la consola](/docs/vpc?topic=vpc-ordering-cross-account-endpoint-gateway&interface=ui#cross-account-vpe-prerequisite-console).
    
    
  3. Añade IPs reservadas a tu pasarela VPE.

    Debes añadir al menos una dirección IP reservada. Las IP reservadas proceden de las subredes de la VPC de origen (una por zona como máximo) y se añaden a las entradas DNS privadas de la VPC de origen.

    1. Cree una IP reservada para cada zona.
        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. Opcional: Añadir o modificar grupos de seguridad. Por defecto, sólo se adjunta el grupo de seguridad predeterminado para la VPC de origen. Para las pasarelas VPE, los grupos de seguridad sólo protegen el tráfico de entrada. Asegúrese de que los grupos de seguridad permiten todo el tráfico entrante necesario de los clientes.
    
    
  4. Pruebe la conexión.

    1. Desde una VSI en la VPC de origen, utilice el mismo nombre de host que el gateway VPE original. Encuéntrelo en la lista de puntos finales de servicio o en la propiedad VPE Gateway de ibmcloud ks cluster get -c CLUSTER_NAME.

    2. Comprueba que la conexión funciona.

        curl -k https://CLUSTERID...:XXXXX/version
        ```
    1. Si la conexión falla, compruebe lo siguiente:
    
        * Los grupos de seguridad de la pasarela VSI y VPE permiten el tráfico necesario
        * VPC ACL permite el tráfico
        * Las reglas de restricción basada en el contexto (CBR) del clúster de destino permiten el tráfico privado procedente de la VPC de origen (añade los tres `Cloud Service Endpoint source addresses` de tu VPC de origen a la regla CBR privada)
    
    
    

Ejemplo: Comandos cuenta de destino

El siguiente ejemplo muestra comandos ejecutados en la cuenta de destino para recopilar información sobre el clúster y su gateway VPE.

  1. Compruebe que se dirige a la cuenta correcta.

    ibmcloud target
    

    Salida de ejemplo

    API endpoint:     https://cloud.ibm.com
    Region:           us-east
    User:             user2@example.com
    Account:          Target Account (9f8e7d6c5b4a321fedcba98765432222) <-> 2222222
    Resource group:   default
    
  2. Enumera tus agrupaciones.

    ibmcloud ks clusters
    

    Salida de ejemplo

    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. Obtén los detalles de la pasarela VPE. Tenga en cuenta la CRN de destino y los puntos finales de servicio.

    ibmcloud is endpoint-gateway iks-c8m5n3p2q4x6z1w7y077
    

    Salida de ejemplo

    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. Opcional: Obtenga los detalles del clúster para ver la puerta de enlace VPE URL.

    ibmcloud ks cluster get -c c8m5n3p2q4x6z1w7y077
    

    Salida de ejemplo

    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
    

Ejemplo: Comandos la cuenta de origen

El siguiente ejemplo muestra comandos ejecutados en la cuenta de origen para crear un gateway VPE que se conecta al clúster en la cuenta de destino.

  1. Compruebe que está seleccionando la cuenta de origen correcta.

    ibmcloud target
    

    Salida de ejemplo

    API endpoint:     https://cloud.ibm.com
    Region:           us-south
    User:             user1@example.com
    Account:          Source Account (a1b2c3d4e5f6789abcdef01234561111) <-> 1111111
    Resource group:   Default
    
  2. Enumere sus VPC.

    ibmcloud is vpcs
    

    Salida de ejemplo

    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. Cree el gateway VPE utilizando el CRN de destino de la cuenta de destino.

    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
    

    Salida de ejemplo

    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. Enumera las subredes para identificar cual usar para IPs reservadas.

    ibmcloud is subnets --vpc network-fvt-us-south
    

    Salida de ejemplo

    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. Crea una IP reservada en la primera zona y adjúntala a la pasarela 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
    

    Salida de ejemplo

    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. Compruebe que se ha añadido la IP reservada.

    ibmcloud is eg new-iks-c8m5n3p2q4x6z1w7y077
    

    Salida de ejemplo

    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. Crea una IP reservada en la segunda zona y adjúntala a la pasarela 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
    

    Salida de ejemplo

    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. Crea una IP reservada en la tercera zona y adjúntala a la pasarela 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
    

    Salida de ejemplo

    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. Compruebe que se han añadido todas las IP reservadas.

    ibmcloud is eg new-iks-c8m5n3p2q4x6z1w7y077
    

    Salida de ejemplo

    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. Pruebe la conexión desde una VSI en la VPC de origen.

    curl -k https://c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com:31100/version
    

    Salida de ejemplo

    {
      "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. Compruebe que el nombre de host se resuelve a una IP reservada.

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

    Salida de ejemplo

    10.240.65.5