Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento dokument vysvětluje, jak rozšíření Azure CLI AOSM vyhledá obrázky v chartech Helm, načte je z registru kontejneru a nahraje je do úložiště artefaktů AOSM. Rozšíření Azure CLI AOSM podporuje Službu Azure Container Registry (ACR) i jakýkoli registr kontejnerů, který podporuje rozhraní API Dockeru.
Zjišťování obrázků
Vstupní soubor azure CLI AOSM extension Network Function Definition Version (NFDV), který az aosm nfd generate-config --definition-type cnfgeneruje , obsahuje jeden parametr, který určuje zdrojové registry (a volitelně obory názvů) dotazy rozhraní příkazového řádku AOSM během onboardingu image kontejneru.
// 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" je pole řetězců. Každý řetězec je odkazem na registr kontejneru a volitelně i obor názvů v daném registru.
Rozšíření Az CLI AOSM:
- Parsuje definiční soubory Kubernetes vygenerované
helm templatepomocí zjištění odkazů na image kontejneru. - Vyhledá v registrech a oborech názvů zahrnutých v poli "image_sources" odkazy na image kontejneru.
- Zkopíruje image ze zdrojových registrů do úložiště artefaktů AOSM.
Důležité
Rozhraní příkazového řádku AOSM vyžaduje, aby image ve zdrojovém registru odpovídaly struktuře oboru názvů napsané v chartu Helm. Například obrázek zahrnutý v chartu Helm, jak core/contoso-a:1.0.0 musí být k dispozici ve zdrojovém registru v cestě, která končí .core/contoso-a:1.0.0 Všechny další předpony musí být zahrnuty do "image_sources" parametru cnf-input.jsonc v souboru generovaném příkazem az aosm nfd generate-config --definition-type cnf .
Příklad práce
Tento příklad popisuje fiktivní kontejnerizovanou síťovou funkci (CNF). Tento CNF je sestaven ze tří imagí, které poskytují základní funkci CNF, a jednu testovací image, která se dá nasadit k provádění testovacích dotazů na CNF. Zdrojový registr pro image je ACR volána myregistry. V tomto příkladu jsme nasadí všechny čtyři obrázky.
Pole "image_sources" ve vstupním souboru NFDV je nastaveno takto:
// 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"],
Výstupem grafů helm template helmu pro tento CNF jsou čtyři čáry imagí v definici nasazení Kubernetes.
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
Rozšíření Azure CLI AOSM přebírá výše uvedené řádky imagí a odebere repository úložiště (AOSM přepíše úložiště novým registrem, který zálohuje úložiště artefaktů AOSM). Potom rozšíření Azure CLI AOSM vyhledá obrázky v myregistry.azurecr.io/release/contoso-a:1.0.0myregistry.azurecr.io/release/contoso-b:1.0.0, , myregistry.azurecr.io/release/contoso-c:1.0.0a myregistry.azurecr.io/test-release/contoso-test:1.0.0. Image musí být v těchto cestách dostupné.
Mezery mezi názvy
Rozšíření Azure CLI AOSM také podporuje mezery mezi názvy imagí ve zdrojových registrech kontejnerů. Image se například contoso-test může nahrát do test/test-release/contoso-test:1.0.0 zdrojového registru. V tomto případě musí být v parametru "image_sources" ve vstupním souboru NFDV nakonfigurována další předponatest.
// 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"],
Rozšíření Rozhraní příkazového řádku Azure AOSM vyhledá image v umístění , kde myregistry.azurecr.iozjistí contoso-a, contoso-ba contoso-c. Pak vyhledá myregistry.azurecr.io/test, kde zjistí contoso-test.