Meer informatie over hoe de CLI-extensie van Azure Operator Service Manager (AOSM) containerinstallatiekopieën detecteert in bron-ACL's op basis van helm-grafiekconfiguratie
In dit document wordt uitgelegd hoe de Azure CLI AOSM-extensie afbeeldingen detecteert in Helm-grafieken, deze uit een containerregister haalt en uploadt naar een AOSM Artifact Store. De Azure CLI AOSM-extensie ondersteunt zowel Azure Container Registry (ACR) als een containerregister dat ondersteuning biedt voor de Docker-API.
Detectie van installatiekopieën
Het azure CLI AOSM-extensie Network Function Definition Version (NFDV)-invoerbestand, gegenereerd door az aosm nfd generate-config --definition-type cnf
, bevat één parameter die de bronregisters (en optioneel naamruimten) aangeeft die de AOSM CLI-query's uitvoeren tijdens onboarding van containerinstallatiekopieën.
// 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"
is een matrix met tekenreeksen. Elke tekenreeks is een verwijzing naar een containerregister en, optioneel, een naamruimte in dat register.
De Az CLI AOSM-extensie:
- Parseert de Kubernetes-definitiebestanden die worden gegenereerd om
helm template
de containerinstallatiekopieën te detecteren. - Zoekt in de registers en naamruimten die zijn opgenomen in de matrix 'image_sources' voor de containerinstallatiekopieën.
- Kopieert de installatiekopieën van de bronregisters naar het AOSM-artefactarchief.
Belangrijk
De AOSM CLI vereist dat de installatiekopieën in het bronregister overeenkomen met de naamruimtestructuur die in uw Helm-grafiek is geschreven. Een installatiekopieën die zijn opgenomen in een Helm-grafiek core/contoso-a:1.0.0
, moeten bijvoorbeeld beschikbaar zijn in het bronregister in een pad dat eindigt op core/contoso-a:1.0.0
. Elk extra voorvoegsel moet worden opgenomen in de "image_sources"
parameter in het cnf-input.jsonc
bestand dat door de az aosm nfd generate-config --definition-type cnf
opdracht wordt gegenereerd.
Voorbeeld van werk
In dit voorbeeld wordt een fictieve containernetwerkfunctie (CNF) beschreven. Deze CNF is gebouwd van drie installatiekopieën die de cnf-kernfunctie en één testinstallatiekopie bieden die kan worden geïmplementeerd om testquery's uit te voeren op de CNF. Het bronregister voor de installatiekopieën is een ACR genaamd myregistry
. In dit voorbeeld onboarden we alle vier de installatiekopieën.
Het veld image_sources in het NFDV-invoerbestand is als volgt ingesteld:
// 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"],
De uitvoer van helm template
de Helm-grafieken voor deze CNF geeft vier afbeeldingslijnen in de Kubernetes-implementatiedefinitie.
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
De Azure CLI AOSM-extensie neemt de bovenstaande afbeeldingslijnen in beslag en verwijdert de repository
opslagplaats (AOSM overschrijft de opslagplaats met het nieuwe register dat back-up maakt van de AOSM Artifact Store). Vervolgens zoekt de Azure CLI AOSM-extensie naar de installatiekopieën in myregistry.azurecr.io/release/contoso-a:1.0.0
, myregistry.azurecr.io/release/contoso-b:1.0.0
en myregistry.azurecr.io/test-release/contoso-test:1.0.0
myregistry.azurecr.io/release/contoso-c:1.0.0
. De installatiekopieën moeten beschikbaar zijn in deze paden.
Namespacing
De Azure CLI AOSM-extensie biedt ook ondersteuning voor namen van installatiekopieën in broncontainerregisters. De installatiekopieën kunnen bijvoorbeeld contoso-test
worden geüpload naar test/test-release/contoso-test:1.0.0
het bronregister. In dit geval moet het extra voorvoegsel test
worden geconfigureerd in de "image_sources"
parameter in het NFDV-invoerbestand.
// 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"],
De Azure AOSM CLI-extensie zoekt naar de installatiekopieën in myregistry.azurecr.io
, waar deze wordt gedetecteerd contoso-a
, contoso-b
en contoso-c
. Vervolgens wordt gezocht in myregistry.azurecr.io/test
, waar het detecteert contoso-test
.