Accès aux clusters Red Hat OpenShift
Une fois que vous avez créé votre cluster Red Hat® OpenShift® on IBM Cloud®, vous pouvez commencer à le gérer en y accédant.
Prérequis
- Installez les outils d'interface de ligne de commande requis. Pour accéder rapidement aux fonctionnalités de test de votre cluster, vous pouvez également utiliser IBM Cloud Shell.
- Créez votre cluster Red Hat OpenShift.
- 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 Red Hat OpenShift on IBM Cloud. Pour les clusters VPC avec uniquement le nœud final de service de cloud privé activé, vous ne pouvez pas tester la connexion à votre cluster jusqu'à ce que vous Configurer un VPN VPC avec le sous-réseau du nœud final de service de cloud.
- Vérifiez que votre cluster est sain en exécutant
ibmcloud oc 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. - Recherchez le noeud final de service de votre cluster.
- Clusters classiques ou de VPC : Dans la sortie des détails du cluster obtenue à l'étape précédente, vérifiez l'URL de noeud final de service public ou de noeud final de service privé du
cluster.
- URL de noeud final de service public uniquement : passez à Accès aux clusters via le noeud final de service cloud public.
- Les deux URL de noeud final de service : vous pouvez accéder à votre cluster via le noeud final de service public ou privé.
- Clusters IBM Cloud Satellite : passez à l'étape Accès aux clusters sur Satellite.
- Clusters classiques ou de VPC : Dans la sortie des détails du cluster obtenue à l'étape précédente, vérifiez l'URL de noeud final de service public ou de noeud final de service privé du
cluster.
- Si des utilisateurs de votre compte utilisent l'authentification multifactorielle (MFA) comme TOTP, veillez à l 'activer pour tous les utilisateurs au niveau du compte. Pour utiliser l'AFM, il faut l'activer au niveau du compte afin d'éviter les erreurs d'authentification.
Accès aux clusters via le noeud final de service cloud public
Si vous possédez un cluster Red Hat OpenShift avec un noeud final de service cloud public, vous pouvez vous y connecter à partir de la console ou de l'interface CLI.
Connexion au cluster à partir de la console
Vous pouvez accéder rapidement à votre cluster Red Hat OpenShift on IBM Cloud à partir de la console.
- Dans la console, cliquez sur le cluster auquel vous souhaitez accéder.
- Cliquez sur Console Web Red Hat OpenShift.
- Pour continuer à travailler dans la ligne de commande, cliquez sur votre nom de profil, tel que
IAM#name@email.com, puis cliquez sur Copy Login Command. Selon la version de votre cluster, procédez de l'une des façons décrites ci-après pour vous connecter à votre cluster à partir de la ligne de commande.- Version 4 : cliquez sur Display Token, copiez la commande
oc loginet collez-la dans votre ligne de commande.
- Version 4 : cliquez sur Display Token, copiez la commande
Pour des raisons de sécurité, vous devez d'abord vous déconnecter de la console IBM Cloud, puis vous déconnecter de la console Web Red Hat OpenShift avant de fermer votre navigateur. Vous devez exécuter les deux étapes dans l'ordre indiqué pour vous déconnecter de la console Web Red Hat OpenShift.
- Étape suivante ?
- Déploiement d'applications via la console.
Connexion au cluster à partir de l'interface CLI
Généralement, vous pouvez utiliser la console Web Red Hat OpenShift pour obtenir le jeton oc login pour accéder à votre cluster. Si vous ne pouvez pas ou ne souhaitez pas ouvrir la console Red Hat OpenShift, choisissez parmi les
options suivantes pour vous connecter à votre cluster Red Hat OpenShift on IBM Cloud à l'aide de l'interface de ligne de commande.
Choisissez l'une des options décrites ci-après.
- Connexion en tant qu'administrateur :
- Vérifiez que vous disposez du rôle d'accès à la plateforme Administrateur pour le cluster.
- Définissez votre contexte de ligne de commande pour le cluster et téléchargez les certificats et les fichiers de droits TLS pour l'administrateur.
ibmcloud oc cluster config -c <cluster_name_or_ID> --admin
- Connexion à l'aide d'une clé d'API : voir Utilisation d'une clé d'API pour se connecter à Red Hat OpenShift.
- Connexion à l'aide d'un code d'accès IBM Cloud :
- Obtenez l'URL du maître de votre cluster dans la sortie de la commande suivante :
ibmcloud oc cluster get -c <cluster_name_or_ID> - Dans votre navigateur, ouvrez le site Web de code d'accès IBM Cloud IAM suivant :
https://iam.cloud.ibm.com/identity/passcode - Connectez-vous à l'aide de votre IBMid et copiez le code d'accès.
- Connectez-vous à votre cluster avec le code d'accès.
oc login -u passcode -p <iam_passcode> --server=<master_URL>
- Obtenez l'URL du maître de votre cluster dans la sortie de la commande suivante :
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é.
Vous voulez configurer un réseau privé virtuel pour vous connecter à votre cluster à partir de votre machine locale ? Reportez-vous à la rubrique décrivant l'accès aux clusters privés à l'aide du réseau privé virtuel Wireguard.
Accès aux clusters de VPC via le noeud final de service cloud privé
Tous les clusters VPC disposent d'un point d'extrémité 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 :
-
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
- 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 oc get nodes-
Connexion en tant qu'administrateur :
- Vérifiez que vous disposez du rôle d'accès à la plateforme Administrateur pour le cluster.
- Télécharger le kubeconfig pour l'administrateur.
ibmcloud oc cluster config -c <cluster_name_or_ID> --admin --endpoint private
-
Connexion à l'aide d'une clé d'API : voir Utilisation d'une clé d'API pour se connecter à Red Hat OpenShift.
-
Connexion à l'aide d'un code d'accès IBM Cloud :
- Notez l'URL de noeud final de service privé de votre cluster dans la sortie de la commande suivante :
ibmcloud oc cluster get -c <cluster_name_or_ID> - Dans votre navigateur, ouvrez le site Web de code d'accès IBM Cloud IAM suivant :
https://iam.cloud.ibm.com/identity/passcode - Connectez-vous à l'aide de votre IBMid et copiez le code d'accès.
- Connectez-vous à votre cluster avec le code d'accès.
oc login -u passcode -p <iam_passcode> --server=<private_service_endpoint_URL>
- Notez l'URL de noeud final de service privé de votre cluster dans la sortie de la commande suivante :
-
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 Red Hat OpenShift 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 s'ils 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 la console Web Red Hat OpenShift pour créer l'équilibreur de charge de réseau (NLB) privé.
-
Connectez-vous à votre cluster Red Hat OpenShift à l'aide du noeud final de service cloud public.
-
Obtenez l'URL et le port de noeud final de service cloud privé pour votre cluster.
ibmcloud oc cluster get -c <cluster_name_or_ID>Dans cet exemple de sortie, l'URL du noeud final de service privé (Private Service Endpoint URL) est
https://c1.private.us-east.containers.cloud.ibm.com:31144.NAME: setest ID: b8dcc56743394fd19c9f3db7b990e5e3 State: normal Status: healthy cluster Created: 2019-04-25T16:03:34+0000 Location: wdc04 Pod Subnet: 172.30.0.0/16 Service Subnet: 172.21.0.0/16 Master URL: https://c1-e.us-east.containers.cloud.ibm.com:31144 Public Service Endpoint URL: https://c1-e.us-east.containers.cloud.ibm.com:31144 Private Service Endpoint URL: https://c1.private.us-east.containers.cloud.ibm.com:31144 Master Location: Washington D.C. ... -
Créez un fichier YAML nommé
oc-api-via-nlb.yaml. Ce fichier YAML crée un serviceLoadBalancerprivé 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: oc-api-via-nlb annotations: service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type: private namespace: default spec: type: LoadBalancer ports: - protocol: TCP port: <private_service_endpoint_port> targetPort: <private_service_endpoint_port> --- kind: Endpoints apiVersion: v1 metadata: name: oc-api-via-nlb namespace: default subsets: - addresses: - ip: 172.20.0.1 ports: - port: 2040 -
Pour créer l'équilibreur de charge de réseau et le noeud final :
- Appliquez le fichier de configuration que vous avez créé précédemment.
oc apply -f oc-api-via-nlb.yaml - Vérifiez que l'équilibreur de charge de réseau
oc-api-via-nlba été créé. Dans le résultat, notez l'adresse10.x.x.xEXTERNAL-IP. Cette adresse IP expose le noeud final de service cloud privé pour le maître cluster sur le port que vous avez spécifié dans votre fichier YAML.
Dans cet exemple de sortie, l'adresse IP pour le noeud final de service cloud privé du maître estoc get svc -o wide10.186.92.42.NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR oc-api-via-nlb LoadBalancer 172.21.150.118 10.186.92.42 443:32235/TCP 10m <none> ...
- Appliquez le fichier de configuration que vous avez créé précédemment.
-
Sur les machines client où vous ou vos utilisateurs exécutez des commandes
oc, ajoutez l'adresse IP d'équilibreur de charge de réseau 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 pashttps://dans l'URL.-
Pour les utilisateurs macOS et Linux :
sudo nano /etc/hosts -
Pour les utilisateurs Windows :
notepad C:\Windows\System32\drivers\etc\hostsEn fonction des droits de votre machine locale, vous devrez peut-être exécuter Notepad en tant qu'administrateur pour éditer le fichier hosts.
Exemple de texte à ajouter :
10.186.92.42 c1.private.us-east.containers.cloud.ibm.com
-
-
Vérifiez que vous êtes connecté au réseau privé via une connexion VPN ou IBM Cloud Direct Link.
-
Connectez-vous à votre cluster en choisissant l'une des options suivantes :
- Connexion en tant qu'administrateur :
- Vérifiez que vous disposez du rôle d'accès à la plateforme Administrateur pour le cluster.
- Définissez votre contexte de ligne de commande pour le cluster et téléchargez les certificats et les fichiers de droits TLS pour l'administrateur.
ibmcloud oc cluster config -c <cluster_name_or_ID> --admin --endpoint private
- Connexion à l'aide d'une clé d'API : voir Utilisation d'une clé d'API pour se connecter à Red Hat OpenShift.
- Connexion à l'aide d'un code d'accès IBM Cloud :
- Notez l'URL de noeud final de service privé de votre cluster dans la sortie de la commande suivante :
ibmcloud oc cluster get -c <cluster_name_or_ID> - Dans votre navigateur, ouvrez le site Web de code d'accès IBM Cloud IAM suivant :
https://iam.cloud.ibm.com/identity/passcode - Connectez-vous à l'aide de votre IBMid et copiez le code d'accès.
- Connectez-vous à votre cluster avec le code d'accès.
oc login -u passcode -p <iam_passcode> --server=<private_service_endpoint_URL>
- Notez l'URL de noeud final de service privé de votre cluster dans la sortie de la commande suivante :
- Connexion en tant qu'administrateur :
-
Assurez-vous que les commandes
ocs'exécutent correctement avec votre cluster via le noeud final de service cloud privé en vérifiant la version.oc versionExemple de sortie
Client Version: 4.5.0-0.okd-2020-09-04-180756 Server Version: 4.5.35 Kubernetes Version: v1.18.3+cdb0358
Accès aux clusters Red Hat OpenShift sur Satellite
Après avoir créé un cluster Red Hat OpenShift dans votre emplacement Satellite, vous pouvez commencer à l'utiliser en y accédant.
Lorsque vous accédez à votre cluster et que vous exécutez les commandes oc get nodes ou oc describe node <worker_node>, vous pouvez constater que les rôles master,worker ont été attribués aux nœuds
de travail. Dans les clusters OpenShift Container Platform, les opérateurs utilisent le rôle maître comme nodeSelector pour que OCP puisse déployer des composants par défaut contrôlés par des opérateurs, tels que le registre interne,
dans votre cluster. Les hôtes Satellite que vous avez affectés à votre cluster fonctionnent en tant que noeuds worker uniquement, et aucun processus de noeud maître, tel que le serveur d'API ou le planificateur Kubernetes, ne s'exécute sur
vos noeuds worker.
Accès aux clusters via l'URL du service de cluster
Connectez-vous à votre cluster via son URL de service. Cette URL correspond à l'un de vos sous-domaines d'emplacement Satellite suivi d'un port de noeud, formaté comme suit https://p1iuql40jam23qiuxt833-q9err0fiffbsar61e78vv6e7ds8ne1tx-ce00.us-east.satellite.appdomain.cloud:30710.
Si vos hôtes d'emplacement disposent uniquement d'une connectivité au réseau privé ou si vous utilisez des hôtes Amazon Web Services, Google Cloud Platform et Microsoft Azure, vous devez être connecté au réseau privé de vos hôtes, par exemple via un accès VPN, pour vous connecter à votre cluster et accéder à la console Web Red Hat OpenShift. Sinon, si vos hôtes disposent d'une connectivité au réseau public, vous pouvez tester l'accès à votre cluster en modifiant les enregistrements DNS de votre cluster et de votre emplacement de manière à utiliser les adresses IP publiques de vos hôtes.
Vous pouvez accéder rapidement à votre cluster Red Hat OpenShift on IBM Cloud à partir de la console.
- Dans la console, cliquez sur le cluster auquel vous souhaitez accéder.
- Cliquez sur Console Web Red Hat OpenShift.
- Cliquez sur votre nom de profil, par exemple
IAM#name@email.com, puis cliquez sur Copy Login Command. - Cliquez sur Display Token et copiez la commande
oc login. - Collez la commande dans votre ligne de commande.
Pour des raisons de sécurité, vous devez d'abord vous déconnecter de la console IBM Cloud, puis vous déconnecter de la console Web Red Hat OpenShift avant de fermer votre navigateur. Vous devez exécuter les deux étapes dans l'ordre indiqué pour vous déconnecter de la console Web Red Hat OpenShift.
Si vous ne pouvez pas ou ne souhaitez pas ouvrir la console Red Hat OpenShift, choisissez parmi les options suivantes pour vous connecter à votre cluster Red Hat OpenShift on IBM Cloud à l'aide de l'interface de ligne de commande.
- Connexion en tant qu'administrateur :
- Vérifiez que vous disposez du rôle d'accès à la plateforme IAM Administrateur pour le cluster.
- Définissez votre contexte de ligne de commande pour le cluster et téléchargez les certificats et les fichiers de droits TLS pour l'administrateur. Pour plus d'informations, voir la documentation de l'interface CLI.
ibmcloud oc cluster config -c <cluster_name_or_ID> --admin
- Connexion à l'aide d'une clé d'API : voir Utilisation d'une clé d'API pour se connecter à Red Hat OpenShift.
Accès aux clusters depuis le réseau privé IBM Cloud
Si vous êtes connecté au réseau privé IBM Cloud, vous pouvez utiliser le noeud final de liaison Satellite qui est généré automatiquement pur votre cluster. Ce noeud final vous permet de vous connecter via le serveur tunnel de liaison sécurisé
au maître du cluster dans votre plan de contrôle d'emplacement. Le nœud final se compose du nom d'hôte du serveur de tunnel de liaison et d'un port de nœud, qui est formaté, par exemple c-02.<region>.link.satellite.cloud.ibm.com:<port>.
Pour vous connecter à votre Satellite cluster à l'aide du point de terminaison Link, par exemple --endpoint link dans l'interface CLI, vous devez suivre les étapes de configuration d'une source dans votre emplacement.
Cette source permet d'accéder à vos API de cluster via le noeud final Link. Pour plus d'informations, consultez la section Accéder à vos points de Red Hat OpenShift terminaison de lien Satellite API.
- Vérifiez que vous disposez du rôle d'accès à la plateforme IAM Administrateur pour le cluster.
- Définissez votre contexte de ligne de commande pour le cluster à l'aide du noeud final de liaison et téléchargez les certificats et les fichiers de droits TLS pour l'administrateur. Pour plus d'informations, voir la documentation de l'interface CLI.
ibmcloud oc cluster config -c <cluster_name_or_ID> --endpoint link --admin
Accès aux clusters depuis le réseau public
Si vos hôtes disposent d'une connectivité au réseau public et que vous souhaitez accéder à votre cluster à partir de votre machine locale sans être connecté au réseau privé de vos hôtes, vous pouvez éventuellement mettre à jour le sous-domaine de votre cluster et l'enregistrement DNS de votre emplacement de manière à utiliser les adresses IP publiques de vos hôtes.
Pour la plupart des configurations d'emplacement, les adresses IP privées de vos hôtes sont enregistrées pour l'enregistrement DNS de l'emplacement de sorte que vous ne puissiez accéder à votre cluster que si vous êtes connecté au réseau privé de votre fournisseur de cloud.
Par exemple, si vous utilisez des hôtes Amazon Web Services, Google Cloud Platform ou Microsoft Azure ou si l'interface réseau par défaut de vos hôtes est privée, l'enregistrement DNS de votre emplacement est accessible uniquement sur le réseau privé.
Pour exécuter des commandes kubectl ou oc sur votre cluster ou accéder à la console Web Red Hat OpenShift, vous devez être connecté au réseau privé de vos hôtes, par exemple, via un accès VPN. Toutefois, si vous souhaitez
accéder à votre cluster à partir du réseau public, par exemple, pour tester l'accès à votre cluster à partir de votre machine locale, vous pouvez modifier les enregistrements DNS de vos sous-domaines d'emplacement et de cluster de manière
utiliser à la place les adresses IP publiques de vos hôtes.
La mise à disposition de vos sous-domaines d'emplacement et de cluster en dehors du réseau privé de vos hôtes pour vos utilisateurs de cluster autorisés n'est pas recommandée pour les charges de travail de niveau production.
- Passez en revue les sous-domaines d'emplacement et vérifiez les enregistrements des adresses IP privées des hôtes qui sont enregistrés dans le DNS pour le sous-domaine.
ibmcloud sat location dns ls --location <location_name_or_ID> - Extrayez les adresses IP publiques correspondantes de vos hôtes.
ibmcloud sat host ls --location <location_name_or_ID> - Mettez à jour l'enregistrement DNS du sous-domaine d'emplacement avec les adresses IP publiques de chaque hôte du plan de contrôle.
ibmcloud sat location dns register --location <location_name_or_ID> --ip <host_IP> --ip <host_IP> --ip <host_IP> - Vérifiez que les adresses IP publiques sont enregistrées avec votre enregistrement DNS d'emplacement.
ibmcloud sat location dns ls --location <location_name_or_ID> - Récupère le Nom d'hôte pour votre cluster au format
<service_name>-<project>.<cluster_name>-<random_hash>-0000.upi.containers.appdomain.cloudet notez le IP (s) privé qui a été automatiquement enregistré.ibmcloud oc nlb-dns ls --cluster <cluster_name_or_ID> - Ajoutez les adresses IP publiques des hôtes qui sont affectés en tant que noeuds worker à ce cluster dans le sous-domaine de votre cluster. Répétez cette commande pour l'adresse IP publique de chaque hôte.
ibmcloud oc nlb-dns add --ip <public_IP> --cluster <cluster_name_or_ID> --nlb-host <hostname> - Retirez les adresses IP privées du sous-domaine de votre cluster. Répétez cette commande pour toutes les adresses IP privées que vous avez récupérées précédemment.
ibmcloud oc nlb-dns rm classic --ip <private_IP> --cluster <cluster_name_or_ID> --nlb-host <hostname> - Vérifiez que les adresses IP publiques sont enregistrées auprès du sous-domaine de votre cluster.
ibmcloud oc nlb-dns ls --cluster <cluster_name_or_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 Kubernetes maître 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 IBM Cloud VPC VPN. Dans ce cas, le kubeconfig est configuré avec le Virtual Private Endpoint
(VPE) URL qui est un nom DNS privé et ne peut être résolu que par le IBM Cloud VPC service DNS privé. Les adresses du IBM Cloud VPC serveur DNS privé sont 161.26.0.7 et 161.26.0.8.
Pour les clusters qui exécutent la version 4.13: si vous avez activé uniquement le point de terminaison du service de cloud privé lors de la création du cluster, le point de terminaison privé virtuel
de votre VPC est utilisé par défaut pour accéder Red Hat OpenShift aux composants tels que la console Red Hat OpenShift Web ou OperatorHub. Vous devez être connecté au réseau VPC privé (par exemple, via une connexion VPN) pour accéder à ces
composants ou exécuter des commandes kubectl sur votre cluster. Notez que pour accéder à la console via VPE, vous devez pouvoir accéder à cloud.ibm.com, qui requiert une connectivité publique.
-
Configurez votre VPN IBM Cloud VPC et connectez-vous à votre VPC via VPN.
- 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.
- Pour les configurations de réseau privé virtuel client-site, 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.
Vous devez également créer une route VPN après la mise à disposition du serveur VPN, avec la destination
161.26.0.0/16et l'actiontranslate. - Pour les configurations de réseau privé virtuel de site à site, vous devez suivre le document Accès aux noeuds finaux de service via le guide VPN et configurer les adresses de service DNS privé IBM Cloud VPC.
- Vérifiez que vous êtes connecté au VPC via votre connexion VPN IBM Cloud VPC.
-
Pour vous connecter à votre cluster, choisissez l'une des options suivantes :
- Connexion en tant qu'administrateur :
- Vérifiez que vous disposez du rôle d'accès à la plateforme Administrateur pour le cluster.
- Définissez votre contexte de ligne de commande pour le cluster et téléchargez les certificats et les fichiers de droits TLS pour l'administrateur.
ibmcloud oc cluster config -c <cluster_name_or_ID> --admin --endpoint vpe
- Connexion à l'aide d'une clé d'API : voir Utilisation d'une clé d'API pour se connecter à Red Hat OpenShift.
- Connexion à l'aide d'un code d'accès IBM Cloud :
- Obtenir l'adresse VPE et le maître URL dans la sortie de la commande suivante.
ibmcloud oc cluster get -c <cluster_name_or_ID> - Dans votre navigateur, ouvrez le site Web de code d'accès IBM Cloud IAM suivant :
https://iam.cloud.ibm.com/identity/passcode - Connectez-vous à l'aide de votre IBMid et copiez le code d'accès.
- Connectez-vous à votre cluster avec le code d'accès.
La procédure de connexion notifie ce certificat signé par une autorité inconnue car il s'agit d'un certificat autosigné généré par IBM.oc login -u passcode -p <iam_passcode> --server=https://<VPE_URL>:<port_from_the_master_URL>
- Obtenir l'adresse VPE et le maître URL dans la sortie de la commande suivante.
- Connexion en tant qu'administrateur :
-
Assurez-vous que les commandes
ocs'exécutent correctement avec votre cluster via le noeud final de service cloud privé en vérifiant la version.oc versionExemple de sortie
Client Version: 4.5.0-0.okd-2020-09-04-180756 Server Version: 4.5.35 Kubernetes Version: v1.18.3+cdb0358
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.
-
Obtenir les informations nécessaires auprès du cluster cible.
-
Définissez
ibmcloud targetpour le compte, la région et le groupe de ressources cibles. -
Obtenir les informations sur la passerelle VPE existante.
ibmcloud is endpoint-gateway iks-TARGET_CLUSTER_ID -
Notez le CRN cible (format :
crn:v1:bluemix:public:containers-kubernetes:REGION:a/TARGET_ACCOUNT:TARGET_CLUSTER_ID::). -
Notez les noms d'hôtes des points de service.
-
-
Créez la nouvelle passerelle VPE dans le compte source.
-
Définissez
ibmcloud targetpour le compte source, la région et le groupe de ressources. -
Vérifiez que le VPC existe dans ce compte.
ibmcloud is vpcs -
Créez la passerelle VPE.
ibmcloud is endpoint-gateway-create --vpc SOURCE_VPC_NAME --target TARGET_CRN --name new-iks-TARGET_CLUSTER_ID --resource-group-name SOURCE_ACCOUNT_RESOURCE_GROUPSOURCE_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.
-
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 la VPE inter-comptes dans la console.
-
-
Ajoutez des IP réservées à votre passerelle VPE.
Vous devez ajouter au moins une 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.
-
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 -
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.
-
-
Testez la connexion.
-
À 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. -
Vérifiez que la connexion fonctionne.
curl -k https://CLUSTERID...:XXXXX/version -
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é depuis le VPC source (ajoutez les trois "Cloud Service Endpoint source addresses" de 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.
-
Vérifiez que vous ciblez le bon compte.
ibmcloud targetExemple de sortie
API endpoint: https://cloud.ibm.com Region: us-east User: user2@example.com Account: Target Account (9f8e7d6c5b4a321fedcba98765432222) <-> 2222222 Resource group: default -
Dressez la liste de vos clusters.
ibmcloud ks clustersExemple 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 -
Obtenir les détails de la passerelle VPE. Notez le CRN cible et les points de terminaison du service.
ibmcloud is endpoint-gateway iks-c8m5n3p2q4x6z1w7y077Exemple 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 -
Facultatif : Obtenez les détails du cluster pour voir la passerelle VPE URL.
ibmcloud ks cluster get -c c8m5n3p2q4x6z1w7y077Exemple 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.
-
Vérifiez que vous ciblez le bon compte source.
ibmcloud targetExemple de sortie
API endpoint: https://cloud.ibm.com Region: us-south User: user1@example.com Account: Source Account (a1b2c3d4e5f6789abcdef01234561111) <-> 1111111 Resource group: Default -
Dressez la liste de vos VPC.
ibmcloud is vpcsExemple 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 -
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 DefaultExemple 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 -
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-southExemple 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 -
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-c8m5n3p2q4x6z1w7y077Exemple 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 -
Vérifiez que l'IP réservée a été ajoutée.
ibmcloud is eg new-iks-c8m5n3p2q4x6z1w7y077Exemple 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 -
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-c8m5n3p2q4x6z1w7y077Exemple 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 -
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-c8m5n3p2q4x6z1w7y077Exemple 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 -
Vérifiez que toutes les IP réservées ont été ajoutées.
ibmcloud is eg new-iks-c8m5n3p2q4x6z1w7y077Exemple 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 -
Testez la connexion à partir d'un VSI dans le VPC source.
curl -k https://c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com:31100/versionExemple 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" } -
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.comExemple de sortie
10.240.65.5
Accès aux clusters à partir d'outils d'automatisation à l'aide d'une clé d'API
Red Hat OpenShift on IBM Cloud est intégré à IBM Cloud Identity and Access Management (IAM). Avec IAM, vous pouvez authentifier des utilisateurs et des services en utilisant leurs identités IAM et autoriser des actions avec des rôles et des
règles d'accès. Lorsque vous vous authentifiez en tant qu'utilisateur via la console Red Hat OpenShift, votre identité IAM est utilisée pour générer un jeton de connexion Red Hat OpenShift que vous pouvez utiliser pour vous connecter à la
ligne de commande. Vous pouvez automatiser la connexion à votre cluster en créant une clé d'API IAM ou un ID de service à utiliser pour la commande oc login.
Utilisation d'une clé d'API pour se connecter aux clusters
Vous pouvez créer une clé API IAM IBM Cloud et l'utiliser pour vous connecter à un cluster Red Hat OpenShift. Les clés d'API vous permettent d'utiliser les données d'identification d'un utilisateur ou d'un compte partagé pour accéder à un cluster, au lieu de vous connecter individuellement. Vous pouvez également créer une clé d'API pour un ID de service. Pour plus d'informations, voir Gestion des clés d'API.
-
Créez une clé d'API IBM Cloud. Sauvegardez votre clé d'API dans un emplacement sécurisé. Vous ne pouvez plus récupérer la clé API. Si vous souhaitez exporter le résultat dans un fichier sur votre machine locale, incluez l'option
--file <path>/<file_name>.ibmcloud iam api-key-create <name> -
Configurez votre cluster pour ajouter l'utilisateur de la clé d'API à vos règles RBAC de cluster et pour définir votre contexte de session sur votre serveur de cluster.
- Connectez-vous à IBM Cloud à l'aide des données d'identification de clé d'API.
ibmcloud login --apikey <API_key> - Téléchargez et ajoutez le fichier de configuration
kubeconfigpour votre cluster à votrekubeconfigexistant dans~/.kube/configou le dernier fichier dans la variable d'environnementKUBECONFIG. Remarque: si vous avez activé le point d'extrémité du service de cloud privé et que vous souhaitez l'utiliser pour le contexte de cluster, incluez l'option--endpoint private. Pour utiliser le noeud final de service cloud privé afin de vous connecter au cluster, vous devez vous trouver dans votre réseau privé IBM Cloud ou être connecté au réseau privé via une connexion VPN VPC, ou pour une infrastructure classique, via une connexion VPN classique ou IBM Cloud Direct Link.ibmcloud oc cluster config -c <cluster_name_or_ID> [--endpoint private]
- Connectez-vous à IBM Cloud à l'aide des données d'identification de clé d'API.
-
Échangez votre clé d'API IAM IBM Cloud contre un jeton d'accès Red Hat OpenShift. Vous pouvez vous connecter à partir de l'interface de ligne de commande ou de l'API. Pour plus d'informations, voir la documentationRed Hat OpenShift.
Connectez-vous à l'aide de l'interface de ligne de commande
ocCLI : Connectez-vous à votre cluster à l'aide de laoc logincommande. Le nom d'utilisateur (-u) estapikeyet le mot de passe (-p) est votre valeur de clé d'API IBM Cloud IAM. Pour utiliser le point de terminaison du service de cloud privé, incluez l'option--server=<private_service_endpoint>.oc login -u apikey -p <API_key> [--server=<private_service_endpoint>]Connectez-vous en exécutant des demandes d'API Red Hat OpenShift directement sur votre cluster : Connectez-vous à votre cluster avec l'API, par exemple via une requête curl.
-
Obtenez la valeur Master URL de votre cluster.
ibmcloud oc cluster get -c <cluster_name_or_ID>Exemple de sortie
NAME: mycluster ID: 1234567 State: normal Created: 2020-01-22T19:22:16+0000 Location: dal10 Master URL: https://c100-e.<region>.containers.cloud.ibm.com:<port> ... -
Obtenez le noeud final de jeton du serveur Red Hat OpenShift
oauth.curl <master_URL>/.well-known/oauth-authorization-server | jq -r .token_endpointExemple de sortie
<token_endpoint>/oauth/token: écran}
-
Connectez-vous au cluster avec le noeud final que vous avez récupéré précédemment. Remplacer
<URL>par<token_endpoint>du serveuroauth.Exemple de requête curl :
curl -u 'apikey:<API_key>' -H "X-CSRF-Token: a" '<URL>/oauth/authorize?client_id=openshift-challenging-client&response_type=token' -vvv -
Dans la réponse Location, recherchez le jeton d'accès (
access_token), comme dans l'exemple suivant :< HTTP/1.1 302 Found < Cache-Control: no-cache, no-store, max-age=0, must-revalidate < Cache-Control: no-cache, no-store, max-age=0, must-revalidate < Expires: 0 < Expires: Fri, 01 Jan 1990 00:00:00 GMT < Location: <token_endpoint>/oauth/token/implicit#access_token=<access_token>&expires_in=86400&scope=user%3Afull&token_type=Bearer ... -
Utilisez l'URL du maître du cluster et le jeton d'accès pour accéder à l'API Red Hat OpenShift, par exemple pour afficher la liste de tous les pods du cluster. Pour plus d'informations, voir la documentation de l'API Red Hat OpenShift.
Exemple de requête curl :
curl -H "Authorization: Bearer <access_token>" '<master_URL>/api/v1/pods'
-
Utilisation d'un ID de service pour se connecter aux clusters
Vous pouvez créer un identifiant de service IBM Cloud IAM, créer une clé API pour l'identifiant de service, puis utiliser la clé API pour vous connecter à un cluster Red Hat OpenShift. Vous pouvez utiliser des ID de service de sorte que les applications hébergées dans d'autres clusters ou clouds puissent accéder aux services de votre cluster. Etant donné que les ID de service ne sont pas liés à un utilisateur spécifique, vos applications peuvent s'authentifier si des utilisateurs individuels quittent votre compte. Pour plus d'informations, voir Création et utilisation des ID de service.
-
Créez un ID de service IBM Cloud IAM pour le cluster qui est utilisé pour les règles IAM et les données d'identification de clé d'API. Prenez soin d'indiquer une description pour l'ID de service, qui vous aidera à retrouver cet ID par la suite, par exemple en incluant le nom du cluster.
ibmcloud iam service-id-create <cluster_name>-id --description "Service ID for Red Hat OpenShift on IBM Cloud cluster <cluster_name>"Exemple de sortie
NAME <cluster_name>-id Description Service ID for Red Hat OpenShift on IBM Cloud cluster <cluster_name> CRN crn:v1:bluemix:public:iam-identity::a/1aa111aa1a11111aaa1a1111aa1aa111::serviceid:ServiceId-bbb2b2b2-2bb2-2222-b222-b2b2b2222b22 Bound To crn:v1:bluemix:public:::a/1aa111aa1a11111aaa1a1111aa1aa111::: Version 1-c3c333333333ccccc33333c33cc3cc33 Locked false UUID ServiceId-bbb2b2b2-2bb2-2222-b222-b2b2b2222b22 -
Créez une règle IBM Cloud IAM personnalisée pour l'ID de service de votre cluster qui autorise l'accès à Red Hat OpenShift on IBM Cloud.
ibmcloud iam service-policy-create <cluster_service_ID> --service-name containers-kubernetes --roles <service_access_role> --service-instance <cluster_ID>Description des composantes de cette commande Paramètre Description <cluster_service_ID>Obligatoire. Entrez l'ID de service que vous avez créé précédemment pour votre cluster Red Hat OpenShift. --service-name containers-kubernetesObligatoire. Entrez containers-kubernetesde sorte que la clé IAM s'applique aux clusters Red Hat OpenShift on IBM Cloud.--roles <service_access_role>Obligatoire. Entrez le rôle d'accès que doit posséder l'ID de service sur votre cluster Red Hat OpenShift. Rôles d'accès à la plateforme autorise les activités de gestion des clusters, telles que la création de nœuds de travail. Rôles d'accès au service correspond aux rôles RBAC qui permettent aux activités de gestion Red Hat OpenShift dans le cluster, telles que les ressources Kubernetes telles que les gousses et les espaces de nom. Pour plusieurs rôle, indiquez-les dans une liste en les séparant par une virgule. Les valeurs possibles sont Administrator,Operator,EditoretViewer(rôles d'accès aux plateformes) etReader,WriteretManager(rôles d'accès au service).--service-instance <cluster_ID>Pour limiter la règle à un cluster en particulier, entrez l'ID du cluster. Pour obtenir votre ID de cluster, exécutez la commande ibmcloud oc clusters. Si vous n'incluez pas l'instance de service, la règle d'accès accorde à l'ID service l'accès à tous vos clusters, Kubernetes et Red Hat OpenShift. Vous pouvez également étendre la portée de la règle d'accès à une région (--region) ou à un groupe de ressources (--resource-group-name). -
Créez une clé d'API pour l'ID de service. Nommez la clé de l'API similaire à votre ID de service et incluez l'ID de service que vous avez créé précédemment,
<cluster_name>-id. Veillez à indiquer une description pour la clé d'API pour vous aider à la retrouver par la suite. Sauvegardez votre clé d'API dans un emplacement sécurisé. Vous ne pouvez plus récupérer la clé API. Si vous souhaitez exporter le résultat dans un fichier sur votre machine locale, incluez l'option--file <path>/<file_name>.ibmcloud iam service-api-key-create <cluster_name>-key <service_ID> --description "API key for service ID <service_ID> in Red Hat OpenShift cluster <cluster_name>"Exemple de sortie
Please preserve the API key! It can't be retrieved after it's created. Name <cluster_name>-key Description API key for service ID <service_ID> in Red Hat OpenShift cluster <cluster_name> Bound To crn:v1:bluemix:public:iam-identity::a/1bb222bb2b33333ddd3d3333ee4ee444::serviceid:ServiceId-ff55555f-5fff-6666-g6g6-777777h7h7hh Created At 2019-02-01T19:06+0000 API Key i-8i88ii8jjjj9jjj99kkkkkkkkk_k9-llllll11mmm1 Locked false UUID ApiKey-222nn2n2-o3o3-3o3o-4p44-oo444o44o4o4 -
Configurez votre cluster pour ajouter l'utilisateur d'ID de service à vos règles RBAC de cluster et pour définir votre contexte de session sur votre serveur de cluster.
-
Connectez-vous à IBM Cloud à l'aide des données d'identification de clé d'API d'ID de service.
ibmcloud login --apikey <API_key> -
Téléchargez et ajoutez le fichier de configuration
kubeconfigpour votre cluster à votrekubeconfigexistant dans~/.kube/configou le dernier fichier dans la variable d'environnementKUBECONFIG. Remarque: si vous avez activé le point d'extrémité du service de cloud privé et que vous souhaitez l'utiliser pour le contexte de cluster, incluez l'option--endpoint private. Pour utiliser le noeud final de service cloud privé afin de vous connecter au cluster, vous devez vous trouver dans votre réseau privé IBM Cloud ou être connecté au réseau privé via une connexion VPN VPC, ou pour une infrastructure classique, via une connexion VPN classique ou IBM Cloud Direct Link.ibmcloud oc cluster config -c <cluster_name_or_ID> [--endpoint private]
-
-
Utilisez la clé d'API d'ID de service pour vous connecter à votre cluster Red Hat OpenShift. Le nom d'utilisateur (
-u) estapikeyet le mot de passe (-p) est votre valeur de clé d'API. Pour utiliser le point de terminaison du service de cloud privé, incluez l'option--server=<private_service_endpoint>.oc login -u apikey -p <API_key> [--server=<private_service_endpoint>] -
Vérifiez que l'ID de service peut effectuer les actions que vous avez autorisées.
Exemple : si vous avez affecté un rôle d'accès au service
Reader, l'ID de service peut répertorier les pods de votre projet Red Hat OpenShift.oc get podsExemple : si vous avez affecté un rôle d'accès au service
Manager, l'ID de service peut répertorier les utilisateurs de votre cluster Red Hat OpenShift. L'ID de votre ID de service IAM se trouve dans la sortie IDENTITIES. Les autres utilisateurs individuels peuvent être identifiés par leur adresse e-mail et leur IBMid.oc get usersExemple de sortie
NAME UID FULL NAME IDENTITIES IAM# dd44ddddd-d4dd-44d4-4d44-4d44d444d444 IAM:iam-ServiceId-bbb2b2b2-2bb2-2222-b222-b2b2b2222b22 IAM#first.last@email.com 55555ee5-e555-55e5-e5e5-555555ee55ee IAM:IBMid-666666FFF6
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 pour le 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 final 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