Freigeben über


Artefaktstreaming in Azure Container Registry (Vorschau)

Artefaktstreaming (Vorschau) ist ein Feature in der Azure-Containerregistrierung, mit dem Sie Containerimages in einer einzigen Registrierung speichern und verwalten können. Sie können die Containerimages in Azure Kubernetes Service (AKS) Clustern in mehreren Regionen streamen. Dieses Feature beschleunigt containerisierte Workloads für Azure-Kunden, die AKS verwenden. Durch die Verwendung von Artefakt-Streaming können Sie Workloads skalieren, ohne auf langsame Pull-Zeiten für Ihren Knoten zu warten.

Von Bedeutung

Das Streaming von Artefakten befindet sich aktuell in PREVIEW. Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.

Funktionsweise des Artefaktstreamings

Kunden mit neuen und vorhandenen Registrierungen können das Artefaktstreaming für bestimmte Repositorys oder Tags starten. Sie können sowohl das ursprüngliche als auch das Streamingartefakt in derselben Containerregistrierung speichern. Sie behalten den Zugriff auf das Original und das Streamingartefakt, auch nachdem Sie das Artefaktstreaming deaktiviert haben.

Artefaktstreaming kann in den folgenden Szenarien besonders nützlich sein:

Bereitstellen von containerisierten Anwendungen in mehreren Regionen: Mithilfe des Artefaktstreamings können Sie Containerimages in einer einzigen Registrierung speichern und in AKS-Clustern in mehreren Regionen streamen.

Verkürzung der Latenzzeit beim Pullen von Images: Das Streaming von Artefakten kann die Zeit bis zur Readiness des Pods um mehr als 15% reduzieren, je nach Größe des Images. Diese Reduzierung ist besonders hilfreich für Bilder, die größer als 30 GB sind. Dieses Feature reduziert die Image-Pull-Latenz und hilft Containern schneller zu starten.

Effektive Skalierung von containerisierten Anwendungen: Das Artefaktstreaming erleichtert das Entwerfen, Erstellen und Bereitstellen von containerisierten Anwendungen in hohem Maßstab.

Das Artefaktstreaming funktioniert in allen Regionen, unabhängig davon, ob die Georeplikation gestartet wird oder nicht. Sie können auch Artefaktstreaming mit privaten Endpunkten verwenden.

Der Status des Artefaktstreamings in einem Repository (inaktiv oder aktiv) bestimmt, ob neu gepushte kompatible Bilder automatisch konvertiert werden. Standardmäßig sind alle Repositorys für das Artefaktstreaming inaktiv. Dies bedeutet, dass beim Pushen neuer kompatibler Bilder an das Repository das Artefaktstreaming nicht ausgelöst wird und die Bilder nicht automatisch konvertiert werden. Um die automatische Konversion von neu gepushten Images zu ermöglichen, legen Sie den Status des Artefakt-Streamings im Repository fest. Sobald sich das Repository im aktiven Zustand befindet, werden alle neuen kompatiblen Containerimages, die an das Repository übertragen werden, automatisch konvertiert.

Preise und Verfügbarkeit

Artefaktstreaming ist derzeit nur für die Premium-Service-Stufe (SKU) verfügbar.

Die Verwendung des Artefaktstreamings kann die Gesamtauslastung des Registrierungsspeichers erhöhen. Wenn der Verbrauch den enthaltenen 500 GiB Premium-SKU-Schwellenwert überschreitet, entstehen möglicherweise zusätzliche Gebühren, wie in den Preisen beschrieben.

Aktuelle Einschränkungen und Anforderungen

Das Artefaktstreaming wird derzeit in der Vorschauversion bereitgestellt. Es gelten die folgenden Einschränkungen:

  • In der Vorschauversion werden nur Images mit linux AMD64-Architektur unterstützt.
  • Die Vorschauversion unterstützt keine Windows-basierten Containerimages und ARM64-Images.
  • Die Vorschauversion unterstützt teilweise Bilder mit mehreren Architekturen; nur die AMD64-Architektur wird unterstützt.
  • Um einen Ubuntu-basierten Knotenpool in AKS zu erstellen, müssen Sie Ubuntu Version 20.04 oder höher verwenden.
  • Für Kubernetes müssen Sie Kubernetes Version 1.26 oder höher verwenden.
  • CMK (Customer-Managed Keys)-Registrierungen werden derzeit nicht unterstützt.
  • Kubernetes regcred wird derzeit nicht unterstützt.

Verwenden Sie das Azure-Portal oder die Azure CLI zum Verwalten des Artefaktstreamings. Für Azure CLI können Sie die Azure Cloud Shell oder eine lokale Installation der Azure CLI verwenden, um die Befehlsbeispiele in diesem Artikel auszuführen. Informationen zum Ausführen einer Installation oder eines Upgrades finden Sie unter Installieren der Azure CLI. Wir empfehlen die Verwendung der neuesten Version der Azure CLI. Die Befehle in diesem Artikel erfordern Azure CLI, Version 2.54.0 oder höher.

