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.0
och 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 , test
konfigureras 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-b
och contoso-c
. Den söker sedan i myregistry.azurecr.io/test
, där den identifierar contoso-test
.