Accès aux clusters

Une fois que vous avez créé votre cluster IBM Cloud® Kubernetes Service, vous pouvez commencer à le gérer en y accédant.

Prérequis

  1. Installation des outils CLI requis, y compris de l'interface CLI IBM Cloud, du plug-in Kubernetes Service (ibmcloud ks) et de l'interface CLI Kubernetes (kubectl). Pour accéder rapidement aux fonctions de test de votre cluster, vous pouvez également utiliser IBM Cloud Shell.
  2. Créez votre cluster IBM Cloud Kubernetes Service.
  3. Si votre réseau est protégé par un pare-feu d'entreprise, autorisez l'accès aux noeuds finaux d'API et aux ports IBM Cloud et IBM Cloud Kubernetes Service. Pour les clusters de noeud final de service de cloud privé, vous ne pouvez pas tester la connexion à votre cluster tant que vous n'avez pas configuré l'accès au sous-réseau du noeud final de service de cloud.
  4. Vérifiez que votre cluster est sain en exécutant ibmcloud ks cluster get -c <cluster_name_or_ID>. Si votre cluster n'est pas dans un état sain, consultez le guide Débogage des clusters pour obtenir de l'aide. Par exemple, si votre cluster est mis à disposition dans un compte qui est protégé par un dispositif de passerelle de pare-feu, vous devez configurer vos paramètres de pare-feu pour autoriser le trafic sortant vers les ports et les adresses IP appropriés.
  5. Dans la sortie des détails du cluster obtenue à partir de l'étape précédente, vérifiez l'URL Public ou Noeud final de service privé du cluster.
  6. Vous pouvez également accéder à votre cluster de VPC via le noeud final privé virtuel.

Accès aux clusters via le noeud final de service cloud public

Pour gérer votre cluster, définissez le cluster que vous avez créé en tant que contexte pour une session CLI afin d'exécuter des commandes kubectl.

Si vous souhaitez utiliser la console IBM Cloud à la place, vous pouvez exécuter des commandes CLI directement depuis votre navigateur Web dans IBM Cloud Shell.

  1. Définissez le cluster que vous avez créé comme contexte de cette session. Effectuez ces étapes de configuration à chaque fois que vous utilisez votre cluster.
    1. Téléchargez et ajoutez le fichier de configuration kubeconfig pour votre cluster à votre kubeconfig existant dans ~/.kube/config ou le dernier fichier dans la variable d'environnement KUBECONFIG.
        ibmcloud ks cluster config -c CLUSTER_NAME_OR_ID
        ```
    2. Vérifiez que les commandes `kubectl` s'exécutent correctement et que le contexte Kubernetes est défini sur votre cluster.
    ```sh {: pre}
        kubectl config current-context
        ```
        Exemple de sortie
        ```sh {: screen}
        <cluster_name>/<cluster_ID>
        ```
    
  2. Lancez le tableau de bord Kubernetes via le port par défaut 8001.
    1. Affectez le numéro de port par défaut au proxy.
        kubectl proxy
        ```
        ```sh {: screen}
        Starting to serve on 127.0.0.1:8001
        ```
    2. Ouvrez l'URL suivante dans un navigateur Web pour accéder au tableau de bord Kubernetes.
    ```sh {: codeblock}
        http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
        ```
    
    
    

Accès aux clusters via le noeud final de service cloud privé

Permettez aux utilisateurs autorisés du cluster d'accéder à votre cluster VPC ou classique via le noeud final de service de cloud privé.

Accès aux clusters de VPC via le noeud final de service privé

