Otimize a extração de imagens com cache de artefato no Azure Container Registry

A funcionalidade de cache de artefactos do Azure Container Registry permite-lhe armazenar em cache imagens de contentores tanto em repositórios públicos como privados.

A cache de artefactos permite operações de pull mais rápidas e fiáveis através do Azure Container Registry (ACR). Ele usa recursos como replicação geográfica e suporte à zona de disponibilidade para maior disponibilidade e extrações de imagem mais rápidas. Você pode acessar registros armazenados em cache em redes privadas para se alinhar com suas configurações de firewall e padrões de conformidade.

O armazenamento em cache de artefatos aborda o desafio dos limites de extração impostos pelos registros públicos. Recomendamos autenticar as suas regras de cache com as suas credenciais da fonte upstream. Em seguida, você pode extrair imagens do ACR local, ajudando a reduzir os limites de taxa.

O recurso de cache de artefatos está disponível nas camadas de serviçoBasic, Standard e Premium. Podes ativar regras de cache de artefactos no portal Azure ou usando CLI do Azure.

Terminologia

Ao trabalhar com cache de artefatos, é útil entender a seguinte terminologia:

  • Regra de cache: uma regra criada para extrair artefatos de um repositório suportado para o cache. Uma regra de cache contém quatro partes:

    • Nome da regra: o nome da regra de cache. Por exemplo, Hello-World-Cache.
    • Fonte: O nome do registro de origem.
    • Caminho do repositório: o caminho de origem do repositório para localizar e recuperar artefatos que você deseja armazenar em cache. Por exemplo, docker.io/library/hello-world.
    • Novo namespace do repositório ACR: o nome do novo caminho do repositório para armazenar artefatos. Por exemplo, hello-world. O repositório ainda não pode existir dentro da instância ACR.
  • Credenciais: um nome de usuário e senha definidos para o registro de origem. Você precisa de credenciais para autenticar em um repositório público ou privado. As credenciais contêm quatro partes:

    • Credenciais: O nome das suas credenciais.
    • Servidor de login do registro de origem: O servidor de login do seu registro de origem.
    • Autenticação de origem: os locais do cofre de chaves para armazenar credenciais.
    • Segredos de nome de utilizador e palavra-passe: Segredos que contêm o nome de utilizador e a palavra-passe.

Limitações atuais

Ao usar o cache de artefatos, tenha em mente as seguintes limitações:

  • O cache só ocorre depois que pelo menos uma extração de imagem é concluída na imagem de contêiner disponível. Para cada nova imagem disponível, uma nova extração de imagem deve ser concluída. Atualmente, o cache de artefatos não extrai automaticamente novas tags de imagens quando uma nova tag está disponível.
  • O cache de artefatos oferece suporte a um máximo de 1.000 regras de cache.
  • As regras de cache de artefactos não podem sobrepor-se a outras regras de cache. Em outras palavras, se você tiver uma regra de cache de artefato para um determinado caminho do Registro, não poderá adicionar outra regra de cache que se sobreponha a ela.

Suporte a montante

Atualmente, o cache de artefatos oferece suporte aos seguintes registros upstream.

Advertência

Para obter conteúdo a partir de Docker Hub, deve gerar um conjunto de credenciais usando CLI do Azure ou o portal Azure.

Algumas imagens de Docker Hub públicas são mapeadas para o espaço de nomes publicamente acedido library. Nesse caso, se você não incluir o caminho, o library cache de artefatos o incluirá automaticamente para você.

Registo a montante Apoio Disponibilidade
Docker Hub Suporta apenas extrações autenticadas. CLI do Azure, Azure portal
Imagens Fortificadas em Docker (dhi.io) Suporta apenas extrações autenticadas. CLI do Azure
Azure Container Registry (azurecr.io) Suporta apenas extrações autenticadas. CLI do Azure
Registo de Artefactos da Microsoft Suporta apenas pulls não autenticados. CLI do Azure, Azure portal
Galeria pública do AWS Elastic Container Registry (ECR) Suporta apenas pulls não autenticados. CLI do Azure, Azure portal
GitHub Container Registry (Registo de Contêineres do GitHub) Suporta tanto requisições autenticadas como não autenticadas. CLI do Azure, Azure portal
Cais Suporta tanto requisições autenticadas como não autenticadas. CLI do Azure, Azure portal
Registo de Imagens de Container do Kubernetes (registry.k8s.io) Suporta tanto requisições autenticadas como não autenticadas. CLI do Azure
Registo de Artefactos no Google (*.pkg.dev) Suporta apenas extrações autenticadas. CLI do Azure
Registo de Contentores Legado da Google (gcr.io) Suporta tanto requisições autenticadas como não autenticadas. CLI do Azure
Registo de Contentores NVIDIA NGC (nvcr.io) Suporta tanto requisições autenticadas como não autenticadas. CLI do Azure, Azure portal

Método de autenticação para o Google Artifact Registry

Para configurar a Cache de Artefactos a partir do seu Registo de Artefactos do Google privado (GAR), recomendamos usar uma Chave de Conta de Serviço (criada na Consola do Google Cloud) para autenticar com o GAR. Pode definir uma data de expiração personalizada para a chave da Conta de Serviço (por exemplo, 3 meses) e persistir a chave no Azure Key Vault.

Embora possas usar um token de acesso (gerado a partir da CLI gcloud) para autenticar, não é recomendado para uso com o Artifact Cache, porque o token de acesso expira após 1 hora.

Para mais informações sobre como criar uma Chave de Conta de Serviço, consulte Autenticar com o Registo de Artefactos do Google. Depois de teres a Chave da Conta de Serviço, guarda-a como segredo no Azure Key Vault. Depois aponta a palavra-passe do teu conjunto de credenciais para este segredo. O nome de utilizador deve ser definido para:

  • _json_key se estiveres a usar a chave de conta de serviço em formato JSON, tal como foi fornecida quando criaste o ficheiro.
  • _json_key_base64 Se codificasses no base64 todo o conteúdo do ficheiro da chave da conta.

Para mais informações sobre como criar um conjunto de credenciais, siga os links na secção seguinte.

Próximos passos

  • Aprenda como ativar o cache de artefactos usando o portal Azure ou CLI do Azure.
  • Saiba mais sobre como usar caracteres universais para corresponder a vários caminhos dentro do registo de imagens de contêiner.