Connexion d'une interface réseau de cluster à une instance

Après avoir créé une instance, vous pouvez l'associer à un sous-réseau d'instance réseau de cluster existant. Vous pouvez également planifier votre réseau en créant d'abord les instances de réseau en cluster, avant de créer les instances de sous-réseau à connecter.

Avant de commencer

Vous pouvez attacher des interfaces réseau de cluster à une instance à l'aide de la CLI, de l'API ou de Terraform.

Connexion d'une interface réseau de cluster à une instance à partir de l'interface CLI

Pour associer une interface à une instance à partir de l'interface CLI, procédez comme suit :

  1. Configurez votre environnement d'interface de ligne de commande.

  2. Connectez-vous à votre compte depuis l'interface de ligne de commande (CLI). Après avoir saisi le mot de passe, le système vous demande le compte et la région :

    ibmcloud login --sso
    
  3. Pour attacher une interface à une instance, entrez la commande suivante :

    ibmcloud is instance-cluster-network-attachments INSTANCE --cnac CLUSTER_NETWORK_ATTACHMENT
    

    Où :

    INSTANCE
    ID ou nom de l'instance.
    --output
    Spécifiez le format de sortie, seul JSON est pris en charge. Un parmi : JSON.
    -q, quiet
    Supprimer la sortie prolixe.

Exemples de commande

  • Pour créer l'instance my-ins-1 avec des pièces jointes au réseau du cluster :

    ibmcloud is instance-create my-ins-1 cli-vpc us-south-2 fx3d-160c1792x9h100 cli-subnet --image ibm-ubuntu-20-04-6-minimal-amd64-5 --cluster-network-attachments '[{"name":"instance-cnac-1","cluster_network_interface":{"id":"7208-18204195-be40-4f12-aaaa-2649e19acb91"}},{"name":"instance-cnac-2","cluster_network_interface":{"id":"7208-cf6023a3-86c7-459f-84b8-536b4f812541"}},{"name":"instance-cnac-3","cluster_network_interface":{"id":"7208-2d55d27c-835c-4566-acbc-da36bcf49da7"}},{"name":"instance-cnac-4","cluster_network_interface":{"id":"7208-161e2919-c505-4e6d-bd49-88e7e0c0f1f3"}},{"name":"instance-cnac-5","cluster_network_interface":{"id":"7208-d700a40e-af61-45ee-b71a-a09203db76bd"}},{"name":"instance-cnac-6","cluster_network_interface":{"id":"7208-c7dbc8b9-6b47-4b83-8649-512e4e8f0a81"}},{"name":"instance-cnac-7","cluster_network_interface":{"id":"7208-f4773e40-49b5-4d44-8c68-7a75513bbf16"}},{"name":"instance-cnac-8","cluster_network_interface":{"id":"7208-46e097b5-c1ea-4669-aafd-7a4cc82d0e02"}}]'
    
  • Pour créer une instance my-ins-2 avec un fichier JSON de rattachement à un réseau de clusters :

    ibmcloud is instance-create my-ins-2 deceiving-strode-dimly-undesirable us-south-2 hx3d-160x1002x8h100 test-subnet --image ibm-ubuntu-20-04-6-minimal-amd64-5 --cluster-network-attachments @~/cnac.json
    

Connexion d'une interface réseau de cluster à une instance à l'aide de l'API

Pour associer une interface réseau de cluster à une instance à l'aide de l'API, procédez comme suit :

  1. Configurez votre environnement d'API avec les variables appropriées.
  2. Stockez toutes les variables supplémentaires à utiliser dans les commandes de l'API. Exemple :

version (chaîne): La version de l'API, au format YYYY-MM-DD.

  1. Lorsque toutes les variables sont initialisées, entrez la commande suivante pour attacher l'interface réseau du cluster à l'instance :

    curl -X POST "$vpc_api_endpoint/v1/instances/$instance_id/cluster_network_attachments?version=$today&generation=2" -H "Authorization: Bearer $iam_token" -d '{
      "name": "my-cluster-network-attachment",
      "cluster_network_interface": {
        "id": "$cluster_network_interface_id"
      }
    }'
    

Pour consulter l'ensemble des API de réseaux de clusters, voir la référence API VPC.

Attacher une interface réseau de cluster à une instance avec Terraform

L'exemple suivant prévoit l'attachement au réseau d'un cluster d'instances à l'aide de Terraform :

resource "ibm_is_instance_cluster_network_attachment" "is_instance_cluster_network_attachment_instance" {
  instance = var.is_instance_cluster_network_attachment_instance_id
  before {
    # href = "https://us-south.iaas.cloud.ibm.com/v1/instances/5dd61d72-acaa-47c2-a336-3d849660d010/cluster_network_attachments/0767-fb880975-db45-4459-8548-64e3995ac213" // conflicts with id
    id = "0767-fb880975-db45-4459-8548-64e3995ac213"
  }
  cluster_network_interface {
    # id              = var.is_cluster_network_interface_id // conflicts with other properties
    auto_delete     = var.is_cluster_auto_delete
    name            = var.is_cluster_name
    subnet          = var.is_cluster_subnet_id
    primary_ip {
      address = "192.168.3.4"
      name    = "my-cluster-subnet-reserved-ip-1"
    }
  }
  name = var.is_instance_cluster_network_attachment_name
}