Binkski - stock.adobe.com

So nutzen Sie den Containerinstanzen-Dienst in Azure

Mit dem Dienst für Containerinstanzen in Azure hosten Admins schnell und platzsparend Container direkt in der Cloud. Damit sparen sie sich umfangreiche und aufwendige Docker-VMs.

Viele neue IT-Administratoren wissen nicht, dass Microsoft Azure von Haus aus Containerdienste unterstützt. Daher erstellen sie oft virtuelle Maschinen (VMs), um in diesen Container zu hosten. Dies ist jedoch ineffizient, da sie in diesem Szenario für die gesamte virtuelle Hardware bezahlen, unabhängig davon, ob sie genutzt wird oder nicht, und die Admins außerdem Arbeit damit haben, die zusätzlichen VMs zu verwalten, die sie gar nicht brauchen.

Obwohl Sie in einer Infrastructure-as-a-Service-Umgebung die Kontrolle über die Ressourcen haben, zahlen sie auch für alle diese Ressourcen. Virtuelle Maschinen sind in der Regel teurer als as-a-Service-Angebote, die spezifisch für Container gedacht sind.

Azure Container Instances (ACI) sind ein solches Angebot, mit dem Nutzer Container in der Cloud bereitstellen. Der Service wird nach Ressourcen pro Sekunde abgerechnet. Zu den Ressourcen gehören Speicher, CPU, Bandbreite, GPU und Festplatten. Mit dem Azure-Preisrechner können Sie die potenziellen Container-Kosten ermitteln.

Wie man ein Image bereitstellt

Um ein Image bereitzustellen, verwenden Sie Azure Cloud Shell, PowerShell oder direkt das Portal. In diesem Beispiel werden wir einen einfachen Container auf Azure mit von Cloud Shell und dem Portal bereitstellen.

In der Container-Instanzen-Ansicht können Sie die Ausgabe als Azure Resource Manager-Vorlage zu speichern, um sie bei Bedarf erneut bereitzustellen.

Abbildung 1: Das Containerinstanzen-Portal in Azure.
Abbildung 1: Das Containerinstanzen-Portal in Azure.

Verwenden Sie im Portal die Suchleiste, um nach Container-Instanzen zu suchen, oder verwenden Sie diesen direkten Link. Klicken Sie auf Erstellen, um den Container-Assistenten zu starten. Stellen Sie sicher, dass Sie wirklich eine Containerinstanz erstellen und keine Containeranwendung.

Füllen Sie die Felder Containername, Region und Ressourcengruppe aus, wie Sie möchten und wie in Abbildung 2 dargestellt. Wir empfehlen, für dieses Beispiel eine neue Ressourcengruppe zu verwenden.

Abbildung 2: Füllen Sie die Details nach Ihren eigenen Anforderungen ein.
Abbildung 2: Füllen Sie die Details nach Ihren eigenen Anforderungen ein.

Azure unterstützt mehrere verschiedene Container-Registrierungen, die Sie im Assistenten einsehen können. ACI ist in der Lage, Docker-Images sowohl aus dem Gebrauch, als auch aus alternativen Registries einzulesen und auszuführen.

Je nach ausgewählter Registrierung stehen unterschiedliche Docker-Images zur Wahl. Alternative oder persönliche Registrierungen müssen Sie jedoch vorab selbst konfigurieren.

Der Einfachheit halber verwenden wir das Hallo-Image der Windows-Registrierung, bei dem es sich um eine statische Hallo-Welt-Webseite handelt. Andere verfügbare Schnellstart-Beispiele sind ein containerisierter Nginx-Webserver oder ein Windows-Container. Windows-Container sind im produktiven Einsatz jedoch relativ unbeliebt, da sie sowohl bei Geschwindigkeit als auch Größe anderen Systemen hinterherhinge – die meisten Teams setzen daher auf Linux-basierte Container.

Auf der Registerkarte Größe legen Sie die maximale Ressourcenmenge fest, die der Container belegen darf. Um dies zu ändern, klicken Sie auf den Hyperlink Größe ändern und wählen Sie eine passende Größe – beachten Sie jedoch, dass größere Instanzen teurer sind. Ignorieren Sie die anderen Optionen, da sie für unser Tutorial keine Rolle spielen.

Wählen Sie auf der Registerkarte Netzwerk (siehe Abbildung 3) aus, welche Ports Sie öffnen wollen. In der Standardkonfiguration ist der Container direkt mit dem Internet verbunden. Ändern Sie den Netzwerktyp auf privat, um eine interne Verbindung zu den Azure-Subnetzen herzustellen.

Abbildung 3: Legen Sie die Netzwerkeinstellungen für Ihre Container fest.
Abbildung 3: Legen Sie die Netzwerkeinstellungen für Ihre Container fest.

Das DNS-Namenslabel-Tag fragt nach einem Hostnamen für die Veröffentlichung. Dadurch wird der DNS-Eintrag für die Anwendung erstellt. Sie können auch Azure Cloud Shell verwenden, um das gleiche Ergebnis zu erzielen. Um einen Container zu starten, verwenden Sie den folgenden Code.

New-AzContainerGroup -ResourceGroupName MyContainerProject -Name FirstAppInstance -Image mcr.microsoft.com/azuredocs/aci-helloworld -DnsNameLabel ttbeispiel

Der Befehl in Cloud Shell erstellt eine neue MyContainerProject-Ressourcengruppe und einen FirstAppInstance-Container. Der Image-Parameter verwendet das Image hello world, um einen Live-Container zu demonstrieren.

Neustart-Richtlinie festlegen

Die Registerkarte Erweitert enthält die Neustartrichtlinie, die – wie bei Docker – bestimmt, was passiert, wenn ein Container anhält. Sie haben hier die Wahl, was passieren soll: nichts, ein Neustart oder ein Neustart im Fehlerfall, wie in Abbildung 4 gezeigt.

Abbildung 4: Legen Sie eine Neustart-Richtlinie in den erweiterten Einstellungen fest.
Abbildung 4: Legen Sie eine Neustart-Richtlinie in den erweiterten Einstellungen fest.

Für Container wird oft ein persistenter Speicher benötigt. Das ist zum Beispiel der Fall, wenn Sie Bilder auf einem Webserver hosten möchten.

Bei korrekter Konfiguration sollte der Beispielcontainer ähnlich wie in Abbildung 5 Ergebnisse liefern.

Abbildung 5: Ein erfolgreich laufender Azure-Beispielcontainer.
Abbildung 5: Ein erfolgreich laufender Azure-Beispielcontainer.

Erfahren Sie mehr über Server- und Desktop-Virtualisierung