Aggiungere NIC dinamiche a un'istanza

Questa pagina descrive come aggiungere un'interfaccia di rete dinamica (NIC) a un'istanza VM esistente.

Per informazioni sulla creazione di nuove istanze, consulta Creare VM con più interfacce di rete.

Prima di iniziare

Prima di aggiungere NIC dinamiche a un'istanza, procedi nel seguente modo:

Aggiungere una NIC dinamica

Questa sezione descrive come aggiungere una NIC dinamica a un'istanza.

Quando aggiungi una NIC dinamica, potresti notare un ritardo di propagazione. Questo ritardo è in genere di pochi secondi, ma in rari casi può arrivare fino a un minuto.

gcloud

Per aggiungere una NIC dinamica a un'istanza esistente, utilizza il comando gcloud beta compute instances network-interfaces add.

gcloud beta compute instances network-interfaces add INSTANCE_NAME \
   --zone=ZONE \
   --vlan=VLAN_ID \
   --parent-nic-name=PARENT_VNIC_NAME \
   --network=NETWORK \
   --subnetwork=SUBNET

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza a cui aggiungere la NIC dinamica
  • ZONE: la zona dell'istanza
  • VLAN_ID: l'ID VLAN della NIC dinamica
  • PARENT_VNIC_NAME: il nome della vNIC principale, ad esempio nic0
  • NETWORK: la rete a cui è collegata la NIC dinamica
  • SUBNET: la subnet a cui è collegata la NIC dinamica

In alternativa, puoi aggiungere una NIC dinamica a un'istanza quando aggiorni le proprietà dell'istanza. Per ulteriori informazioni, vedi Aggiorna le proprietà delle istanze.

Per aggiungere NIC dinamiche a un gruppo di istanze gestite (MIG), consulta il comando gcloud beta compute instance-groups managed set-instance-template.

API

