Acessando clusters

Depois que seu cluster do IBM Cloud® Kubernetes Service é criado, é possível começar a trabalhar com seu cluster acessando-o.

Pré-requisitos

  1. Instale as ferramentas da CLI necessárias, incluindo a CLI da IBM Cloud, plug-in Kubernetes Service (ibmcloud ks) e CLI do Kubernetes (kubectl). Para ter acesso rápido a recursos de teste no cluster, também é possível usar o IBM Cloud Shell.
  2. Crie seu cluster do IBM Cloud Kubernetes Service.
  3. Se a sua rede estiver protegida por um firewall da empresa, permita o acesso aos terminais e portas de API do IBM Cloud e do IBM Cloud Kubernetes Service. Para clusters apenas de terminais em serviço de nuvem privada, não será possível testar a conexão com o cluster até você configurar o acesso à sub-rede de terminais em serviço em nuvem.
  4. Verifique se o cluster está em um estado de funcionamento executando ibmcloud ks cluster get -c <cluster_name_or_ID>. Se seu cluster não estiver em um estado funcional, revise o guia Depurando clusters para obter ajuda. Por exemplo, se o seu cluster é provisionado em uma conta protegida por um dispositivo de gateway do firewall, deve-se definir suas configurações de firewall para permitir o tráfego de saída para as portas e os endereços IP apropriados.
  5. Na saída dos detalhes do cluster da etapa anterior, verifique a URL do Terminal de serviço privado ou Público do cluster.
  6. Você também pode acessar o seu cluster VPC através do Virtual Private Endpoint.

Acessando clusters por meio do terminal em serviço de nuvem pública

Para trabalhar com seu cluster, configure o cluster que você criou como o contexto para uma sessão CLI para executar comandos kubectl.

Se você desejar usar o console do IBM Cloud, será possível executar comandos da CLI diretamente de seu navegador da web no IBM Cloud Shell.

  1. Configure o cluster que você criou como o contexto para essa sessão. Conclua estas etapas de configuração toda vez que você trabalhar com o seu cluster.
    1. Faça download e inclua o arquivo de configuração kubeconfig para o seu cluster em seu kubeconfig existente em ~/.kube/config ou no último arquivo na variável de ambiente KUBECONFIG.
        ibmcloud ks cluster config -c CLUSTER_NAME_OR_ID
        ```
    2. Verifique se os comandos do `kubectl` são executados adequadamente e se o contexto do Kubernetes está configurado para o seu cluster.
    ```sh {: pre}
        kubectl config current-context
        ```
        Exemplo de saída
        ```sh {: screen}
        <cluster_name>/<cluster_ID>
        ```
    
  2. Ative seu painel do Kubernetes com a porta padrão 8001.
    1. Configure o proxy com o número da porta padrão.
        kubectl proxy
        ```
        ```sh {: screen}
        Starting to serve on 127.0.0.1:8001
        ```
    2. Abra a URL a seguir em um navegador da web para ver o painel do Kubernetes.
    ```sh {: codeblock}
        http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
        ```
    
    
    

Acessando clusters por meio do terminal em serviço de nuvem privada

Permitir que usuários de cluster autorizados acessem seu cluster VPC ou clássico por meio do terminal em serviço de nuvem privada.

Acessando clusters de VPC por meio do terminal de serviço privado

