Freigeben über


Artefaktstreaming in Azure Container Registry (Vorschau)

Das Artefaktstreaming ist ein Feature in Azure Container Registry zum Speichern von Containerimages in einer einzigen Registrierung und zum Verwalten und zum Streamen von Containerimages in Azure Kubernetes Service-Clustern (AKS) in mehreren Regionen. Dieses Feature wurde entwickelt, um containerisierte Workloads für Azure-Kunden mit AKS zu beschleunigen. Mit dem Artefaktstreaming können Sie Workloads einfach skalieren, ohne auf langsame Pullzeiten für ihren Knoten warten zu müssen.

Anwendungsfälle

Hier sind einige Szenarios, in denen Artefaktstreaming verwendet werden kann:

Bereitstellen containerisierter Anwendungen für mehrere Regionen: Mit Artefaktstreaming können Sie Containerimages in einer einzelnen Registrierung speichern, sie verwalten und in AKS-Clustern in mehreren Regionen streamen. Mit dem Artefaktstreaming werden Containeranwendungen in mehreren Regionen bereitgestellt, ohne Zeit und Ressourcen in Anspruch zu nehmen.

Reduzieren der Image-Pulllatenz: Das Artefaktstreaming kann die Zeit für die Pod-Bereitschaft je nach Größe des Images um mehr als 15 % reduzieren. Am besten eignet es sich für Images < 30 GB. Dieses Feature reduziert die Image-Pulllatenz und den schnellen Start von Containern, was für Softwareentwickler und Systemarchitekten von Vorteil ist.

Effektives Skalieren von containerisierten Anwendungen: Das Artefaktstreaming bietet die Möglichkeit, containerisierte Anwendungen in großem Maßstab zu entwerfen, zu erstellen und bereitzustellen.

Aspekte des Artefaktstreamings

Hier finden Sie einige Aspekte des Artefaktstreamings:

  • Kunden mit neuen und vorhandenen Registrierungen können das Artefaktstreaming für bestimmte Repositorys oder Tags starten.

  • Kunden können sowohl das ursprüngliche als auch das Streamingartefakt in ACR speichern, indem sie das Artefaktstreaming starten.

  • Kunden haben auch nachdem Sie das Artefaktstreaming für Repositorys oder Artefakte deaktiviert haben Zugriff auf das Original und das Streamingartefakt.

  • Wenn Kunden mit Artefaktstreaming und aktiviertem vorläufiges Löschen ein Repository oder ein Artefakt löschen, werden sowohl die ursprünglichen als auch die Artefaktstreaming-Versionen gelöscht. Jedoch ist nur die Originalversion im Portal für vorläufiges Löschen verfügbar.

Informationen zu Verfügbarkeit und Preisen

Das Artefaktstreaming ist nur in den Premium-Dienstebenen verfügbar (auch als SKUs bezeichnet). Das Artefaktstreaming kann den gesamten Registrierungsspeicherverbrauch erhöhen. Kunden müssen mehr Speichergebühren zahlen, wie in unserem Preis beschrieben, wenn ihr Verbrauch den enthaltenen Schwellenwert des Premium-SKU von 500 GiB überschreitet.

Einschränkungen der Vorschau

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 Multiarchitekturimages; nur die AMD64-Architektur wird jedoch unterstützt.
  • Um Ubuntu-basierte Knotenpools in AKS zu erstellen, wählen Sie die Ubuntu-Version 20.04 oder höher aus.
  • Für Kubernetes verwenden Sie die Kubernetes-Version 1.26 oder höher oder die Kubernetes-Version > 1.25.
  • Nur Premium-SKU-Registrierungen unterstützen das Generieren von Streamingartefakten in der Vorschauversion. SKU-Registrierungen ohne Premium bieten diese Funktionalität während der Vorschauversion nicht.
  • Kundenseitig verwaltete Schlüssel-Registrierungen (CMK) werden in der Vorschauversion NICHT unterstützt.
  • Das Geheimnis „regcred“ von Kubernetes wird derzeit NICHT unterstützt.

Voraussetzungen

  • Sie können Azure Cloud Shell oder eine lokale Installation der Azure CLI verwenden, um die Beispielbefehle in diesem Artikel auszuführen. Wenn Sie es lokal verwenden möchten, ist die Version 2.54.0 oder höher erforderlich. Führen Sie az --version aus, um die Version zu finden. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.

  • Melden Sie sich beim Azure-Portal an.

