Conectar una interfaz de red de clúster a una instancia

Después de crear una instancia, puede conectarla a una subred de instancia de red de clúster existente. Como alternativa, puede planificar su red creando primero las instancias de red del clúster, antes de crear las instancias de subred que se van a conectar.

Antes de empezar

Puede adjuntar interfaces de red de clúster a una instancia con la CLI, la API o Terraform.

Conectar una interfaz de red de clúster a una instancia desde la CLI

Para adjuntar una interfaz a una instancia desde la CLI, siga estos pasos:

  1. Configure el entorno de la CLI.

  2. Inicia sesión en tu cuenta desde la CLI. Después de introducir la contraseña, el sistema le pedirá la cuenta y la región:

    ibmcloud login --sso
    
  3. Para adjuntar una interfaz a una instancia, introduzca el siguiente comando:

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

    Donde:

    INSTANCE
    ID o nombre de la instancia.
    --output
    Especificar el formato de salida, solo se admite JSON. Valores posibles: JSON.
    -q, quiet
    Suprimir la salida detallada.

Ejemplos de mandato

  • Para crear la instancia my-ins-1 con anexos de red de clúster:

    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"}}]'
    
  • Para crear una instancia my-ins-2 con un archivo JSON de anexos de red de clúster:

    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
    

Conectar una interfaz de red de clúster a una instancia con la API

Para conectar una interfaz de red de clúster a una instancia mediante la API, siga estos pasos:

  1. Configure el entorno de la API con las variables adecuadas.
  2. Almacene las variables adicionales que se utilizarán en los mandatos de la API. Por ejemplo:

version (cadena): La versión de la API, en formato YYYY-MM-DD.

  1. Una vez iniciadas todas las variables, introduzca el siguiente comando para adjuntar la interfaz de red del clúster a la instancia:

    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"
      }
    }'
    

Para ver el conjunto completo de API de red de clústeres, consulte la referencia de API de VPC.

Conectar una interfaz de red de clúster a una instancia con Terraform

El siguiente ejemplo aprovisiona un adjunto de red de clúster de instancia utilizando 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
}