Todos os clusters de VPC têm um ponto de extremidade de serviço privado que pode ser acessado por usuários autorizados. Como ele só está disponível na rede privada, os usuários devem acessá-lo de uma das seguintes maneiras:

  1. Para regiões diferentes de ca-mon, in-che e in-mum, o ponto de extremidade de serviço privado para clusters de VPC pode ser acessado de qualquer lugar dentro de IBM Cloud ou de um cliente que esteja usando uma VPN (ou similar) para se conectar a IBM Cloud.

    Você pode se conectar via VPN em IBM Cloud usando uma das seguintes opções:

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

    : Opção mais comum para acesso ao cluster e bastante simples de configurar. Para obter dicas de configuração, consulte Acesso a clusters VPC por meio do Virtual Private Endpoint Gateway.

    VPN de site para site : Sua configuração é mais complexa, mas tem recursos adicionais que podem ser úteis.

    Esses clusters podem ser acessados por meio do endpoint de serviço privado URL para o cluster que se parece com c<XXX>.private.<REGION>.containers.cloud.ibm.com:XXXXX. Use esse comando para obter um arquivo kubeconfig que use esse endpoint privado:

    Em seguida, você pode fazer login no cluster usando uma das várias opções mostradas abaixo. Depois de fazer isso, você pode verificar essa conexão usando algo como ibmcloud ks get nodes

    • Efetuar login como administrador:

      1. Certifique-se de que você possui a função de acesso “Administrador” à plataforma para o cluster.
      2. Faça o download do kubeconfig para o administrador.
        ibmcloud ks cluster config -c CLUSTER_NAME_OR_ID --admin --endpoint private
        
    • Faça login como usuário:

      1. Baixe o arquivo kubeconfig do usuário com o qual você está conectado.
        ibmcloud ks cluster config -c CLUSTER_NAME_OR_ID --endpoint private
        
  2. O ponto de extremidade de serviço privado para todos os clusters de VPC, em todas as regiões, pode ser acessado por meio do gateway de ponto de extremidade privado virtual (VPE) específico do cluster. Um Gateway VPE só está disponível dentro da VPC em que foi criado ou por meio de uma VPN (ou similar) para essa VPC específica. Há duas opções principais para se conectar a um cluster dessa forma:

    • Um Gateway VPE para o cluster é criado automaticamente na VPC em que o cluster foi criado. Portanto, uma opção é conectar-se a partir de um sistema dentro dessa VPC ou de um sistema que tenha uma conexão VPN (ou similar) com essa VPC.
    • Se quiser se conectar de uma VPC diferente (talvez até mesmo uma VPC em uma região diferente ou em uma conta diferente), você poderá criar um novo gateway VPE nessa outra VPC. Então, a partir dessa outra VPC (inclusive se você estiver conectado por VPN a essa outra VPC), você poderá acessar o mestre do cluster por meio desse novo gateway VPE. As etapas para fazer isso estão na seção Criação de gateways de ponto de extremidade privado virtual adicionais em outras VPCs e contas abaixo.
    • Mais informações sobre essa opção, incluindo como obter um arquivo kubeconfig e dicas sobre como configurar uma VPN, estão na seção Acessar clusters de VPC por meio do Virtual Private Endpoint Gateway abaixo.

Acessando clusters clássicos por meio do terminal em serviço de nuvem privada

