Delen via


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.0en myregistry.azurecr.io/test-release/contoso-test:1.0.0myregistry.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 testworden 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-ben contoso-c. Vervolgens wordt gezocht in myregistry.azurecr.io/test, waar het detecteert contoso-test.

Volgende stappen