Bereitstellen von Containernetzwerken für einen eigenständigen Windows Docker-Host
Das Azure CNI-Plug-In ermöglicht ein Netzwerk pro Container/Pod für eigenständige Docker-Hosts und Kubernetes-Cluster. In diesem Artikel erfahren Sie, wie Sie das CNI-Plug-In für einen eigenständigen Windows Docker-Host installieren und konfigurieren.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
Erstellen eines virtuellen Netzwerks und eines Azure Bastion-Hosts
Mit den folgenden Schritten wird ein virtuelles Netzwerk mit einem Ressourcensubnetz, einem Azure Bastion-Subnetz und einem Bastion-Host erstellt:
Suchen Sie im Portal nach der Option Virtuelle Netzwerke und wählen Sie sie aus.
Wählen Sie auf der Seite Virtuelle Netzwerke die Option + Erstellen aus.
Geben Sie unter Virtuelles Netzwerk erstellen auf der Registerkarte Grundlagen die folgenden Informationen ein, oder wählen Sie sie aus:
Einstellung Wert Projektdetails Subscription Wählen Sie Ihr Abonnement aus. Resource group Wählen Sie Neu erstellen.
Geben Sie test-rg für den Namen ein.
Wählen Sie OK aus.Instanzendetails Name Geben Sie vnet-1 ein. Region Wählen Sie USA, Osten 2 aus. Wählen Sie Weiter aus, um zur Registerkarte Sicherheit zu gelangen.
Wählen Sie im Abschnitt Azure Bastion die Option Azure Bastion aktivieren aus.
Bastion verwendet Ihren Browser, um mithilfe ihrer privaten IP-Adressen eine Verbindung mit VMs in Ihrem virtuellen Netzwerk über Secure Shell (SSH) oder das Remotedesktopprotokoll (RDP) herzustellen. Die VMs benötigen keine öffentlichen IP-Adressen, keine Clientsoftware und keine spezielle Konfiguration. Weitere Informationen finden Sie unter Was ist Azure Bastion?.
Hinweis
Die Stundenpreise gelten ab dem Zeitpunkt der Bereitstellung von Bastion, unabhängig von der Nutzung ausgehender Daten. Weitere Informationen dazu finden Sie unter Preise und SKUs. Wenn Sie Bastion im Rahmen eines Tutorials oder Tests bereitstellen, empfiehlt es sich, diese Ressource zu löschen, sobald Sie sie nicht mehr benötigen.
Geben Sie unter Azure Bastion die folgenden Informationen ein, oder wählen Sie diese aus:
Einstellung Wert Azure Bastion-Hostname Geben Sie bastion ein. Öffentliche Azure Bastion-IP-Adresse Wählen Sie Öffentliche IP-Adresse erstellen aus.
Geben Sie public-ip-bastion als Namen ein.
Wählen Sie OK aus.Wählen Sie Weiter aus, um zur Registerkarte IP-Adressen zu gelangen.
Wählen Sie im Feld für den Adressraum unter Subnetze das Standardsubnetz aus.
Geben Sie unter Subnetz bearbeiten die folgenden Informationen ein, oder wählen Sie sie aus:
Einstellung Wert Subnetzzweck Übernehmen Sie den Standardwert Default. Name Geben Sie subnet-1 ein. IPv4 IPv4-Adressbereich Übernehmen Sie den Standardwert 10.0.0.0/16. Startadresse Übernehmen Sie den Standardwert 10.0.0.0. Size Übernehmen Sie den Standardwert: /24 (256 Adressen). Wählen Sie Speichern.
Wählen Sie unten im Fenster die Option Überprüfen + erstellen aus. Klicken Sie nach der Validierung auf Erstellen.
Die Bereitstellung des Netzwerks und des Bastion-Hosts kann einige Minuten dauern. Fahren Sie mit den nächsten Schritten fort, wenn die Bereitstellung oder die Erstellung des virtuellen Netzwerks abgeschlossen ist.
Erstellen eines virtuellen Testcomputers
Mit dem folgenden Verfahren wird im virtuellen Netzwerk eine Test-VM mit dem Namen vm-1 erstellt.
Suchen Sie im Portal nach Virtuelle Computer, und klicken Sie darauf.
Wählen Sie unter VM die Option + Erstellen und dann Azure-VM aus.
Geben Sie unter Virtuellen Computer erstellen auf der Registerkarte Grundlagen die folgenden Informationen ein, oder wählen Sie sie aus:
Einstellung Wert Projektdetails Subscription Wählen Sie Ihr Abonnement aus. Resource group Wählen Sie test-rg aus. Instanzendetails Name des virtuellen Computers Geben Sie vm-1 ein. Region Wählen Sie USA, Osten 2 aus. Verfügbarkeitsoptionen Wählen Sie die Option Keine Infrastrukturredundanz erforderlich aus. Sicherheitstyp Übernehmen Sie den Standardwert Standard. Image Wählen Sie Windows Server 2022 Datacenter – x64 Gen2 aus. VM-Architektur Übernehmen Sie den Standardwert x64. Size Wählen Sie eine Größe aus. Administratorkonto Authentifizierungsart Wählen Sie Kennwort aus. Username Geben Sie azureuser ein. Kennwort Geben Sie ein Kennwort ein. Kennwort bestätigen Geben Sie das Kennwort erneut ein. Regeln für eingehende Ports Öffentliche Eingangsports Wählen Sie Keine. Wählen Sie oben auf der Seite die Registerkarte Netzwerk aus.
Geben Sie auf der Registerkarte Netzwerk die folgenden Informationen ein, bzw. wählen Sie sie aus:
Einstellung Wert Netzwerkschnittstelle Virtuelles Netzwerk Wählen Sie vnet-1 aus. Subnet Wählen Sie Subnetz-1 (10.0.0.0/24) aus. Öffentliche IP-Adresse Wählen Sie Keine aus. NIC-Netzwerksicherheitsgruppe Wählen Sie Erweitertaus. Konfigurieren von Netzwerksicherheitsgruppen Wählen Sie Neu erstellen.
Geben Sie nsg-1 für Name ein.
Behalten Sie für den Rest die Standards bei, und wählen Sie OK aus.Behalten Sie für die restlichen Einstellungen die Standards bei, und wählen Sie dann Überprüfen + erstellen aus.
Überprüfen Sie die Einstellungen, und wählen Sie Erstellen aus.
Hinweis
VMs in einem virtuellen Netzwerk mit einem Bastionhost benötigen keine öffentlichen IP-Adressen. Bastion stellt die öffentliche IP-Adresse bereit und die VMs verwenden private IP-Adressen für die Kommunikation innerhalb des Netzwerks. Sie können die öffentlichen IP-Adressen von allen VMs in von Bastion gehosteten virtuellen Netzwerken entfernen. Weitere Informationen finden Sie unter Trennen einer öffentlichen IP-Adresse von einer Azure-VM.
Hinweis
Azure stellt eine ausgehende Standardzugriffs-IP für VMs bereit, denen keine öffentliche IP-Adresse zugewiesen ist oder die sich im Backendpool eines internen grundlegenden Azure-Lastenausgleichs befinden. Der Mechanismus für Standard-IP-Adressen für den ausgehenden Zugriff stellt eine ausgehende IP-Adresse bereit, die nicht konfigurierbar ist.
Die Standard-IP-Adresse für ausgehenden Zugriff ist deaktiviert, wenn eines der folgenden Ereignisse auftritt:
- Dem virtuellen Computer wird eine öffentliche IP-Adresse zugewiesen.
- Die VM wird im Backendpool eines Standardlastenausgleichs platziert (mit oder ohne Ausgangsregeln).
- Dem Subnetz der VM wird eine Azure NAT Gateway-Ressource zugewiesen.
VMs, die Sie mithilfe von VM-Skalierungsgruppen im Orchestrierungsmodus „Flexibel“ erstellen, haben keinen ausgehenden Standardzugriff.
Weitere Informationen zu ausgehenden Verbindungen in Azure finden Sie unter Standardzugriff in ausgehender Richtung in Azure und Verwenden von SNAT (Source Network Address Translation) für ausgehende Verbindungen.
Hinzufügen der IP-Konfiguration
Das Azure CNI-Plug-In ordnet IP-Adressen Containern basierend auf einem Pool von IP-Adressen zu, die Sie für die virtuelle Netzwerkschnittstelle der VM erstellen. Für jeden Container auf dem Host muss eine IP-Konfiguration für die virtuelle Netzwerkschnittstelle vorhanden sein. Wenn die Anzahl der Container auf dem Server die Anzahl der IP-Konfigurationen für die virtuelle Netzwerkschnittstelle übersteigt, startet der Container zwar, besitzt aber keine IP-Adresse.
In diesem Abschnitt fügen Sie der virtuellen Netzwerkschnittstelle der VM, die Sie zuvor erstellt haben, eine IP-Konfiguration hinzu.
Geben Sie im Suchfeld oben im Portal den Suchbegriff Virtueller Computer ein. Wählen Sie in den Suchergebnissen Virtuelle Computer aus.
Wählen Sie vm-1 aus.
Wählen Sie unter Einstellungen die Option Netzwerk.
Wählen Sie den Namen der Netzwerkschnittstelle neben Netzwerkschnittstelle aus. Die Netzwerkschnittstelle trägt den Namen vm-1 mit einer zufällig gewählten Zahl.
Wählen Sie unter Einstellungen für die Netzwerkschnittstelle die Option IP-Konfigurationen aus.
Wählen Sie unter IP-Konfigurationen für Name die Option ipconfig1 aus.
Ändern Sie in den ipconfig1-Einstellungen die Zuweisung der privaten IP-Adresse von Dynamisch in Statisch.
Wählen Sie Speichern aus.
Kehren Sie zu IP-Konfigurationen zurück.
Klicken Sie auf + Hinzufügen.
Geben Sie unter IP-Konfiguration hinzufügen die folgenden Informationen ein, oder wählen Sie sie aus:
Einstellung Wert Name Geben Sie ipconfig-2 ein. Einstellungen für private IP-Adressen Zuteilung Wählen Sie Statisch aus. IP-Adresse Geben Sie 10.0.0.5 ein. Klicken Sie auf OK.
Überprüfen Sie, ob ipconfig2 als sekundäre IP-Konfiguration hinzugefügt wurde.
Wiederholen Sie die Schritte 1 bis 13, um so viele Konfigurationen wie Container hinzuzufügen, die Sie auf dem Containerhost bereitstellen möchten.
Konfigurieren von IP-Adressen in Windows
Um einer Windows-VM mehrere IP-Adressen zuzuweisen, müssen die IP-Adressaten der Netzwerkschnittstelle in Windows hinzugefügt werden. In diesem Abschnitt melden Sie sich bei der VM an und konfigurieren die IP-Konfigurationen, die Sie im vorherigen Abschnitt erstellt haben.
Geben Sie im Suchfeld oben im Portal den Suchbegriff Virtueller Computer ein. Wählen Sie in den Suchergebnissen Virtuelle Computer aus.
Wählen Sie vm-1 aus.
Wählen Sie auf der Seite Übersicht von vm-1 die Option Verbinden und dann Bastion aus.
Geben Sie die Werte für Benutzername und Kennwort ein, die Sie beim Bereitstellen der VM in den vorherigen Schritten erstellt haben.
Wählen Sie Verbinden.
Öffnen Sie die Netzwerkverbindungskonfiguration auf der VM. Wählen Sie Start>Ausführen aus, und geben Sie
ncpa.cpl
ein.Klicken Sie auf OK.
Wählen Sie die Netzwerkschnittstelle der VM und dann Eigenschaften aus:
Wählen Sie unter Ethernet-Eigenschaften die Option Internetprotokoll Version 4 (TCP/IPv4) und dann Eigenschaften aus.
Geben Sie auf der Registerkarte Allgemein die folgenden Informationen ein, oder wählen Sie sie aus:
Einstellung Wert Wählen Sie Folgende IP-Adresse verwenden: aus. IP-Adresse: Geben Sie 10.0.0.4 ein Subnetzmaske: Geben Sie 255.255.255.0 ein. Standardgateway Geben Sie 10.0.0.1 ein Wählen Sie Folgende DNS-Serveradressen verwenden: aus. Bevorzugter DNS-Server: Geben Sie 168.63.129.16 ein. Diese IP-Adresse ist die von DHCP zugewiesene IP-Adresse für die Azure DNS-Standardinstanz. Wählen Sie Erweitert... aus.
Wählen Sie in IP-Adressen die Option Hinzufügen... aus.
Geben Sie die folgenden Informationen an:
Einstellung Wert TCP/IP-Adresse IP-Adresse: Geben Sie 10.0.0.5 ein Subnetzmaske: Geben Sie 255.255.255.0 ein. Klicken Sie auf Hinzufügen.
Um weitere IP-Adressen hinzuzufügen, die beliebigen zuvor erstellten zusätzlichen IP-Konfigurationen entsprechen, wählen Sie Hinzufügen aus.
Klicken Sie auf OK.
Klicken Sie auf OK.
Klicken Sie auf OK.
Die Bastion-Verbindung fällt einige Sekunden aus, wenn die Netzwerkkonfiguration angewendet wird. Warten Sie einige Sekunden, und versuchen Sie dann erneut, die Verbindung herzustellen. Fahren Sie fort, wenn die erneute Verbindung erfolgreich ist.
Installieren von Docker
Die Docker-Container-Engine muss auf der zuvor erstellten VM installiert und konfiguriert werden.
Melden Sie sich bei der zuvor erstellten VM mit dem Azure Bastion-Host an, den Sie mit dem virtuellen Netzwerk bereitgestellt haben.
Geben Sie im Suchfeld oben im Portal den Suchbegriff Virtueller Computer ein. Wählen Sie in den Suchergebnissen Virtuelle Computer aus.
Wählen Sie vm-1 aus.
Wählen Sie auf der Seite Übersicht von vm-1 die Option Verbinden und dann Bastion aus.
Geben Sie die Werte für Benutzername und Kennwort ein, die Sie beim Bereitstellen der VM in den vorherigen Schritten erstellt haben.
Wählen Sie Verbinden.
Öffnen Sie Windows PowerShell auf vm-1.
Im folgenden Beispiel wird Docker CE/Moby installiert:
Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1 .\install-docker-ce.ps1
Die VM wird neu gestartet, um die Containerunterstützung in Windows zu installieren. Stellen Sie erneut eine Verbindung mit der VM her und die Docker-Installation wird fortgesetzt.
Weitere Informationen zu Windows-Containern finden Sie unter Erste Schritte: Vorbereiten von Windows für Container.
Nachdem Docker auf Ihrer VM installiert wurde, fahren Sie mit den Schritten in diesem Artikel fort.
Installieren des CNI-Plug-Ins und von jq
Das Azure CNI-Plug-In wird als GitHub-Projekt verwaltet und kann von der GitHub-Seite des Projekts heruntergeladen werden. Für diesen Artikel laden Sie das CNI-Plug-In-Repository auf die VM herunter und installieren und konfigurieren dann das Plug-In.
Weitere Informationen zum Azure CNI-Plug-In finden Sie unter Microsoft Azure-Containernetzwerke.
Geben Sie im Suchfeld oben im Portal den Suchbegriff Virtueller Computer ein. Wählen Sie in den Suchergebnissen Virtuelle Computer aus.
Wählen Sie vm-1 aus.
Wählen Sie auf der Seite Übersicht von vm-1 die Option Verbinden und dann Bastion aus.
Geben Sie die Werte für Benutzername und Kennwort ein, die Sie beim Bereitstellen der VM in den vorherigen Schritten erstellt haben.
Wählen Sie Verbinden.
Verwenden Sie das folgende Beispiel, um das CNI-Plug-In herunterzuladen und in einem temporären Ordner auf der VM zu extrahieren:
Invoke-WebRequest -Uri https://github.com/Azure/azure-container-networking/archive/refs/heads/master.zip -OutFile azure-container-networking.zip Expand-Archive azure-container-networking.zip -DestinationPath azure-container-networking
Um das CNI-Plug-In zu installieren, wechseln Sie in das Skriptverzeichnis des CNI-Plug-In-Ordners, den Sie im vorherigen Schritt heruntergeladen haben. Der Befehl zum Installieren des Skripts erfordert eine Versionsnummer für das CNI-Plug-In. Zum Zeitpunkt der Entstehung dieses Artikels lautet die neueste Version
v1.4.39
. Informationen zum Abrufen der neuesten Versionsnummer des Plug-Ins oder früherer Versionen finden Sie unter Releases.cd .\azure-container-networking\azure-container-networking-master\scripts\ .\Install-CniPlugin.ps1 v1.4.39
Das CNI-Plug-In enthält eine integrierte Netzwerkkonfigurationsdatei für das Plug-In. Verwenden Sie das folgende Beispiel, um die Datei in das Netzwerkkonfigurationsverzeichnis zu kopieren:
Copy-Item -Path "c:\k\azurecni\bin\10-azure.conflist" -Destination "c:\k\azurecni\netconf"
Installieren von jq
Das Skript, das die Container mit dem Azure CNI-Plug-In erstellt, erfordert die Anwendung jq. Weitere Informationen und den Speicherort des Downloads finden Sie unter Herunterladen von jq.
Öffnen Sie einen Webbrowser auf der VM, und laden Sie die Anwendung jq herunter.
Der Download ist eine eigenständige ausführbare Datei für die Anwendung. Kopieren Sie die ausführbare Datei
jq-win64.exe
in das VerzeichnisC:\Windows
.
Erstellen eines Testcontainers
Um einen Container mit dem CNI-Plug-In zu starten, müssen Sie ein spezielles Skript verwenden, das im Lieferumfang des Plug-Ins enthalten ist, um den Container zu erstellen und zu starten. Im folgenden Beispiel wird ein Windows Server-Container mit dem CNI-Plug-In-Skript erstellt:
cd .\azure-container-networking\azure-container-networking-master\scripts\ .\docker-exec.ps1 vnetdocker1 default mcr.microsoft.com/windows/servercore/iis add
Es kann einige Minuten dauern, bis das Image für den Container erstmals heruntergeladen wird. Wenn der Container gestartet und das Netzwerk initialisiert wird, wird die Bastion-Verbindung getrennt. Warten Sie einige Sekunden. Die Verbindung wird erneut hergestellt.
Um zu überprüfen, ob der Container die zuvor konfigurierte IP-Adresse erhalten hat, stellen Sie eine Verbindung mit dem Container her, und zeigen Sie die IP-Adresse an:
docker exec -it vnetdocker1 powershell
Verwenden Sie den
ipconfig
-Befehl im folgenden Beispiel, um zu überprüfen, ob die IP-Adresse dem Container zugewiesen wurde:ipconfig
Beenden Sie den Container, und schließen Sie die Bastion-Verbindung mit vm-1.
Wenn Sie mit der Verwendung der von Ihnen erstellten Ressourcen fertig sind, können Sie die Ressourcengruppe und alle zugehörigen Ressourcen löschen.
Suchen Sie im Azure-Portal nach Ressourcengruppen, und wählen Sie die entsprechende Option aus.
Wählen Sie auf der Seite Ressourcengruppen die Ressourcengruppe test-rg aus.
Wählen Sie auf der Seite test-rg die Option Ressourcengruppe löschen aus.
Geben Sie test-rg unter Ressourcengruppennamen eingeben, um die Löschung zu bestätigen und wählen Sie dann Löschen aus.
Nächste Schritte
In diesem Artikel haben Sie erfahren, wie Sie das Azure CNI-Plug-In installieren und einen Testcontainer erstellen.
Weitere Informationen zum Azure-Containernetzwerk und zum Azure Kubernetes-Dienst finden Sie hier: