Dynamische NICs zu einer Instanz hinzufügen

Auf dieser Seite wird beschrieben, wie Sie einer vorhandenen VM-Instanz eine dynamische Netzwerkschnittstelle hinzufügen.

Informationen zum Erstellen neuer Instanzen finden Sie unter VMs mit mehreren Netzwerkschnittstellen erstellen.

Hinweise

Bevor Sie einer Instanz dynamische NICs hinzufügen, müssen Sie Folgendes tun:

Dynamic NIC hinzufügen

In diesem Abschnitt wird beschrieben, wie Sie einer Instanz eine dynamische NIC hinzufügen.

Wenn Sie eine dynamische NIC hinzufügen, kann es zu einer Übertragungsverzögerung kommen. Diese Verzögerung dauert in der Regel nur wenige Sekunden, kann jedoch in seltenen Fällen auch bis zu einer Minute betragen.

gcloud

Mit dem Befehl gcloud beta compute instances network-interfaces add können Sie einer vorhandenen Instanz eine dynamische NIC hinzufügen.

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

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: der Name der Instanz, der die dynamische NIC hinzugefügt werden soll
  • ZONE: Zone der Instanz
  • VLAN_ID: die VLAN-ID der dynamischen NIC
  • PARENT_VNIC_NAME: der Name der übergeordneten vNIC, z. B. nic0
  • NETWORK: Das Netzwerk, an das die dynamische NIC angehängt wird.
  • SUBNET: Das Subnetz, an das die dynamische NIC angehängt wird.

Alternativ können Sie einer Instanz eine dynamische NIC hinzufügen, wenn Sie die Instanzeigenschaften aktualisieren. Weitere Informationen finden Sie unter Instanzattribute aktualisieren.

Informationen zum Hinzufügen dynamischer NICs zu einer verwalteten Instanzgruppe (MIG) finden Sie unter gcloud beta compute instance-groups managed set-instance-template-Befehl.

API

Verwenden Sie die Methode instances.addNetworkInterface, um einer vorhandenen Instanz eine dynamische NIC hinzuzufügen.

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

Ersetzen Sie Folgendes:

  • PROJECT_ID ist die ID des Projekts, das die Instanz enthält.
  • ZONE: Die Zone, die die Instanz enthält
  • INSTANCE_NAME: Der Name der Instanz, der eine dynamische NIC hinzugefügt werden soll
  • REGION: Die Region, die die Instanz enthält
  • SUBNET: Das Subnetz, an das die dynamische NIC angehängt wird.
  • PARENT_VNIC_NAME: der Name der übergeordneten vNIC, z. B. nic0
  • VLAN_ID: die VLAN-ID der dynamischen NIC

Alternativ können Sie einer Instanz eine dynamische NIC hinzufügen, wenn Sie die Instanzeigenschaften aktualisieren. Weitere Informationen finden Sie unter Instanzattribute aktualisieren.

Informationen zum Hinzufügen dynamischer NICs zu einer verwalteten Instanzgruppe (MIG) finden Sie in der Methode instanceGroupManagers.setInstanceTemplate.

Gastbetriebssystem für dynamische NICs konfigurieren

In diesem Abschnitt wird beschrieben, wie Sie die zusätzliche Gastbetriebssystemkonfiguration abschließen, die erforderlich ist, wenn Sie einer neuen oder vorhandenen Instanz dynamische NICs hinzufügen.

Wählen Sie eine der folgenden Konfigurationsoptionen aus:

Konfigurationsoption Beschreibung
Automatische Verwaltung dynamischer NICs konfigurieren (empfohlen)

Verwenden Sie den Google-Gast-Agent für die automatische Verwaltung dynamischer NICs.

Die Gastumgebung enthält den Google-Gastagent, der die Installation und Verwaltung von VLAN-Schnittstellen im Root-Namespace auf Linux-Distributionen von Google Cloud OS-Images automatisiert. Diese Funktion wird in Google Guest Agent-Version 20250204.02 und höher unterstützt.

Gastbetriebssystem manuell konfigurieren

Führen Sie Befehle im Gastbetriebssystem aus, um die dynamischen NICs zu installieren.

Wenn Sie diese Option verwenden, bleibt Ihre Konfiguration nach einem Neustart der Instanz nicht automatisch erhalten. Damit die Konfigurationen nach einem Neustart beibehalten werden, verwenden Sie die empfohlene Methode zum Konfigurieren von persistenten Netzwerkschnittstellen für Ihre Linux-Distribution. Beispiele finden Sie unter NetworkConfiguration für Debian und interfaces für Ubuntu.

Automatische Verwaltung dynamischer NICs konfigurieren

In diesem Abschnitt wird beschrieben, wie Sie die automatische Verwaltung dynamischer NICs mit dem Google-Gast-Agent konfigurieren.

Sie müssen diese Schritte nur einmal pro Instanz ausführen. Wenn Sie einer Instanz, für die Sie diese Schritte bereits ausgeführt haben, eine dynamische NIC hinzugefügt haben, müssen Sie sie nicht wiederholen.

