Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Dokument wird erläutert, wie die Azure CLI-AOSM-Erweiterung Images in Helm-Charts erkennt, aus einer Containerregistrierung pullt und in einen AOSM-Artefaktspeicher hochlädt. Die Azure CLI-AOSM-Erweiterung unterstützt sowohl Azure Container Registry (ACR) als auch alle Containerregistrierungen, die die Docker-API unterstützen.
Imageermittlung
Die Eingabedatei der Azure CLI-AOSM-Erweiterung für die Version der Netzwerkfunktionsdefinition (Network Function Definition Version, NFDV), die von az aosm nfd generate-config --definition-type cnf generiert wird, enthält einen Parameter, der die Quellregistrierungen (und optional Namespaces) angibt, die von der AOSM-Befehlszeilenschnittstelle während des Onboardings von Containerimages abgefragt werden.
// List of registries from which to pull the image(s).
// For example ["sourceacr.azurecr.io/test", "myacr2.azurecr.io", "ghcr.io/path"].
// For non Azure Container Registries, ensure you have run a docker login command before running build.
"image_sources": [],
"image_sources" ist ein Array von Zeichenfolgen. Jede Zeichenfolge ist ein Verweis auf eine Containerregistrierung und optional ein Namespace in dieser Registrierung.
Die Azure CLI-AOSM-Erweiterung führt folgende Aktionen aus:
- Parsen der von
helm templategenerierten Kubernetes-Definitionsdateien, um die Containerimageverweise zu ermitteln - Suchen nach Containerimageverweisen in den Registrierungen und Namespaces, die im Array „image_sources“ enthalten sind
- Kopieren der Images aus den Quellregistrierungen in den AOSM-Artefaktspeicher
Wichtig
Die AOSM-CLI erfordert, dass die Images in Ihrer Quellregistrierung mit der Namespacestruktur übereinstimmen, die auch in Ihrem Helm-Chart festgelegt ist. So muss beispielsweise ein Image, das in einem Helm-Chart als core/contoso-a:1.0.0 enthalten ist, in der Quellregistrierung an einem Pfad verfügbar sein, der mit core/contoso-a:1.0.0 endet. Alle zusätzlichen Präfixe müssen im Parameter "image_sources" in der Datei cnf-input.jsonc enthalten sein, die vom Befehl az aosm nfd generate-config --definition-type cnf generiert wird.
Arbeitsbeispiel
In diesem Beispiel wird eine fiktive containerisierte Netzwerkfunktion (CNF) beschrieben. Diese CNF basiert auf drei Images, die die zentrale CNF-Funktion und ein Testimage bereitstellen, das zum Ausführen von Testabfragen für die CNF bereitgestellt werden kann. Die Quellregistrierung für die Images ist eine ACR-Instanz namens myregistry. In diesem Beispiel führen sie das Onboarding für alle vier Images durch.
Das Feld „image_sources“ in der NFDV-Eingabedatei wird wie folgt festgelegt:
// List of registries from which to pull the image(s).
// For example ["sourceacr.azurecr.io/test", "myacr2.azurecr.io", "ghcr.io/path"].
// For non Azure Container Registries, ensure you have run a docker login command before running build.
"image_sources": ["myregistry.azurecr.io"],
Die Ausgabe von helm template für die Helm-Charts für diese CNF gibt vier Imagezeilen in der Kubernetes-Bereitstellungsdefinition aus:
image: repository/release/contoso-a:1.0.0
image: repository/release/contoso-b:1.0.0
image: repository/release/contoso-c:1.0.0
image: repository/test-release/contoso-test:1.0.0
Die Azure CLI-AOSM-Erweiterung übernimmt die obigen Imagezeilen und entfernt repository. (AOSM überschreibt das Repository mit der neuen Registrierung, die den AOSM-Artefaktspeicher unterstützt.) Anschließend sucht die Azure CLI-AOSM-Erweiterung unter myregistry.azurecr.io/release/contoso-a:1.0.0, myregistry.azurecr.io/release/contoso-b:1.0.0, myregistry.azurecr.io/release/contoso-c:1.0.0 und myregistry.azurecr.io/test-release/contoso-test:1.0.0 nach den Images. Die Images müssen in diesen Pfaden verfügbar sein.
Namespaces
Die Azure CLI-AOSM-Erweiterung unterstützt auch Imagenamespaces in Quellcontainerregistrierungen. Beispielsweise kann das Image contoso-test in test/test-release/contoso-test:1.0.0 in der Quellregistrierung hochgeladen werden. In diesem Fall muss das zusätzliche Präfix test im Parameter "image_sources" in der NFDV-Eingabedatei konfiguriert werden.
// List of registries from which to pull the image(s).
// For example ["sourceacr.azurecr.io/test", "myacr2.azurecr.io", "ghcr.io/path"].
// For non Azure Container Registries, ensure you have run a docker login command before running build.
"image_sources": ["myregistry.azurecr.io", "myregistry.azurecr.io/test"],
Die Azure CLI-AOSM-Erweiterung sucht unter myregistry.azurecr.io nach den Images. Dort entdeckt sie contoso-a, contoso-b und contoso-c. Anschließend wird in myregistry.azurecr.io/test gesucht. Dort wird contoso-test entdeckt.