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 :

  1. 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.yaml
      apiVersion: oks.dev/v1beta
      kind: NetPeeringRequest
      metadata:
        name: peering-request
      spec:
        accepterNetId: ID_OF_YOUR_NET
        accepterOwnerId: "ID_YOUR_OUTSCALE_ACCOUNT"
  2. Appliquez le fichier de requête de peering à votre cluster en utilisant la commande suivante :

    Exemple de requête
    oks-cli cluster --project-name "NAME_OF_PROJECT" --cluster-name NAME_OF_CLUSTER kubectl apply -f ~/PATH/peering-request.yaml
    Exemple de résultat
    netpeeringrequest.oks.dev/peering-request created
  3. 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ête
    oks-cli cluster --project-name "NAME_OF_PROJECT" --cluster-name NAME_OF_CLUSTER kubectl get npr
    Exemple de résultat
    NAME              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
  4. Acceptez la requête de peering du côté du Net avec OSC CLI :

    Exemple de requête
    osc-cli api AcceptNetPeering --NetPeeringId "ID_OF_NET_PEERING"
  5. Vous pouvez vérifier que le peering a bien été configuré avec la commande suivante :

    Exemple de requête
    oks-cli cluster --project-name "project-1" --cluster-name cluster-1 kubectl get npeer
    Exemple de résultat
    NAME           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. Cette action peut être réalisée avec Cockpit ou OSC CLI. Pour en savoir plus, voir Créer un Net.

  • Créez un cluster à appairer à votre Net. Pour en savoir plus, voir Créer un Net.

  • Créez un node pool et obtenez des informations à propos de ce node pool. Pour en savoir plus, voir Lister vos node pools > Lister vos node pools avec kubectl. Cela vous permet de réunir les informations suivantes à propos du cluster que vous avez créez :

    • l’ID de votre compte OKS (oks.account-id),

    • l’ID de votre réseau OKS (oks.network_id).

  1. 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ête
    osc-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"
        }
    }
  2. 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.yaml
    apiVersion: oks.dev/v1beta
    kind: NetPeeringAcceptance
    metadata:
      name: peering-acceptance
    spec:
      netPeeringId: ID_OF_NET_PEERING
  3. Appliquez le fichier d’acceptation de peering à votre cluster.

    Exemple de requête
    oks-cli cluster --project-name "project-1" --cluster-name cluster-1 kubectl apply -f ~/PATH/peering-acceptance.yaml
    Exemple de résultat
    netpeeringacceptance.oks.dev/peering-acceptance created
  4. Vous pouvez vérifier que le peering a bien été congfiguré avec la commande suivante :

    Exemple de requête
    oks-cli cluster --project-name "projet1" --cluster-name cluster1 kubectl get npeer
    Exemple de résultat
    NAME           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 :

Exemple de requête
oks-cli cluster --project-name "projet1" --cluster-name cluster1 kubectl delete npeer ID_OF_NET_PEERING
Exemple de résultat
netpeering.oks.dev "ID_OF_NET_PEERING" deleted

Pages connexes