Condividi tramite


Informazioni su come l'estensione dell'interfaccia della riga di comando di Azure Operator Service Manager (AOSM) individua le immagini del contenitore negli ACR di origine in base alla configurazione del grafico Helm

Questo documento illustra in che modo l'estensione AOSM dell'interfaccia della riga di comando di Azure individua le immagini nei grafici Helm, le estrae da un registro contenitori e le carica in un archivio artefatti AOSM. L'estensione AOSM dell'interfaccia della riga di comando di Azure supporta sia Registro Azure Container (ACR) che qualsiasi registro contenitori che supporta l'API Docker.

Individuazione immagini

Il file di input NFDV (Network Function Definition Version) dell'estensione AOSM dell'interfaccia della riga di comando di Azure, generato da az aosm nfd generate-config --definition-type cnf, contiene un parametro che specifica i registri di origine (e facoltativamente gli spazi dei nomi) dell'interfaccia della riga di comando di AOSM durante l'onboarding delle immagini del contenitore.

  // 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" è una matrice di stringhe. Ogni stringa è un riferimento a un registro contenitori e, facoltativamente, uno spazio dei nomi nel registro.

Estensione AOSM dell'interfaccia della riga di comando az:

  • Analizza i file di definizione kubernetes generati da helm template per individuare i riferimenti all'immagine del contenitore.
  • Cerca nei registri e negli spazi dei nomi inclusi nella matrice "image_sources" i riferimenti all'immagine del contenitore.
  • Copia le immagini dai registri di origine nell'archivio artefatti di AOSM.

Importante

L'interfaccia della riga di comando di AOSM richiede che le immagini nel Registro di sistema di origine corrispondano alla struttura dello spazio dei nomi scritta nel grafico Helm. Ad esempio, un'immagine inclusa in un grafico Helm come core/contoso-a:1.0.0 deve essere disponibile nel Registro di sistema di origine in un percorso che termina in core/contoso-a:1.0.0. Qualsiasi prefisso aggiuntivo deve essere incluso nel "image_sources" parametro nel cnf-input.jsonc file generato dal az aosm nfd generate-config --definition-type cnf comando .

Esempio lavorato

Questo esempio descrive una funzione di rete fittizia in contenitori (CNF). Questo CNF è costituito da tre immagini che forniscono la funzione CNF principale e un'immagine di test che può essere distribuita per eseguire query di test su CNF. Il Registro di sistema di origine per le immagini è un Registro Azure Container denominato myregistry. In questo esempio viene eseguito l'onboarding di tutte e quattro le immagini.

Il campo "image_sources" nel file di input NFDV è impostato come segue:

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

L'output dei helm template grafici Helm per questo CNF fornisce quattro linee di immagine nella definizione di distribuzione 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

L'estensione AOSM dell'interfaccia della riga di comando di Azure accetta le righe di immagine precedenti e rimuove ( repository AOSM sovrascrive il repository con il nuovo Registro di sistema che esegue il backup dell'archivio artefatti di AOSM). L'estensione AOSM dell'interfaccia della riga di comando di Azure cerca quindi le immagini in myregistry.azurecr.io/release/contoso-a:1.0.0, myregistry.azurecr.io/release/contoso-b:1.0.0myregistry.azurecr.io/release/contoso-c:1.0.0, e myregistry.azurecr.io/test-release/contoso-test:1.0.0. Le immagini devono essere disponibili in questi percorsi.

Spaziatura dei nomi

L'estensione AOSM dell'interfaccia della riga di comando di Azure supporta anche l'applicazione di nomi di immagine nei registri contenitori di origine. Ad esempio, l'immagine contoso-test può essere caricata test/test-release/contoso-test:1.0.0 nel Registro di sistema di origine. In questo caso, il prefisso aggiuntivo , testdeve essere configurato nel "image_sources" parametro nel file di input NFDV.

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

L'estensione dell'interfaccia della riga di comando di Azure AOSM cerca le immagini in myregistry.azurecr.io, dove individua contoso-a, contoso-be contoso-c. Cerca quindi in myregistry.azurecr.io/test, dove individua contoso-test.

Passaggi successivi