O mestre do Kubernetes será acessível por meio do terminal em serviço de nuvem privada se os usuários de cluster autorizados estiverem na rede privada da IBM Cloud ou conectados à rede privada, por exemplo, por meio de uma conexão VPN clássica ou do IBM Cloud Direct Link. No entanto, a comunicação com o mestre do Kubernetes pelo terminal em serviço de nuvem privada deve passar pelo intervalo de endereço IP 166.X.X.X, que não é roteável por meio de uma conexão VPN clássica ou por meio do IBM Cloud Direct Link. É possível expor o terminal em serviço de nuvem privada do principal para os usuários de cluster usando um balanceador de carga de rede (NLB) privado. O NLB privado expõe o terminal em serviço de nuvem privada do principal como um intervalo de endereço IP interno 10.X.X.X que os usuários podem acessar com a conexão VPN ou do IBM Cloud Direct Link. Se você ativar somente o terminal em serviço de nuvem privada, será possível usar o painel do Kubernetes ou ativar temporariamente o terminal em serviço de nuvem pública para criar o NLB privado.

  1. Obtenha a URL e a porta do terminal em serviço de nuvem privada para seu cluster.

    ibmcloud ks cluster get -c <cluster_name_or_ID>
    

    Nesta saída de exemplo, a URL do terminal em serviço privado é 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. Crie um arquivo YAML chamado kube-api-via-nlb.yaml. Esse YAML cria um serviço privado LoadBalancer e expõe o terminal em serviço de nuvem privada por meio desse NLB. Substitua <private_service_endpoint_port> pela porta localizada na etapa 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 criar o NLB privado, deve-se estar conectado ao cluster principal. Como ainda não é possível se conectar por meio do terminal em serviço de nuvem privada de uma VPN ou do IBM Cloud Direct Link, você deve se conectar ao cluster mestre e criar o NLB usando o terminal em serviço em nuvem pública ou painel do Kubernetes.

    • Se você ativou somente o terminal em serviço de nuvem privada, será possível usar o painel do Kubernetes para criar o NLB. O painel roteia automaticamente todas as solicitações para o terminal em serviço de nuvem privada do principal.

      1. Na página “Clusters”, clique no cluster ao qual deseja acessar.
      2. Na página de detalhes do cluster, clique no Painel do Kubernetes.
      3. Clique em + Criar.
      4. Selecione Criar por meio do arquivo, faça upload do arquivo kube-api-via-nlb.yaml e clique em Upload.
      5. Na página Visão geral, verifique se o serviço kube-api-via-nlb é criado. Na coluna Terminais externos, anote o endereço 10.x.x.x. Este endereço IP expõe o terminal em serviço de nuvem privada para o mestre do Kubernetes na porta especificada no arquivo YAML.
    • Se você também ativou o terminal em serviço de nuvem pública, já tem acesso ao principal.

      1. Faça download e inclua o arquivo de configuração kubeconfig para o seu cluster em seu kubeconfig existente em ~/.kube/config ou no último arquivo na variável de ambiente KUBECONFIG.
        ibmcloud ks cluster config -c <cluster_name_or_ID>
        
      2. Crie o NLB e o terminal.
        kubectl apply -f kube-api-via-nlb.yaml
        
      3. Verifique se o NLB kube-api-via-nlb é criado. Na saída, observe o endereço IP externo 10.x.x.x. Este endereço IP expõe o terminal em serviço de nuvem privada para o mestre do Kubernetes na porta especificada no arquivo YAML.
        kubectl get svc -o wide
        
        Nesta saída de exemplo, o endereço IP para o terminal em serviço de nuvem privada do principal do Kubernetes é 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. Nas máquinas do cliente nas quais você ou os seus usuários executam comandos kubectl, inclua o endereço IP do NLB e a URL do terminal em serviço de nuvem privada no arquivo /etc/hosts. Não inclua nenhuma porta no endereço IP e URL e não inclua https:// na URL.

    • Para usuários do macOS e Linux:
        sudo nano /etc/hosts
        ```
    * Para usuários do Windows:
    
    ```sh {: pre}
        notepad C:\Windows\System32\drivers\etc\hosts
        ```
        Dependendo de suas permissões de máquina local, talvez seja necessário executar o Notepad como um administrador para editar o arquivo de hosts.
    
        ```sh {: codeblock}
        10.186.92.42  c1.private.us-east.containers.cloud.ibm.com
        ```
    
  5. Verifique se você está conectado à rede privada por meio de uma conexão de VPN ou do IBM Cloud Direct Link.

  6. Faça download e inclua o arquivo de configuração kubeconfig para o seu cluster em seu kubeconfig existente em ~/.kube/config ou no último arquivo na variável de ambiente KUBECONFIG.

    ibmcloud ks cluster config -c <cluster_name_or_ID> --endpoint private
    
  7. Verifique se os comandos do kubectl são executados adequadamente e se o contexto do Kubernetes está configurado para o seu cluster.

    kubectl config current-context
    

    Exemplo de saída

    <cluster_name>/<cluster_ID>
    

Acessando clusters VPC através do Virtual Private Endpoint Gateway

Gateway de Terminal Privado Virtual é criado para clusters VPC automaticamente. O mestre Kubernetes pode ser acessado por meio deste gateway de ponto de extremidade privado virtual (Virtual Private Endpoint) se os usuários autorizados do cluster estiverem conectados ao mesmo VPC onde o cluster está implantado, como por meio de uma VPN de ponto a ponto ( IBM Cloud VPC ). Nesse caso, o kubeconfig é configurado com o Virtual Private Endpoint (VPE) URL, que é um nome DNS privado e só pode ser resolvido pelo serviço DNS privado IBM Cloud VPC. Os endereços do servidor DNS privado IBM Cloud VPC são 161.26.0.7 e 161.26.0.8.

  1. Configure o seu IBM Cloud VPC VPN e conecte-se ao seu VPC através de VPN.

    1. Configure um client-to-site ou site-to-site VPN para o seu VPC. Por exemplo, você pode optar por configurar uma conexão de cliente para site com um Cliente VPN.
    2. Em caso de cliente-para-site VPN para o serviço IBM Cloud VPC, você deve especificar os endereços de serviço DNS do IBM Cloud VPC quando você provisionar o servidor VPN como mencionado nas considerações, e deve-se criar uma rota VPN após o servidor VPN ser provisionado, com destino 161.26.0.0/16 e ação translate.
    3. No caso de VPN site a site para o serviço IBM Cloud VPC, siga o Acessando terminais de serviço por meio do guia VPN e configure os endereços de serviço DNS privados do IBM Cloud VPC.
    4. Verifique se você está conectado à VPC por meio da sua conexão VPN do IBM Cloud VPC.
  2. Faça download e inclua o arquivo de configuração kubeconfig para o seu cluster em seu kubeconfig existente em ~/.kube/config ou no último arquivo na variável de ambiente KUBECONFIG.

    O sinalizador --endpoint vpe garante que o <CLUSTERID>.private.<REGION>.containers.cloud.ibm.com:XXXXX URL seja usado no arquivo kubeconfig.

    ibmcloud ks cluster config -c <cluster_name_or_ID> --endpoint vpe
    
  3. 1.30 e mais recente Inclua uma regra de grupo de segurança no kube-vpegw-<clusterID> para sua VPN O recurso remoto neste exemplo vem do CIDR IP do cliente da VPN. É possível localizar sua porta do VPE executando 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 se o contexto do Kubernetes está configurado para o seu cluster.

    kubectl config current-context
    

    Exemplo de saída

    <cluster_name>/<cluster_ID>
    
    kubectl version
    

    Exemplo de saída

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

Proteção de clusters usando restrições baseadas em contexto

As listas de permissão de ponto de extremidade de serviço privado não são mais suportadas. Migrar de listas de permissão de endpoints de serviços privados para restrições baseadas em contexto o mais rápido possível. Para obter etapas específicas de migração, consulte Migração de uma lista de permissões de ponto de extremidade de serviço privado para restrições baseadas em contexto(CBR).

Controle o acesso aos seus endpoints de serviços públicos e privados usando regras de restrição baseadas em contexto (CBR).

Depois de conceder aos usuários acesso ao cluster por meio do IBM Cloud IAM, é possível adicionar uma camada secundária de segurança criando regras de CBR para o endpoint de serviço público e privado do cluster. Somente serão permitidas solicitações autorizadas ao mestre do cluster originadas de sub-redes nas regras de CBR.

Se você quiser permitir solicitações provenientes de uma VPC diferente daquela em que seu cluster está localizado, é necessário incluir o endereço IP do endpoint do serviço em nuvem dessa VPC nas regras de CBR.

Por exemplo, para acessar o terminal em serviço de nuvem privada de seu cluster, deve-se conectar à rede clássica da IBM Cloud ou à rede VPC por meio de uma VPN ou do IBM Cloud Direct Link. Você pode especificar apenas a sub-rede para o túnel VPN ou do tipo “ Direct Link ” em suas regras de CBR, de modo que apenas usuários autorizados da sua organização possam acessar o endpoint do serviço de nuvem privada a partir dessa sub-rede.

As regras de CBR público (se o seu cluster tiver um endpoint de serviço público) também podem ajudar a impedir que os usuários acessem o cluster depois que a autorização for revogada. Quando um usuário deixa a sua organização, você remove suas permissões do IBM Cloud IAM que concedem acesso a ele ao cluster. No entanto, o usuário pode ter copiado o arquivo admin kubeconfig de um cluster, dando-lhe acesso a esse cluster. Se você tiver uma regra pública de CBR que permita apenas o acesso aos mestres de cluster a partir de sub-redes públicas conhecidas de propriedade da sua organização, a tentativa de acesso do usuário a partir de outro endereço IP público será bloqueada.

As sub-redes de nós de trabalho são automaticamente adicionadas e removidas da implementação de CBR de backend (mas não das regras/zonas de CBR), de modo que os nós de trabalho sempre possam acessar o mestre do cluster e os usuários não precisem adicioná-las especificamente às suas próprias regras de CBR.

Para saber mais sobre como proteger seu cluster com regras de CBR, consulte Proteção de recursos de cluster com restrições baseadas em contexto e Exemplo de cenários de restrições baseadas em contexto

Criação de gateways adicionais de Virtual Private Endpoint em outras VPCs e contas

Além do gateway de VPE criado para um cluster em sua VPC, você pode criar gateways de VPE adicionais para esse cluster a fim de permitir o acesso pela rede privada de outras VPCs, regiões e contas.

  • Gateways VPE adicionais devem ser criados usando a CLI ou a API. Após a criação, eles podem ser gerenciados na interface do usuário da Web.

  • Para gateways VPE entre contas, você deve primeiro criar uma autorização na conta de destino. Para obter mais informações, consulte Criação de autorização de serviço para VPE entre contas no console.

  • Não é necessário nenhum gateway de trânsito ou roteamento especial. O gateway VPE lida com o roteamento para o cluster de destino.

As etapas a seguir mostram como criar um gateway VPE entre contas.

  1. Obtenha as informações necessárias do cluster de destino.

    1. Defina ibmcloud target para a conta, a região e o grupo de recursos de destino.

    2. Obter as informações do gateway VPE existente.

        ibmcloud is endpoint-gateway iks-TARGET_CLUSTER_ID
        ```
    1. Anote o **CRN de destino** (formato: `crn:v1:bluemix:public:containers-kubernetes:REGION:a/TARGET_ACCOUNT:TARGET_CLUSTER_ID::`).
    
    1. Observe os nomes de host **dos Service Endpoints**.
    
    
  2. Crie o novo gateway VPE na conta de origem.

    1. Defina ibmcloud target para a conta de origem, a região e o grupo de recursos.

    2. Verifique se a VPC existe nessa conta.

        ibmcloud is vpcs
        ```
    1. Crie o gateway 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`
        :   O nome da VPC da etapa anterior.
    
        `TARGET_CRN`
        :   O CRN do gateway VPE do cluster de destino.
    
        `--name`
        :   Um nome para seu gateway VPE.
    
        `SOURCE_ACCOUNT_RESOURCE_GROUP`
        :   O nome do grupo de recursos na conta de origem.
    
    1. Se você receber a mensagem de erro “ `Could not find service` ”, verifique se o CRN de destino está correto. Se estiver correto, você precisará criar a autorização na conta de destino. Consulte [“Criação de autorização de serviço para VPE entre contas” no console](/docs/vpc?topic=vpc-ordering-cross-account-endpoint-gateway&interface=ui#cross-account-vpe-prerequisite-console).
    
    
  3. Adicione IPs reservados ao seu gateway VPE.

    É necessário adicionar pelo menos um endereço IP reservado. Os IPs reservados vêm das sub-redes da VPC de origem (no máximo um por zona) e são adicionados às entradas de DNS privado da VPC de origem.

    1. Crie um IP reservado 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: Adicionar ou modificar grupos de segurança. Por padrão, apenas o grupo de segurança padrão da VPC de origem é anexado. Para gateways VPE, os grupos de segurança protegem apenas o tráfego de entrada. Certifique-se de que os grupos de segurança permitam todo o tráfego de entrada necessário dos clientes.
    
    
  4. Teste a conexão.

    1. Em um VSI na VPC de origem, use o mesmo nome de host que o gateway VPE original. Localize-o na lista de Service Endpoints ou na propriedade VPE Gateway em ibmcloud ks cluster get -c CLUSTER_NAME.

    2. Verifique se a conexão funciona.

        curl -k https://CLUSTERID...:XXXXX/version
        ```
    1. Se a conexão falhar, verifique o seguinte:
    
        * Os grupos de segurança no gateway VSI e VPE permitem o tráfego necessário
        * A VPC ACL permite o tráfego
        * As regras de Restrição Baseada no Contexto (CBR) no cluster de destino permitem o tráfego privado proveniente da VPC de origem (adicione os três endereços `Cloud Service Endpoint source addresses` da sua VPC de origem à regra CBR privada)
    
    
    

Exemplo: Comandos da conta de destino

O exemplo a seguir mostra comandos executados na conta de destino para coletar informações sobre o cluster e seu gateway VPE.

  1. Verifique se você está direcionando a conta correta.

    ibmcloud target
    

    Exemplo de saída

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

    ibmcloud ks clusters
    

    Exemplo de saída

    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. Obtenha os detalhes do gateway VPE. Observe o CRN de destino e os pontos de extremidade do serviço.

    ibmcloud is endpoint-gateway iks-c8m5n3p2q4x6z1w7y077
    

    Exemplo de saída

    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: Obtenha os detalhes do cluster para ver o gateway VPE URL.

    ibmcloud ks cluster get -c c8m5n3p2q4x6z1w7y077
    

    Exemplo de saída

    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
    

Exemplo: Comandos da conta de origem

O exemplo a seguir mostra comandos executados na conta de origem para criar um gateway VPE que se conecta ao cluster na conta de destino.

  1. Verifique se você está direcionando a conta de origem correta.

    ibmcloud target
    

    Exemplo de saída

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

    ibmcloud is vpcs
    

    Exemplo de saída

    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. Crie o gateway VPE usando o CRN de destino da conta 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
    

    Exemplo de saída

    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. Liste as sub-redes para identificar quais usar para IPs reservados.

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

    Exemplo de saída

    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. Crie um IP reservado na primeira zona e anexe-o ao gateway 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
    

    Exemplo de saída

    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. Verifique se o IP reservado foi adicionado.

    ibmcloud is eg new-iks-c8m5n3p2q4x6z1w7y077
    

    Exemplo de saída

    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. Crie um IP reservado na segunda zona e anexe-o ao gateway 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
    

    Exemplo de saída

    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. Crie um IP reservado na terceira zona e anexe-o ao gateway 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
    

    Exemplo de saída

    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. Verifique se todos os IPs reservados foram adicionados.

    ibmcloud is eg new-iks-c8m5n3p2q4x6z1w7y077
    

    Exemplo de saída

    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. Teste a conexão de um VSI na VPC de origem.

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

    Exemplo de saída

    {
      "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. Verifique se o nome do host está resolvido para um IP reservado.

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

    Exemplo de saída

    10.240.65.5