Per aggiungere una NIC dinamica a un'istanza esistente, utilizza il metodo instances.addNetworkInterface.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addNetworkInterface
{
  "subnetwork": "regions/REGION/subnetworks/SUBNET",
  "parentNicName": "PARENT_VNIC_NAME",
  "vlan": "VLAN_ID"
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto che contiene l'istanza
  • ZONE: la zona che contiene l'istanza
  • INSTANCE_NAME: il nome dell'istanza a cui aggiungere una NIC dinamica
  • REGION: la regione che contiene l'istanza
  • SUBNET: la subnet a cui si collega la NIC dinamica
  • PARENT_VNIC_NAME: il nome della vNIC principale, ad esempio nic0
  • VLAN_ID: l'ID VLAN della NIC dinamica

In alternativa, puoi aggiungere una NIC dinamica a un'istanza quando aggiorni le proprietà dell'istanza. Per ulteriori informazioni, vedi Aggiorna le proprietà delle istanze.

Per aggiungere NIC dinamiche a un gruppo di istanze gestite (MIG), consulta il metodo instanceGroupManagers.setInstanceTemplate.

Configura il sistema operativo guest per le NIC dinamiche

Questa sezione descrive come completare la configurazione aggiuntiva del sistema operativo guest necessaria quando aggiungi NIC dinamiche a un'istanza nuova o esistente.

Scegli una delle seguenti opzioni di configurazione:

Opzione di configurazione Descrizione
Configurare la gestione automatica delle NIC dinamiche (consigliato)

Utilizza l'agente guest Google per la gestione automatica delle schede di interfaccia di rete dinamiche.

L'ambiente guest include l'agente guest di Google, che automatizza l'installazione e la gestione delle interfacce VLAN nello spazio dei nomi root nelle distribuzioni Linux delle immagini del sistema operativo Google Cloud . Questa funzionalità è supportata nella versione dell'agente ospite Google 20250204.02 e successive.

Configura manualmente il sistema operativo guest

Esegui i comandi nel sistema operativo guest per installare le NIC dinamiche.

Se utilizzi questa opzione, la configurazione non viene mantenuta automaticamente dopo un riavvio dell'istanza. Per fare in modo che le configurazioni vengano mantenute dopo un riavvio, utilizza il metodo consigliato per configurare interfacce di rete persistenti per la tua distribuzione Linux. Ad esempio, vedi NetworkConfiguration per Debian e interfaces per Ubuntu.

Configurare la gestione automatica delle NIC dinamiche

Questa sezione descrive come configurare la gestione automatica delle schede di interfaccia di rete dinamiche utilizzando l'agente guest Google.

Devi completare questi passaggi una sola volta per istanza. Se hai aggiunto una NIC dinamica a un'istanza per la quale hai già completato questi passaggi, non è necessario ripeterli.

Per configurare la gestione automatica delle NIC dinamiche:

  1. Connettiti all'istanza utilizzando SSH.

  2. Assicurati che l'istanza esegua l'agente guest di Google alla versione 20250204.02 o successive:

    1. Per determinare se l'istanza esegue l'agente guest di Google, esegui il comando appropriato elencato in Pacchetti installati per l'ambiente guest.

      1. Se la tua istanza non esegue l'agente guest Google, installa l'ambiente guest.

      2. Se la tua istanza esegue l'agente guest Google, aggiorna l'ambiente guest.

      L'installazione o l'aggiornamento dell'ambiente guest garantisce di avere l'ultima versione dell'agente guest Google. Puoi confermare la versione seguendo i passaggi descritti in Convalida dell'ambiente guest.

  3. Configura l'agente ospite Google per gestire le NIC dinamiche:

    1. Apri o crea il file di configurazione dell'ambiente guest.

      edit /etc/default/instance_configs.cfg
      
    2. Aggiungi quanto segue al file di configurazione, quindi salva le modifiche ed esci dall'editor.

      [NetworkInterfaces]
      vlan_setup_enabled = true
      manage_primary_nic = true
      

      Per informazioni su queste impostazioni, vedi quanto segue:

      • vlan_setup_enabled = true: configura l'agente guest Google per installare e gestire le NIC dinamiche
      • manage_primary_nic = true: un'impostazione aggiuntiva necessaria per l'agente guest Google per gestire le NIC dinamiche create in nic0

      Per ulteriori informazioni sulla modifica del file di configurazione dell'agente guest, consulta la sezione Configurazione nella documentazione dell'agente guest Google.

    3. Riavvia l'agente guest eseguendo il seguente comando. In alternativa, puoi riavviare l'istanza.

      sudo systemctl restart google-guest-agent.service
      
  4. Elenca le interfacce di rete sulla tua istanza per verificare che l'agente guest Google abbia installato le NIC dinamiche.

    Ad esempio, il seguente comando mostra un nome come a-gcp.ens4.11 per una NIC dinamica con un ID VLAN di 11 creata come elemento secondario dell'interfaccia ens4.

    sudo ip -d addr
    

Configurare manualmente il sistema operativo guest

Per configurare manualmente le NIC dinamiche nel sistema operativo guest di un'istanza:

  1. Connettiti all'istanza utilizzando SSH.

  2. Se l'istanza esegue l'agente guest Google, disattiva la gestione automatica delle NIC dinamiche. Puoi determinare se l'istanza esegue l'agente guest Google utilizzando il comando appropriato elencato in Pacchetti installati per l'ambiente guest.

    Per disattivare la gestione automatica delle NIC dinamiche:

    1. Apri o crea il file di configurazione dell'ambiente guest.

        edit /etc/default/instance_configs.cfg
        

    2. Aggiungi quanto segue al file di configurazione, quindi salva le modifiche ed esci dall'editor.

      [NetworkInterfaces]
      vlan_setup_enabled = false
      manage_primary_nic = false
      

      Per ulteriori informazioni sulla modifica del file di configurazione dell'agente guest, consulta la sezione Configurazione nella documentazione dell'agente guest Google.

    3. Riavvia l'agente guest eseguendo il seguente comando. In alternativa, puoi riavviare l'istanza.

      sudo systemctl restart google-guest-agent.service
      
  3. Per ogni NIC dinamica che hai creato, procedi nel seguente modo:

    1. Ottieni l'indirizzo MAC della vNIC principale. Per trovare l'indirizzo MAC, esegui una query sul server di metadati eseguendo il seguente comando:

      curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/VNIC_NUMBER/mac -H "Metadata-Flavor: Google"
      

      Sostituisci VNIC_NUMBER con il numero della vNIC principale. Ad esempio, 0 per nic0 o 1 per nic1.

    2. Configura una sottointerfaccia nel sistema operativo guest dell'istanza. Ad esempio, su una VM Debian, esegui i seguenti comandi:

      sudo modprobe 8021q
      sudo ip link add link VNIC_NAME name VNIC_NAME.VLAN_ID type vlan id VLAN_ID
      sudo ip addr add IP_ADDRESS dev VNIC_NAME.VLAN_ID
      sudo ip link set dev VNIC_NAME.VLAN_ID address MAC_ADDRESS
      sudo ip link set up VNIC_NAME.VLAN_ID
      

      Sostituisci quanto segue:

      • VNIC_NAME: il nome della vNIC principale assegnata dal sistema operativo, ad esempio eth1 o ens4
      • IP_ADDRESS: l'indirizzo IP della NIC dinamica che hai creato
      • VLAN_ID: l'ID VLAN che hai assegnato alla NIC dinamica
      • MAC_ADDRESS: l'indirizzo MAC ottenuto nel passaggio precedente