So konfigurieren Sie die automatische Verwaltung dynamischer NICs:

  1. Stellen Sie eine SSH-Verbindung zur Instanz her.

  2. Prüfen Sie, ob auf der Instanz der Google-Gast-Agent in Version 20250204.02 oder höher ausgeführt wird:

    1. Wenn Sie feststellen möchten, ob auf der Instanz der Google-Gast-Agent ausgeführt wird, führen Sie den entsprechenden Befehl aus, der unter Installierte Pakete für die Gastumgebung aufgeführt ist.

      1. Wenn auf Ihrer Instanz nicht der Google-Gast-Agent ausgeführt wird, installieren Sie die Gastumgebung.

      2. Wenn auf Ihrer Instanz der Google-Gast-Agent ausgeführt wird, aktualisieren Sie die Gastumgebung.

      Durch die Installation oder Aktualisierung der Gastumgebung wird sichergestellt, dass Sie die neueste Version des Google-Gast-Agents haben. Sie können die Version bestätigen, indem Sie die Schritte unter Gastumgebung validieren ausführen.

  3. Konfigurieren Sie den Google-Gast-Agenten so, dass er dynamische NICs verwaltet:

    1. Öffnen oder erstellen Sie die Konfigurationsdatei für die Gastumgebung:

      edit /etc/default/instance_configs.cfg
      
    2. Fügen Sie der Konfigurationsdatei Folgendes hinzu, speichern Sie die Änderungen und beenden Sie den Editor.

      [NetworkInterfaces]
      vlan_setup_enabled = true
      manage_primary_nic = true
      

      Weitere Informationen zu diesen Einstellungen finden Sie unter den folgenden Links:

      • vlan_setup_enabled = true: Konfiguriert den Google-Gast-Agenten für die Installation und Verwaltung dynamischer NICs.
      • manage_primary_nic = true: Eine zusätzliche Einstellung, die erforderlich ist, damit der Google-Gast-Agent dynamische NICs verwalten kann, die unter nic0 erstellt wurden.

      Weitere Informationen zum Bearbeiten der Konfigurationsdatei des Gast-Agents finden Sie in der Dokumentation zum Google-Gast-Agent im Abschnitt Konfiguration.

    3. Starten Sie den Gast-Agent mit dem folgenden Befehl neu. Alternativ können Sie die Instanz neu starten.

      sudo systemctl restart google-guest-agent.service
      
  4. Listen Sie die Netzwerkschnittstellen auf Ihrer Instanz auf, um zu sehen, dass der Google-Gast-Agent Ihre dynamischen NICs installiert hat.

    Mit dem folgenden Befehl wird beispielsweise ein Name wie a-gcp.ens4.11 für eine dynamische NIC mit der VLAN-ID 11 angezeigt, die als untergeordnetes Element der Schnittstelle ens4 erstellt wurde.

    sudo ip -d addr
    

Gastbetriebssystem manuell konfigurieren

So konfigurieren Sie dynamische NICs im Gastbetriebssystem einer Instanz manuell:

  1. Stellen Sie eine SSH-Verbindung zur Instanz her.

  2. Wenn auf der Instanz der Google-Gast-Agent ausgeführt wird, deaktivieren Sie die automatische Verwaltung dynamischer NICs. Sie können mit dem entsprechenden Befehl, der unter Installierte Pakete für die Gastumgebung aufgeführt ist, feststellen, ob auf der Instanz der Google-Gast-Agent ausgeführt wird.

    So deaktivieren Sie die automatische Verwaltung dynamischer NICs:

    1. Öffnen oder erstellen Sie die Konfigurationsdatei für die Gastumgebung:

        edit /etc/default/instance_configs.cfg
        

    2. Fügen Sie der Konfigurationsdatei Folgendes hinzu, speichern Sie die Änderungen und beenden Sie den Editor.

      [NetworkInterfaces]
      vlan_setup_enabled = false
      manage_primary_nic = false
      

      Weitere Informationen zum Bearbeiten der Konfigurationsdatei des Gast-Agents finden Sie in der Dokumentation zum Google-Gast-Agent im Abschnitt Konfiguration.

    3. Starten Sie den Gast-Agent mit dem folgenden Befehl neu. Alternativ können Sie die Instanz neu starten.

      sudo systemctl restart google-guest-agent.service
      
  3. Führen Sie für jede dynamische NIC, die Sie erstellt haben, folgende Schritte aus:

    1. Rufen Sie die MAC-Adresse der übergeordneten vNIC ab. Rufen Sie die MAC-Adresse vom Metadatenserver ab, indem Sie den folgenden Befehl ausführen:

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

      Ersetzen Sie VNIC_NUMBER durch die Nummer der übergeordneten vNIC. Beispiel: 0 für nic0 oder 1 für nic1.

    2. Konfigurieren Sie ein untergeordnetes Interface im Gastbetriebssystem der Instanz. Führen Sie beispielsweise auf einer Debian-VM die folgenden Befehle aus:

      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
      

      Ersetzen Sie Folgendes:

      • VNIC_NAME: der Name der übergeordneten vNIC, die vom Betriebssystem zugewiesen wurde, z. B. eth1 oder ens4
      • IP_ADDRESS: die IP-Adresse der dynamischen NIC, die Sie erstellt haben
      • VLAN_ID: Die VLAN-ID, die Sie der dynamischen NIC zugewiesen haben
      • MAC_ADDRESS: die MAC-Adresse, die Sie im vorherigen Schritt erhalten haben