Sdílet prostřednictvím


Zjistěte, jak rozšíření Rozhraní příkazového řádku Azure Operator Service Manager (AOSM) zjišťuje image kontejnerů ve zdrojových ACL na základě konfigurace chartu Helm.

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 template pomocí 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.

Další kroky