Dela via


Lär dig hur Azure Operator Service Manager(AOSM) CLI-tillägget identifierar containeravbildningar i käll-ACR:er baserat på helm-diagramkonfiguration

Det här dokumentet förklarar hur Azure CLI AOSM-tillägget identifierar avbildningar i helm-diagram, hämtar dem från ett containerregister och laddar upp dem till ett AOSM Artifact Store. Azure CLI AOSM-tillägget stöder både Azure Container Registry (ACR) och alla containerregister som stöder Docker-API:et.

Bildidentifiering

Indatafilen för Azure CLI AOSM-tillägget NFDV (Network Function Definition Version), som genereras av az aosm nfd generate-config --definition-type cnf, innehåller en parameter som anger källregistren (och eventuellt namnområden) AOSM CLI-frågorna under registrering av containeravbildningar.

  // 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" är en matris med strängar. Varje sträng är en referens till ett containerregister och, om du vill, ett namnområde i registret.

Az CLI AOSM-tillägget:

  • Parsar Kubernetes-definitionsfilerna som genereras av helm template för att identifiera containeravbildningsreferenserna.
  • Söker i de register och namnområden som ingår i matrisen "image_sources" för containeravbildningsreferenserna.
  • Kopierar bilderna från källregistren till AOSM-artefaktarkivet.

Viktigt!

AOSM CLI kräver att avbildningarna i källregistret matchar namnområdesstrukturen som skrivits i helm-diagrammet. Till exempel en avbildning som ingår i ett helm-diagram som core/contoso-a:1.0.0 måste vara tillgänglig i källregistret i en sökväg som slutar i core/contoso-a:1.0.0. Eventuella ytterligare prefix måste ingå i parametern "image_sources" i cnf-input.jsonc filen som genereras av az aosm nfd generate-config --definition-type cnf kommandot.

Exempel på jobb

I det här exemplet beskrivs en fiktiv containerbaserad nätverksfunktion (CNF). Denna CNF är byggd av tre avbildningar som tillhandahåller cnf-kärnfunktionen och en testbild som kan distribueras för att köra testfrågor mot CNF. Källregistret för avbildningarna är en ACR som heter myregistry. I det här exemplet registrerar vi alla fyra bilderna.

Fältet "image_sources" i NFDV-indatafilen anges på följande sätt:

  // 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"],

Utdata helm template från mot helm-diagrammen för denna CNF ger fyra bildrader i Kubernetes-distributionsdefinitionen.

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

Azure CLI AOSM-tillägget tar in avbildningsraderna repository ovan och tar bort (AOSM skriver över lagringsplatsen med det nya registret som stöder AOSM Artifact Store). Sedan söker Azure CLI AOSM-tillägget efter avbildningarna i 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.0och myregistry.azurecr.io/test-release/contoso-test:1.0.0. Bilderna måste vara tillgängliga i dessa sökvägar.

Namnavstånd

Azure CLI AOSM-tillägget stöder även avbildningsnamnavstånd i källcontainerregister. Avbildningen contoso-test kan till exempel laddas upp till test/test-release/contoso-test:1.0.0 i källregistret. I det här fallet måste det extra prefixet , testkonfigureras i parametern "image_sources" i NFDV-indatafilen.

  // 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"],

Azure AOSM CLI-tillägget söker efter bilderna i myregistry.azurecr.io, där det identifierar contoso-a, contoso-boch contoso-c. Den söker sedan i myregistry.azurecr.io/test, där den identifierar contoso-test.

Nästa steg