Hinweis

Wenn Sie das Artefaktstreaming mit einer aktivierten Soft-Delete-Richtlinie verwenden und ein Artefakt löschen, werden sowohl die ursprünglichen als auch die Artefaktstreaming-Versionen gelöscht. Während des Aufbewahrungszeitraums kann jedoch nur die ursprüngliche Version angezeigt oder wiederhergestellt werden.

Aktivieren und Verwalten des Artefaktstreamings

Starten Sie das Artefaktstreaming, um das Hochladen, die Einfuhr und das Erzeugen von Streaming-Artefakten für Containerbilder in einer Azure-Containerregistrierung zu ermöglichen. Diese Anweisungen beschreiben den Prozess zum Generieren eines Streamingartefaktes und zum Verwalten der automatischen Konvertierung von Streamingartefakten.

Zum Aktivieren des Artefaktstreamings müssen Sie eine Premium-Service-Tier-Registry (SKU) verwenden. Wenn Sie noch nicht über eine Registrierung verfügen, erstellen Sie eine neue Registrierung , und wählen Sie die Premium-Dienstebene aus, oder ändern Sie die SKU für eine vorhandene Registrierung.

In diesen Beispielen wird die Azure CLI verwendet, um mit einer Premium Azure Container Registry namens mystreamingtest in der Ressourcengruppe my-streaming-test zu arbeiten, die sich in der Region West-US befindet, zusammen mit einem Beispielbild für ein Jupyter-Notebook. Ersetzen Sie diese Namen durch Ihre eigenen Werte.

Importieren eines Bilds und Erstellen eines Artefaktstreamings

Führen Sie zuerst den Befehl az config aus, um den Registrierungsnamen als Standard für az acr Befehle festzulegen:

az config set defaults.acr="mystreamingtest"

Wenn Sie noch kein Image haben, das Sie verwenden möchten, führen Sie den Az acr-Importbefehl aus, um ein Jupyter-Notizbuchimage aus Docker Hub zu importieren:

az acr import --source docker.io/jupyter/all-spark-notebook:latest -t jupyter/all-spark-notebook:latest

Hinweis

Wenn ein Fehler aus der Docker-Registrierung angezeigt wird, liegt dies möglicherweise an der Geschwindigkeitsbegrenzung. Um diesen Fehler zu vermeiden, sollten Sie die Authentifizierung mit Docker Hub erwägen, indem Sie Ihre Docker-ID und Ihr Kennwort mithilfe der --username Parameter --password im az acr import Befehl bereitstellen.

Um ein Streamingartefakt aus dem Bild zu erstellen, führen Sie den Befehl "az acr artifact-streaming create " aus:

az acr artifact-streaming create --image jupyter/all-spark-notebook:latest

Während dieses Prozesses wird eine Vorgangs-ID generiert. Wenn Sie den Prozess des Erstellens des Streaming-Artefakts beenden möchten, führen Sie az acr artifact-streaming operation cancel mit der Vorgangs-ID aus:

az acr artifact-streaming operation cancel --repository jupyter/all-spark-notebook --id c015067a-7463-4a5a-9168-3b17dbe42ca3

Nachdem das Streaming-Artefakt generiert wurde, können Sie die Erstellung bestätigen, indem Sie az acr manifest list-referrers verwenden, um eine Liste der Streaming-Artefakte anzuzeigen.

az acr manifest list-referrers -n jupyter/all-spark-notebook:latest

Verwaltung des Artefaktstreamings für neue Bilder im Repository

Standardmäßig werden neu übertragene oder importierte Bilder in einem Repository nicht automatisch für das Artefaktstreaming aktiviert. Um sicherzustellen, dass neue Bilder, die in das Repository verschoben wurden, automatisch die Generierung von Streamingartefakten auslösen, verwenden Sie den Az acr Artefakt-Streaming-Updatebefehl im Repository:

az acr artifact-streaming update --repository jupyter/all-spark-notebook --enable-streaming true

Hinweis

Vorhandene Bilder im Repository werden nicht automatisch konvertiert, wenn Sie diesen Befehl ausführen.

Um zu überprüfen, ob die automatische Konvertierung funktioniert, pushen Sie ein neues Image in das Repository, und führen Sie dann den Befehl az acr artifact-streaming operation show aus.

az acr artifact-streaming operation show --image jupyter/all-spark-notebook:newtag

Nachdem Sie bestätigt haben, dass die Konvertierung funktioniert, können Sie Bilder von ACR zu Azure Kubernetes Service (AKS)-Clustern streamen.

Um die automatische Konvertierung von Streamingartefakten im Repository zu deaktivieren, führen Sie az acr artifact-streaming update aus, und legen Sie --enable-streaming auf false fest:

az acr artifact-streaming update --repository jupyter/all-spark-notebook --enable-streaming false