Starten des Artefaktstreamings

Starten Sie das Artefaktstreaming mit einer Reihe von Azure CLI-Befehlen und dem Azure-Portal zum Pushen, Importieren und Generieren von Streamingartefakten für Containerimages in einer Azure Container Registry (ACR). Diese Anweisungen beschreiben den Prozess zum Erstellen einer ACR mit Premium-SKU zum Importieren eines Image, zum Generieren eines Streamingartefakts und zum Verwalten des Artefaktstreamingvorgangs. Stellen Sie sicher, dass Sie die Platzhalter bei Bedarf durch Ihre tatsächlichen Werte ersetzen.

Pushen/Importieren des Images und Generieren des Streamingartefaktes – Azure CLI

Diese Funktion ist auf der Dienstebene Premium der Containerregistrierung verfügbar. Um das Artefaktstreaming zu starten, aktualisieren Sie eine Registrierung mithilfe der Azure CLI Version 2.54.0 oder höher. Informationen zum Ausführen einer Installation oder eines Upgrades finden Sie unter Installieren der Azure CLI.

Starten Sie das Artefaktstreaming, indem Sie die folgenden allgemeinen Schritte ausführen:

Hinweis

Wenn Sie bereits über eine Premium-Containerregistrierung verfügen, können Sie diesen Schritt überspringen. Wenn der Benutzer die Basic- oder Standard-SKUs verwendet, schlagen die folgenden Befehle fehl. Der Code wird in Azure CLI geschrieben und kann in einem interaktiven Modus ausgeführt werden. Bitte beachten Sie, dass die Platzhalter vor dem Ausführen des Befehls durch tatsächliche Werte ersetzt werden sollten.

  1. Erstellen Sie folgendermaßen eine neue Azure Container Registry (ACR) mithilfe der Premium-SKU:

    Führen Sie z. B. den Befehl az group create aus, um eine Azure-Ressourcengruppe mit dem Namen my-streaming-test in der Region USA, Westen zu erstellen. Dann erstellen Sie mit dem Befehl az acr create eine Premium-Azure-Containerregistrierung mit dem Namen mystreamingtest in dieser Ressourcengruppe.

    az group create -n my-streaming-test -l westus
    az acr create -n mystreamingtest -g my-streaming-test -l westus --sku premium
    
  2. Übertragen oder importieren Sie folgendermaßen ein Image in die Registrierung:

    Führen Sie beispielsweise den Befehl [az configure] aus, um den Standard-ACR zu konfigurieren, und den Befehl az acr import, um ein Jupyter Notebook-Image aus Docker Hub in das mystreamingtest-ACR zu importieren.

    az configure --defaults acr="mystreamingtest"
    az acr import --source docker.io/jupyter/all-spark-notebook:latest -t jupyter/all-spark-notebook:latest
    
  3. Erstellen eines Artefaktstreamings aus dem Image

    Initiiert das Erstellen eines Streamingartefaktes aus dem angegebenen Image.

    Führen Sie beispielsweise die az acr artifact-streaming create-Befehle zum Erstellen eines Streamingartefaktes aus dem jupyter/all-spark-notebook:latest-Image im mystreamingtest-ACR aus.

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

Hinweis

