Tutoriel : Configurer un Net peering entre un Net et un projet OKS (bêta)
Cette fonctionnalité est actuellement en bêta. Pour en savoir plus sur les services bêta, voir le Glossaire et nos Conditions générales de ventes et d’utilisation. |
Dans ce tutoriel, vous apprenez comment configurer un Net peering (appairage de réseaux) entre un de vos projets et un de vos Nets.
Vous pouvez appairer un projet à un Net afin de sécuriser la communication entre vos clusters et des ressources externes qui se trouvent dans différents comptes et Nets.
Avec OKS, le peering est géré directement depuis un cluster grâce à des custom resources (ressources sur mesure). Bien que la requête soit initiée depuis le cluster, le Net est appairé avec le projet dans lequel se trouve le cluster. De ce fait, les autres clusters du projet ont accès au Net appairé.
Vous pouvez configurer le Net peering dans deux sens :
-
Depuis le cluster vers le Net, avec une requête de peering comme custom resource.
-
Depuis le Net vers le cluster, avec une acceptation de peering comme custom resource.
Il est impossible de créer un Net peering entre un cluster et un Net ayant des blocs CIDR qui se chevauchent. Le bloc CIDR utilisé lors de la création du Net doit être différent de celui du projet contenant le cluster à partir duquel vous initiez le peering. Pour en savoir plus, voir Obtenir des informations sur vos Net peerings. |
Il est possible d’appairer votre cluster à un Net d’un compte différent, la logique de ce tutoriel reste la même. |
Configurer un Net peering de votre cluster vers votre Net
Avant de commencer :
|
-
Créez la custom resource pour la requête de peering. Cette ressource est un fichier YAML dans lequel vous devez ajouter les informations suivantes :
-
accepterNetId
: l’ID du Net que vous avez créé. -
accepterOwnerId
: l’ID de votre compte Outscale.peering-request.yamlapiVersion: oks.dev/v1beta kind: NetPeeringRequest metadata: name: peering-request spec: accepterNetId: ID_OF_YOUR_NET accepterOwnerId: "ID_YOUR_OUTSCALE_ACCOUNT"
-
-
Appliquez le fichier de requête de peering à votre cluster en utilisant la commande suivante :
Exemple de requêteoks-cli cluster --project-name "NAME_OF_PROJECT" --cluster-name NAME_OF_CLUSTER kubectl apply -f ~/PATH/peering-request.yaml
Exemple de résultatnetpeeringrequest.oks.dev/peering-request created
-
Lancez la commande suivante afin d’obtenir l’ID du Net peering qui est nécessaire afin d’en accepter la requête :
Exemple de requêteoks-cli cluster --project-name "NAME_OF_PROJECT" --cluster-name NAME_OF_CLUSTER kubectl get npr
Exemple de résultatNAME SOURCE NET ID ACCEPTER NET ID NET PEERING ID STATE NAME STATE MESSAGE EXPIRATION DATE peering-request ID_OF_YOUR_CLUSTER ID_OF_YOUR_NET ID_OF_NET_PEERING pending-acceptance Pending acceptance by ID_YOUR_OUTSCALE_ACCOUNT
-
Acceptez la requête de peering du côté du Net avec OSC CLI :
Exemple de requêteosc-cli api AcceptNetPeering --NetPeeringId "ID_OF_NET_PEERING"
-
Vous pouvez vérifier que le peering a bien été configuré avec la commande suivante :
Exemple de requêteoks-cli cluster --project-name "project-1" --cluster-name cluster-1 kubectl get npeer
Exemple de résultatNAME SOURCE NET ID ACCEPTER NET ID NET PEERING ID STATE NAME STATE MESSAGE EXPIRATION DATE pcx-1a2b3c4d ID_OF_YOUR_CLUSTER ID_OF_YOUR_NET ID_OF_NET_PEERING active Active 2025-08-04T11:28:46.000Z
Vous pouvez également vérifier que le peering a bien été configuré avec Cockpit et OSC CLI. Pour en savoir plus, voir Obtenir des informations sur vos Net peerings.
Un Net peering n’expire jamais. Vous pouvez ignorer la date d’expiration qui apparaît dans le résultat de la commande OKS CLI. |
Configurer un Net peering de votre Net vers votre cluster
Avant de commencer :
|
-
Créez un Net peering avec l’ID du Net (
SourceNetId
) que vous avez créé précédemment, l’ID do votre réseau OKS (AccepterNetId
), qui représente l’ID de votre cluster, et l’ID de votre compte OKS (AccepterOwnerId
). Pour en savoir plus, voir Créer un Net peering.Exemple de requêteosc-cli api CreateNetPeering --profile exp-dev-010 --SourceNetId "ID_OF_YOUR_NET" --AccepterNetId "ID_OF_YOUR_CLUSTER" --AccepterOwnerId '"ID_OF_OKS_ACCOUNT"'
Exemple de résultat{ "ResponseContext": { "RequestId": "b99e373a-4abe-4249-bd37-08dbfe9caa1c" }, "NetPeering": { "Tags": [], "State": { "Name": "pending-acceptance", "Message": "Pending acceptance by ID_OF_OKS_ACCOUNT" }, "AccepterNet": { "NetId": "ID_OF_YOUR_CLUSTER", "IpRange": "10.50.0.0/16", "AccountId": "ID_OF_OKS_ACCOUNT" }, "SourceNet": { "NetId": "ID_OF_YOUR_NET", "IpRange": "192.168.0.0/16", "AccountId": "ID_YOUR_OUTSCALE_ACCOUNT" }, "NetPeeringId": "ID_OF_NET_PEERING" } }
-
Créez la custom resource pour l’acceptation de peering. Cette ressource est un fichier YAML dans lequel vous devez ajouter l’ID du Net peering obtenue précédemment.
peering-acceptance.yamlapiVersion: oks.dev/v1beta kind: NetPeeringAcceptance metadata: name: peering-acceptance spec: netPeeringId: ID_OF_NET_PEERING
-
Appliquez le fichier d’acceptation de peering à votre cluster.
Exemple de requêteoks-cli cluster --project-name "project-1" --cluster-name cluster-1 kubectl apply -f ~/PATH/peering-acceptance.yaml
Exemple de résultatnetpeeringacceptance.oks.dev/peering-acceptance created
-
Vous pouvez vérifier que le peering a bien été congfiguré avec la commande suivante :
Exemple de requêteoks-cli cluster --project-name "projet1" --cluster-name cluster1 kubectl get npeer
Exemple de résultatNAME SOURCE NET ID ACCEPTER NET ID NET PEERING ID STATE NAME STATE MESSAGE EXPIRATION DATE pcx-1a2b3c4d ID_OF_YOUR_NET ID_OF_YOUR_CLUSTER ID_OF_NET_PEERING active Active 2025-08-04T11:28:46.000Z
Vous pouvez également vérifier que le peering a bien été configuré avec Cockpit et OSC CLI. Pour en savoir plus, voir Obtenir des informations sur vos Net peerings.
Un Net peering n’expire jamais. Vous pouvez ignorer la date d’expiration qui apparaît dans le résultat de la commande OKS CLI. |
Supprimer le Net peering
Vous pouvez supprimer le Net peering établi entre votre cluster et votre Net avec la commande kubectl delete npeer, suivie de l’ID de votre Net peering :
oks-cli cluster --project-name "projet1" --cluster-name cluster1 kubectl delete npeer ID_OF_NET_PEERING
netpeering.oks.dev "ID_OF_NET_PEERING" deleted
Pages connexes