Tous les clusters VPC disposent d'un point de service privé auquel les utilisateurs autorisés peuvent accéder. Comme il n'est disponible que sur le réseau privé, les utilisateurs doivent y accéder de l'une des manières suivantes :

  1. Pour les régions autres que ca-mon, in-che et in-mum, le point de terminaison du service privé pour les clusters VPC est accessible depuis n'importe quel endroit à l'intérieur de IBM Cloud, ou depuis un client qui utilise un VPN (ou similaire) pour se connecter à IBM Cloud.

    Vous pouvez vous connecter via VPN à IBM Cloud en utilisant l'une des options suivantes :

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

    : Option la plus courante pour l'accès aux clusters, et assez simple à mettre en place. Pour des conseils de configuration, voir Accéder aux clusters VPC via la passerelle de points d'extrémité privés virtuels(Virtual Private Endpoint Gateway ).

    VPN de site à site : Cette option est plus complexe à mettre en place, mais elle offre des fonctionnalités supplémentaires qui peuvent s'avérer utiles.

    Ces clusters sont accessibles via le point de terminaison du service privé URL pour le cluster qui ressemble à c<XXX>.private.<REGION>.containers.cloud.ibm.com:XXXXX. Utilisez cette commande pour obtenir un fichier kubeconfig qui utilise ce point de terminaison privé :

    Vous pouvez ensuite vous connecter au cluster en utilisant l'une des options ci-dessous. Une fois que vous l'avez fait, vous pouvez vérifier cette connexion en utilisant quelque chose comme ibmcloud ks get nodes

    • Connexion en tant qu'administrateur :

      1. Assurez-vous de disposer du rôle d'accès Administrateur à la plateforme pour le cluster.
      2. Télécharger le kubeconfig pour l'administrateur.
        ibmcloud ks cluster config -c CLUSTER_NAME_OR_ID --admin --endpoint private
        
    • Se connecter en tant qu'utilisateur:

      1. Téléchargez le fichier kubeconfig correspondant à l'utilisateur sous lequel vous êtes connecté.
        ibmcloud ks cluster config -c CLUSTER_NAME_OR_ID --endpoint private
        
  2. Le point de terminaison du service privé pour tous les clusters VPC, dans toutes les régions, est accessible via la passerelle Virtual Private Endpoint (VPE) spécifique à ce cluster. Une passerelle VPE n'est disponible qu'à l'intérieur du VPC dans lequel elle a été créée ou par l'intermédiaire d'un VPN (ou similaire) dans ce VPC spécifique. Il existe deux options principales pour se connecter à un cluster de cette manière :

    • Une passerelle VPE pour le cluster est automatiquement créée dans le VPC dans lequel le cluster a été créé. Une option consiste donc à se connecter à partir d'un système à l'intérieur de ce VPC, ou à partir d'un système disposant d'une connexion VPN (ou similaire) à ce VPC.
    • Si vous souhaitez vous connecter à partir d'un autre VPC (peut-être même un VPC dans une autre région ou un autre compte), vous pouvez créer une nouvelle passerelle VPE dans cet autre VPC. Ensuite, à partir de cet autre VPC (y compris si vous avez un VPN dans cet autre VPC), vous pouvez accéder au maître du cluster via cette nouvelle passerelle VPE. La marche à suivre est décrite dans la section Création de passerelles d'extrémité privées virtuelles supplémentaires dans d'autres VPC et comptes ci-dessous.
    • Vous trouverez plus d'informations sur cette option, notamment sur la manière d'obtenir un fichier kubeconfig et des conseils sur la configuration d'un VPN, dans la section Accès aux clusters VPC via la passerelle de point de terminaison privé virtuel(Virtual Private Endpoint Gateway ) ci-dessous.

Accès aux clusters classiques via le noeud final de service cloud privé

Le maître Kubernetes est accessible via le noeud final de service cloud privé si les utilisateurs de cluster autorisés se trouvent dans votre réseau privé IBM Cloud ou sont connectés au réseau privé, par exemple, via une connexion VPN classique ou IBM Cloud Direct Link. Toutefois, la communication avec le maître Kubernetes via le noeud final de service cloud privé doit passer par la plage d'adresses IP 166.X.X.X, qui n'est pas routable à partir d'une connexion VPN classique, ou par IBM Cloud Direct Link. Vous pouvez exposer le noeud final de service cloud privé du maître pour vos utilisateurs de cluster en utilisant un équilibreur de charge de réseau (NLB) privé. L'équilibreur de charge de réseau privé expose le noeud final de service cloud privé du maître en tant que plage d'adresses IP 10.X.X.X interne auxquelles les utilisateurs peuvent accéder à l'aide de la connexion VPN ou IBM Cloud Direct Link. Si vous activez uniquement le noeud final de service cloud privé, vous pouvez utiliser le tableau de bord Kubernetes ou activer temporairement le noeud final de service cloud public pour créer l'équilibreur de charge de réseau privé.

  1. Obtenez l'URL et le port de noeud final de service cloud privé pour votre cluster.

    ibmcloud ks cluster get -c <cluster_name_or_ID>
    

    Dans cet exemple de sortie, l'URL de noeud final de service privé est 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. Créez le fichier YAML kube-api-via-nlb.yaml. Ce fichier YAML crée un service LoadBalancer privé et exposé le noeud final de service cloud privé via cet équilibreur de charge de réseau. Remplacez <private_service_endpoint_port> par le port que vous avez trouvé à l'étape précédente.

    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. Pour créer le NLB privé, vous devez être connecté au maître cluster. Comme vous ne pouvez pas encore vous connecter via le noeud final de service de cloud privé à partir d'un VPN ou de IBM Cloud Direct Link, vous devez vous connecter au maître cluster et créer le NLB à l'aide du noeud final de service de cloud public ou du tableau de bord Kubernetes.

    • Si vous avez activé le noeud final de service cloud privé uniquement, vous pouvez utiliser le tableau de bord Kubernetes pour créer le NLB. Le tableau de bord achemine automatiquement toutes les demandes vers le noeud final de service cloud privé du maître.

      1. Sur la page Clusters, cliquez sur le cluster auquel vous souhaitez accéder.
      2. Sur la page des détails du cluster, cliquez sur Tableau de bord Kubernetes.
      3. Cliquez sur + Créer.
      4. Sélectionnez Créer à partir d'un fichier, téléchargez le fichier kube-api-via-nlb.yaml, puis cliquez sur Télécharger.
      5. Sur la page Présentation, vérifiez que le service kube-api-via-nlb est créé. Dans la colonne Noeuds finaux externes, notez l'adresse 10.x.x.x. Cette adresse IP expose le noeud final de service cloud privé pour le maître Kubernetes sur le port que vous avez spécifié dans votre fichier YAML.
    • Si vous avez également activé le noeud final de service cloud public, vous avez déjà accès au maître.

      1. Téléchargez et ajoutez le fichier de configuration kubeconfig pour votre cluster à votre kubeconfig existant dans ~/.kube/config ou le dernier fichier dans la variable d'environnement KUBECONFIG.
        ibmcloud ks cluster config -c <cluster_name_or_ID>
        
      2. Créez le NLB et le noeud final.
        kubectl apply -f kube-api-via-nlb.yaml
        
      3. Vérifiez que le NLB kube-api-via-nlb est créé. Dans le résultat, notez l'adresse 10.x.x.xEXTERNAL-IP. Cette adresse IP expose le noeud final de service cloud privé pour le maître Kubernetes sur le port que vous avez spécifié dans votre fichier YAML.
        kubectl get svc -o wide
        
        Dans cet exemple de sortie, l'adresse IP du noeud final de service cloud privé du maître Kubernetes est 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. Sur les machines client où vous et vos utilisateurs exécutent des commandes kubectl, ajoutez l'adresse IP NLB et l'URL de noeud final de service cloud privé au fichier /etc/hosts. N'incluez aucun port dans l'adresse IP et l'URL et n'incluez pas https:// dans l'URL.

    • Pour les utilisateurs macOS et Linux :
        sudo nano /etc/hosts
        ```
    * Pour les utilisateurs Windows :
    
    ```sh {: pre}
        notepad C:\Windows\System32\drivers\etc\hosts
        ```
        En fonction des droits de votre machine locale, vous devrez peut-être exécuter Notepad en tant qu'administrateur pour éditer le fichier hosts.
    
        ```sh {: codeblock}
        10.186.92.42  c1.private.us-east.containers.cloud.ibm.com
        ```
    
  5. Vérifiez que vous êtes connecté au réseau privé via une connexion VPN ou IBM Cloud Direct Link.

  6. Téléchargez et ajoutez le fichier de configuration kubeconfig pour votre cluster à votre kubeconfig existant dans ~/.kube/config ou le dernier fichier dans la variable d'environnement KUBECONFIG.

    ibmcloud ks cluster config -c <cluster_name_or_ID> --endpoint private
    
  7. Vérifiez que les commandes kubectl s'exécutent correctement et que le contexte Kubernetes est défini sur votre cluster.

    kubectl config current-context
    

    Exemple de sortie

    <cluster_name>/<cluster_ID>
    

Accès aux clusters de VPC via la passerelle de noeud final privé virtuel

Virtual Private Endpoint Gateway est créé automatiquement pour les clusters de VPC. Le maître Kubernetes est accessible via cette passerelle Virtual Private Endpoint si les utilisateurs autorisés du cluster sont connectés au même VPC que celui où le cluster est déployé, par exemple via un VPN IBM Cloud VPC. Dans ce cas, le kubeconfig est configuré avec l' URL Virtual Private Endpoint (VPE), qui est un nom DNS privé et qui ne peut être résolu que par le service DNS privé IBM Cloud VPC. Les adresses du serveur DNS privé de l' IBM Cloud VPC sont 161.26.0.7 et 161.26.0.8.

  1. Configurez votre VPN IBM Cloud VPC et connectez-vous à votre VPC via VPN.

    1. Configurez un VPN client-à-site ou site-à-site sur votre VPC. Par exemple, vous pouvez choisir de configurer une connexion client à site avec un client VPN.
    2. Dans le cas d'un VPN client-site pour le service IBM Cloud VPC, vous devez spécifier les adresses de service DNS privé IBM Cloud VPC lorsque vous mettez à disposition le serveur VPN comme indiqué dans les remarques, et vous devez créer une route VPN après la mise à disposition du serveur VPN, avec la destination 161.26.0.0/16 et l'action translate.
    3. Dans le cas d'un VPN de site à site pour le service IBM Cloud VPC, suivez le guide Accès aux noeuds finaux de service via le VPN et configurez les adresses de service DNS privé IBM Cloud VPC.
    4. Vérifiez que vous êtes connecté au VPC via votre connexion VPN IBM Cloud VPC.
  2. Téléchargez et ajoutez le fichier de configuration kubeconfig pour votre cluster à votre kubeconfig existant dans ~/.kube/config ou le dernier fichier dans la variable d'environnement KUBECONFIG.

    L'option --endpoint vpe garantit que l'option <CLUSTERID>.private.<REGION>.containers.cloud.ibm.com:XXXXX URL est utilisée dans le fichier kubeconfig.

    ibmcloud ks cluster config -c <cluster_name_or_ID> --endpoint vpe
    
  3. 1.30 et versions ultérieures Ajoutez une règle de groupe de sécurité à kube-vpegw-<clusterID> pour votre VPN. La ressource distante dans cet exemple provient du CIDR IP client du VPN. Vous pouvez trouver votre port VPE en exécutant 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. Vérifiez que le contexte Kubernetes est défini sur votre cluster.

    kubectl config current-context
    

    Exemple de sortie

    <cluster_name>/<cluster_ID>
    
    kubectl version
    

    Exemple de sortie

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

Protéger les clusters en utilisant des restrictions basées sur le contexte

Les listes d'autorisation des points d'extrémité des services privés ne sont plus prises en charge. Migrer dès que possible des listes d'autorisation des points de service privés vers des restrictions basées sur le contexte. Pour connaître les étapes spécifiques de la migration, voir Migration d'une liste d'autorisations de points d'extrémité de services privés vers des restrictions basées sur le contexte(CBR).

Contrôlez l'accès à vos points d'extrémité de services publics et privés à l'aide de règles de restriction basées sur le contexte (CBR).

Après avoir autorisé les utilisateurs à accéder à votre cluster via IBM Cloud IAM, vous pouvez ajouter une deuxième couche de sécurité en créant des règles CBR pour les points de terminaison des services publics et privés de votre cluster. Seules les demandes autorisées adressées au maître de la grappe et provenant de sous-réseaux figurant dans les règles CBR seront autorisées.

Si vous souhaitez autoriser les requêtes provenant d'un VPC différent de celui dans lequel se trouve votre cluster, vous devez inclure l'adresse IP du point de terminaison du service en nuage pour ce VPC dans les règles CBR.

Par exemple, pour accéder au noeud final de service cloud privé de votre cluster, vous devez vous connecter à votre réseau classique IBM Cloud ou à votre réseau VPC via un VPN ou IBM Cloud Direct Link. Vous pouvez spécifier uniquement le sous-réseau du tunnel VPN ou Direct Link dans vos règles CBR afin que seuls les utilisateurs autorisés de votre organisation puissent accéder au point de terminaison du service de cloud privé à partir de ce sous-réseau.

Les règles CBR publiques (si votre cluster dispose d'un point de terminaison de service public) peuvent également contribuer à empêcher les utilisateurs d'accéder à votre cluster après que leur autorisation a été révoquée. Lorsqu'un utilisateur quitte votre organisation, vous retirez ses droits IBM Cloud IAM qui lui permettent d'accéder au cluster. Cependant, l'utilisateur peut avoir copié le fichier admin kubeconfig pour une grappe, ce qui lui donne accès à cette grappe. Si vous disposez d'une règle CBR publique qui n'autorise l'accès à vos maîtres de cluster qu'à partir de sous-réseaux publics connus dont votre organisation est propriétaire, la tentative d'accès de l'utilisateur à partir d'une autre adresse IP publique sera bloquée.

Les sous-réseaux des nœuds de travail sont automatiquement ajoutés et supprimés de l'implémentation CBR du backend (mais pas des règles/zones CBR), de sorte que les nœuds de travail peuvent toujours accéder au maître du cluster et que les utilisateurs n'ont pas besoin de les ajouter spécifiquement à leurs propres règles CBR.

Pour en savoir plus sur la protection de votre cluster avec des règles CBR, voir Protection des ressources du cluster avec des restrictions basées sur le contexte et Exemple de scénarios de restrictions basées sur le contexte

Création de passerelles Virtual Private Endpoint supplémentaires dans d'autres VPC et comptes

En plus de la passerelle VPE créée pour une grappe dans son VPC, vous pouvez créer des passerelles VPE supplémentaires pour cette grappe afin de permettre l'accès au réseau privé à partir d'autres VPC, régions et comptes.

  • Les passerelles VPE supplémentaires doivent être créées à l'aide de la CLI ou de l'API. Après leur création, ils peuvent être gérés dans l'interface web.

  • Pour les passerelles VPE inter-comptes, vous devez d'abord créer une autorisation dans le compte cible. Pour plus d'informations, voir Création d'une autorisation de service pour la VPE inter-comptes dans la console.

  • Aucune passerelle de transit ou routage spécial n'est nécessaire. La passerelle VPE gère le routage vers le cluster cible.

Les étapes suivantes vous montrent comment créer une passerelle VPE inter-comptes.

  1. Obtenir les informations nécessaires auprès du cluster cible.

    1. Définissez ibmcloud target pour le compte, la région et le groupe de ressources cibles.

    2. Obtenir les informations sur la passerelle VPE existante.

        ibmcloud is endpoint-gateway iks-TARGET_CLUSTER_ID
        ```
    1. Notez le **CRN cible** (format : `crn:v1:bluemix:public:containers-kubernetes:REGION:a/TARGET_ACCOUNT:TARGET_CLUSTER_ID::`).
    
    1. Notez les noms d'hôtes des **points de service**.
    
    
  2. Créez la nouvelle passerelle VPE dans le compte source.

    1. Définir ibmcloud target pour le compte source, la région et le groupe de ressources.

    2. Vérifiez que le VPC existe dans ce compte.

        ibmcloud is vpcs
        ```
    1. Créez la passerelle 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`
        :   Le nom du VPC de l'étape précédente.
    
        `TARGET_CRN`
        :   Le CRN de la passerelle VPE du cluster cible.
    
        `--name`
        :   Nom de la passerelle VPE.
    
        `SOURCE_ACCOUNT_RESOURCE_GROUP`
        :   Le nom du groupe de ressources dans le compte source.
    
    1. Si vous obtenez une erreur `Could not find service`, vérifiez que le CRN cible est correct. Si c'est le cas, vous devez créer l'autorisation dans le compte cible. Voir [Création d'une autorisation de service pour un VPE inter-comptes dans la console](/docs/vpc?topic=vpc-ordering-cross-account-endpoint-gateway&interface=ui#cross-account-vpe-prerequisite-console).
    
    
  3. Ajoutez des IP réservées à votre passerelle VPE.

    Vous devez ajouter au moins une adresse IP réservée. Les IP réservées proviennent des sous-réseaux de votre VPC source (une par zone au maximum) et sont ajoutées aux entrées DNS privées du VPC source.

    1. Créer une IP réservée pour chaque zone.
        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. En option : Ajouter ou modifier des groupes de sécurité. Par défaut, seul le groupe de sécurité par défaut du VPC source est attaché. Pour les passerelles VPE, les groupes de sécurité ne protègent que le trafic entrant. Assurez-vous que les groupes de sécurité autorisent tout le trafic entrant nécessaire de la part des clients.
    
    
  4. Testez la connexion.

    1. À partir d'un VSI dans le VPC source, utilisez le même nom d'hôte que la passerelle VPE d'origine. Vous le trouverez dans la liste Service Endpoints ou dans la propriété VPE Gateway à l'adresse ibmcloud ks cluster get -c CLUSTER_NAME.

    2. Vérifiez que la connexion fonctionne.

        curl -k https://CLUSTERID...:XXXXX/version
        ```
    1. Si la connexion échoue, vérifiez les points suivants :
    
        * Les groupes de sécurité sur les passerelles VSI et VPE autorisent le trafic nécessaire
        * L'ACL VPC autorise le trafic
        * Les règles CBR (Context Based Restriction) sur le cluster cible autorisent le trafic privé provenant du VPC source (ajoutez les trois adresses de `Cloud Service Endpoint source addresses` votre VPC source à la règle CBR privée)
    
    
    

Exemple : Commandes de comptes cibles

L'exemple suivant présente les commandes exécutées dans le compte cible pour recueillir des informations sur le cluster et sa passerelle VPE.

  1. Vérifiez que vous ciblez le bon compte.

    ibmcloud target
    

    Exemple de sortie

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

    ibmcloud ks clusters
    

    Exemple de sortie

    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. Obtenir les détails de la passerelle VPE. Notez le CRN cible et les points de terminaison du service.

    ibmcloud is endpoint-gateway iks-c8m5n3p2q4x6z1w7y077
    

    Exemple de sortie

    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. Facultatif : Obtenez les détails du cluster pour voir la passerelle VPE URL.

    ibmcloud ks cluster get -c c8m5n3p2q4x6z1w7y077
    

    Exemple de sortie

    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
    

Exemple : Commandes du compte source

L'exemple suivant montre les commandes exécutées dans le compte source pour créer une passerelle VPE qui se connecte au cluster dans le compte cible.

  1. Vérifiez que vous ciblez le bon compte source.

    ibmcloud target
    

    Exemple de sortie

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

    ibmcloud is vpcs
    

    Exemple de sortie

    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. Créez la passerelle VPE en utilisant le CRN cible du compte cible.

    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
    

    Exemple de sortie

    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. Dressez la liste des sous-réseaux afin d'identifier ceux à utiliser pour les IP réservées.

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

    Exemple de sortie

    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. Créer une IP réservée dans la première zone et l'attacher à la passerelle 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
    

    Exemple de sortie

    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. Vérifiez que l'IP réservée a été ajoutée.

    ibmcloud is eg new-iks-c8m5n3p2q4x6z1w7y077
    

    Exemple de sortie

    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. Créez une IP réservée dans la deuxième zone et attachez-la à la passerelle 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
    

    Exemple de sortie

    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. Créer une IP réservée dans la troisième zone et l'attacher à la passerelle 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
    

    Exemple de sortie

    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. Vérifiez que toutes les IP réservées ont été ajoutées.

    ibmcloud is eg new-iks-c8m5n3p2q4x6z1w7y077
    

    Exemple de sortie

    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. Testez la connexion à partir d'un VSI dans le VPC source.

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

    Exemple de sortie

    {
      "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. Vérifiez que le nom d'hôte se résout en une IP réservée.

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

    Exemple de sortie

    10.240.65.5