Während des Prozesses wird eine Vorgangs-ID generiert, um in der Zukunft den Status des Vorgangs überprüfen zu können.

  1. Überprüfen Sie das generierte Artefaktstreaming in der Azure CLI.

    Führen Sie z. B. den Befehl az acr manifest list-referrers aus, um die Streamingartefakte für das jupyter/all-spark-notebook:latest-Image im mystreamingtest-ACR aufzulisten.

    az acr manifest list-referrers -n jupyter/all-spark-notebook:latest
    
  2. Abbrechen der Artefakt-Streamingerstellung (falls erforderlich)

    Brechen Sie die Erstellung des Streamingartefaktes ab, wenn die Konvertierung noch nicht abgeschlossen ist. Beendet den Vorgang.

    Führen Sie z. B. den Befehl az acr artifact-streaming operation cancel aus, um den Konvertierungsvorgang für das jupyter/all-spark-notebook:latest-Image im mystreamingtest-ACR abzubrechen.

    az acr artifact-streaming operation cancel --repository jupyter/all-spark-notebook --id c015067a-7463-4a5a-9168-3b17dbe42ca3
    
  3. Starten der automatischen Konvertierung im Repository

    Starten Sie die automatische Konvertierung im Repository für neu gepushte oder importierte Bilder. Wenn diese Option gestartet wird, lösen neu in dieses Repository gepushte Images die Generierung von Streamingartefakten aus.

    Hinweis

    Die automatische Konvertierung gilt nicht für vorhandene Images. Vorhandene Images können manuell konvertiert werden.

    Führen Sie beispielsweise den Befehl az acr artifact-streaming update aus, um die automatische Konvertierung für das jupyter/all-spark-notebook-Repository im mystreamingtest-ACR zu starten.

    az acr artifact-streaming update --repository jupyter/all-spark-notebook --enable-streaming true
    
  4. Überprüfen Sie den Fortschritt der Streamingkonvertierung, nachdem Sie ein neues Image jupyter/all-spark-notebook:newtag an das obige Repository gepusht haben.

    Führen Sie z. B. den Befehl az acr artifact-streaming operation show aus, um den Status des Konvertierungsvorgangs für das jupyter/all-spark-notebook:newtag-Image im mystreamingtest-ACR zu überprüfen.

    az acr artifact-streaming operation show --image jupyter/all-spark-notebook:newtag
    
  5. Nach Überprüfung des Konvertierungsstatus können Sie eine Verbindung mit AKS herstellen. Weitere Informationen finden Sie in der AKS-Dokumentation.

  6. Deaktivieren Sie das Streamingartefakt aus dem Repository.

    Führen Sie beispielsweise den Befehl az acr artifact-streaming update aus, um das Streamingartefakt für das jupyter/all-spark-notebook:latest-Image in der ACR-Instanz mystreamingtest zu löschen.

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

Hinweis

Das Artefaktstreaming kann in mehreren Regionen funktionieren, unabhängig davon, ob die Georeplikation gestartet wurde. Das Artefaktstreaming kann über einen privaten Endpunkt arbeiten und damit verbunden werden.

Übertragen/Importieren des Images und Generieren des Streamingartefaktes – Azure-Portal

Artefaktstreaming ist in Azure Container Registry mit Premium-SKU verfügbar. Um das Artefaktstreaming zu starten, aktualisieren Sie eine Registrierung mithilfe des Azure-Portals.

Führen Sie die Schritte aus, um Artefaktstreaming im Azure-Portal zu erstellen.

  1. Navigieren Sie zu Ihrer Azure Container Registry-Instanz.

  2. Wählen Sie im Seitenmenü unter Dienste die Option Repositorys aus.

  3. Wählen Sie das neueste importierte Bild aus.

  4. Konvertieren Sie das Bild und erstellen Sie Artefaktstreaming im Azure-Portal.

    Screenshot: Azure-Portal mit hervorgehobener Schaltfläche zum Erstellen eines Streamingartefakts

  5. Überprüfen Sie das Streamingartefakt, das aus dem Bild auf der Registerkarte „Referrers“ generiert wurde.

    Screenshot: Azure-Portal mit hervorgehobenem Streamingartefakt

  6. Sie können das Artefaktstreaming auch aus dem Repository löschen.

    Screenshot: Azure-Portal mit hervorgehobener Schaltfläche zum Beenden des Artefaktstreamings

  7. Sie können die automatische Konvertierung auch aktivieren, indem Sie auf das Repository im Portal zugreifen. „Aktiv“ bedeutet, dass die automatische Konvertierung im Repository aktiviert ist. „Inaktiv“ bedeutet, dass die automatische Konvertierung im Repository deaktiviert ist.

    Screenshot: Azure-Portal mit hervorgehobener Schaltfläche zum Starten des Artefaktstreamings

Hinweis

Der Status des Artefaktstreamings in einem Repository (inaktiv oder aktiv) bestimmt, ob neu gepushte kompatible Images automatisch konvertiert werden. Standardmäßig sind alle Repositorys für das Artefaktstreaming inaktiv. Dies bedeutet, dass beim Pushen neuer kompatibler Images an das Repository das Artefaktstreaming nicht ausgelöst wird und die Images nicht automatisch konvertiert werden. Wenn Sie die automatische Konvertierung von neu gepushten Images starten möchten, müssen Sie das Artefaktstreaming des Repositorys aktivieren. Sobald sich das Repository im aktiven Zustand befindet, lösen alle neuen kompatiblen Containerimages, die an das Repository gepusht werden, das Artefaktstreaming aus. Dadurch wird die automatische Konvertierung dieser Images gestartet.

Nächste Schritte