Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Esse documento explica como a extensão de AOSM da CLI do Azure descobre imagens em gráficos do Helm, as extrai de um registro de contêiner e as carrega em um Repositório de Artefatos do AOSM. A extensão de AOSM da CLI do Azure é compatível com o Registro de Contêiner do Azure (ACR) e com qualquer registro de contêiner que seja compatível com a API do Docker.
Descoberta de Imagem
O arquivo de entrada da Versão de Definição da Função de Rede (NFDV) da extensão de AOSM da CLI do Azure, gerado por az aosm nfd generate-config --definition-type cnf, contém um parâmetro que especifica os registros de origem (e, opcionalmente, os namespaces) que a CLI do AOSM consulta durante a integração da imagem de contêiner.
// 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" é uma matriz de cadeias de caracteres. Cada cadeia de caracteres é uma referência a um registro de contêiner e, opcionalmente, a um namespace nesse registro.
A extensão AOSM da CLI do Az:
- Analisa os arquivos de definição do Kubernetes gerados pelo
helm templatepara descobrir as referências de imagem de contêiner. - Pesquisa nos registros e namespaces incluídos na matriz "image_sources" para as referências de imagem de contêiner.
- Copia as imagens dos registros de origem para o repositório de artefatos do AOSM.
Importante
A CLI do AOSM requer que as imagens no seu registro de origem correspondam à estrutura do namespace escrita no seu gráfico do Helm. Por exemplo, uma imagem incluída em um gráfico do Helm como core/contoso-a:1.0.0 precisa estar disponível no registro de origem em um caminho que termine em core/contoso-a:1.0.0. Qualquer prefixo adicional precisa ser incluído no parâmetro "image_sources" no arquivo cnf-input.jsonc gerado pelo comando az aosm nfd generate-config --definition-type cnf.
Exemplo trabalhado
Esse exemplo descreve uma Função de Rede Conteinerizada (CNF) fictícia. Essa CNF é criada com três imagens que fornecem a função básica da CNF e uma imagem de teste que pode ser implantada para executar consultas de teste da CNF. O registro de origem das imagens é um ACR chamado myregistry. Nesse exemplo, integramos todas as quatro imagens.
O campo "image_sources" no arquivo de entrada da NFDV é definido da seguinte maneira:
// 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"],
A saída do helm template para os gráficos do Helm dessa CNF fornece quatro linhas de imagem na definição de implantação do 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
A extensão de AOSM da CLI do Azure usa as linhas de imagem acima e remove o repository (o AOSM substitui o repositório com o novo registro que sustenta o Repositório de Artefatos do AOSM). Em seguida, a extensão de AOSM da CLI do Azure pesquisa as imagens em 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 e myregistry.azurecr.io/test-release/contoso-test:1.0.0. As imagens precisam estar disponíveis nesses caminhos.
Espaçamento de nomes
A extensão de AOSM da CLI do Azure também dá suporte ao espaçamento de nomes de imagem nos registros de contêiner de origem. Por exemplo, a imagem contoso-test pode ser carregada em test/test-release/contoso-test:1.0.0 no registro de origem. Nesse caso, o prefixo adicional, test, precisa ser configurado no parâmetro "image_sources" do arquivo de entrada da 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"],
A extensão de AOSM da CLI do Azure procura as imagens no myregistry.azurecr.io, onde descobre contoso-a, contoso-b e contoso-c. Em seguida, procura em myregistry.azurecr.io/test, onde descobre contoso-test.