Streaming de artefatos no Registro de Contêiner do Azure (Versão prévia)

O streaming de artefatos é um recurso no Registro de Contêiner do Azure que permite que você armazene imagens de contêiner em um único registro, gerencie e transmita as imagens de contêiner para os clusters do Serviço de Kubernetes do Azure (AKS) em várias regiões. Esse recurso foi projetado para acelerar cargas de trabalho nos contêineres para os clientes do Azure usando o AKS. Com o streaming de artefatos, você pode dimensionar facilmente as cargas de trabalho sem precisar esperar por tempos de pull lentos do seu nó.

Casos de uso

Aqui estão alguns cenários para usar o streaming de artefatos:

Implantação de aplicativos em contêineres em várias regiões: com o streaming de artefatos, você pode armazenar imagens de contêiner em um único registro e gerenciar e transmitir imagens de contêiner para os clusters do AKS em várias regiões. O streaming de artefatos implanta aplicativos de contêiner em várias regiões sem consumir tempo e recursos.

Redução da latência de pull de imagem: o streaming de artefatos pode reduzir o tempo para a preparação do pod em mais de 15%, dependendo do tamanho da imagem, e funciona melhor com imagens de < 30 GB. Esse recurso reduz a latência de pull de imagem e a inicialização rápida do contêiner, o que é benéfico para os desenvolvedores de software e arquitetos de sistema.

Dimensionamento efetivo de aplicativos em contêineres: o streaming de artefatos oferece a oportunidade de projetar, compilar e implantar aplicativos em contêineres em alta escala.

Aspectos de streaming de artefatos

Aqui estão alguns breves aspectos do streaming de artefatos:

  • Os clientes com registros novos e existentes podem iniciar o streaming de artefatos nos repositórios ou marcas específicos.

  • Os clientes podem armazenar o artefato original e o artefato de streaming no ACR, iniciando o streaming de artefatos.

  • Os clientes têm acesso ao artefato original e ao artefato de transmissão, mesmo depois de desativarem a transmissão de artefatos nos repositórios ou artefatos.

  • Os clientes com streaming de artefato e Exclusão Reversível habilitados excluem um repositório ou artefato e as versões de streaming original e de artefato são excluídas. Porém, somente a versão original está disponível no portal de exclusão reversível.

Informações de disponibilidade e preços

O streaming de artefatos só está disponível nas Camadas de serviçoPremium (também conhecidas como SKUs). O streaming de artefatos tem potencial para aumentar o consumo geral do armazenamento do registro. Os clientes serão submetidos a mais encargos de armazenamento, conforme descrito em nossos preços se o consumo exceder o limite de SKU Premium de 500 GiB incluído.

Limitações de visualização

O streaming de artefatos está atualmente em versão prévia. As seguintes limitações se aplicam:

  • Somente imagens com a arquitetura AMD64 do Linux têm suporte na versão prévia.
  • A versão prévia não dá suporte a imagens de contêiner baseadas no Windows e imagens ARM64.
  • A versão prévia dá suporte parcialmente às imagens de várias arquiteturas com suporte apenas para a arquitetura AMD64.
  • Para criar pools de nós baseados no Ubuntu no AKS, escolha Ubuntu versão 20.04 ou superior.
  • Quanto aos Kubernetes, use o Kubernetes versão 1.26 ou superior ou a versão 1.25 > do Kubernetes.
  • Somente os registros de SKU Premium dão suporte à geração de artefatos de streaming na versão prévia. Os registros de SKU não premium não oferecem essa funcionalidade durante a visualização.
  • NÃO há suporte para os registros de Chaves Gerenciadas pelo Cliente (CMK) na versão prévia.
  • Atualmente, NÂO há suporte para o regcred do Kubernetes.

Pré-requisitos

  • Você pode usar o Azure Cloud Shell ou uma instalação local da CLI do Azure para executar os exemplos de comandos incluídos neste artigo. Se você quiser usá-lo localmente, a versão 2.54.0 ou posterior será necessária. Execute az --version para localizar a versão. Se você precisa instalar ou atualizar, consulte Instalar a CLI do Azure.

  • Entre no portal do Azure.

Iniciar o streaming de artefatos

Inicie o streaming de artefatos com uma série com comandos da CLI do Azure e o portal do Azure para enviar por push, importar e gerar artefatos de streaming para as imagens de contêiner em um Registro de Contêiner do Azure (ACR). Essas instruções descrevem o processo de criação de um ACR do SKUPremium, importação de uma imagem, geração de um artefato de streaming e gerenciamento da operação de streaming dos artefatos. Substitua os espaços reservados pelos valores reais, quando necessário.

Enviar por push/importar a imagem e gerar o artefato de streaming – CLI do Azure

O streaming de artefatos está disponível na camada de serviço do registro de contêiner Premium. Para iniciar o streaming de artefatos, atualize um registro usando a CLI do Azure (versão 2.54.0 ou superior). Para instalar ou atualizar, confira Instalar a CLI do Azure.

Inicie o streaming de artefatos seguindo estas etapas gerais:

Observação

Se você já tiver um registro de contêiner premium, ignore esta etapa. Se o usuário estiver no Basic of Standard SKUs, os comandos a seguir falharão. O código é escrito na CLI do Azure e pode ser executado em um modo interativo. Observe que os espaços reservados devem ser substituídos por valores reais antes de executar o comando.

  1. Crie um novo Registro de Contêiner do Azure (ACR) usando o SKU premium ao:

    Por exemplo, executar o comando az group create para criar um Grupo de Recursos do Azure com o nome my-streaming-test na região Oeste dos EUA e execute o comando az acr create para criar um Registro de Contêiner do Azure premium com o nome mystreamingtest nesse grupo de recursos.

    az group create -n my-streaming-test -l westus
    az acr create -n mystreamingtest -g my-streaming-test -l westus --sku premium
    
  2. Enviar por push ou importe uma imagem para o Registro ao:

    Por exemplo, executar o comando [az configure] para configurar o ACR padrão e o comando az acr import para importar uma imagem do Jupyter Notebook do Docker Hub no ACR mystreamingtest.

    az configure --defaults acr="mystreamingtest"
    az acr import -source docker.io/jupyter/all-spark-notebook:latest -t jupyter/all-spark-notebook:latest
    
  3. Criar um streaming de artefato com base na imagem

    Iniciar a criação de um artefato de streaming da imagem especificada.

    Por exemplo, executar os comandos az acr artifact-streaming create para criar um artefato de transmissão com a jupyter/all-spark-notebook:latest imagem no mystreamingtest ACR.

    az acr artifact-streaming create --image jupyter/all-spark-notebook:latest
    

Observação

Uma ID de operação é gerada durante o processo para referência futura para verificar o status da operação.

  1. Verifique o streaming de artefato gerado na CLI do Azure.

    Por exemplo, execute o comando az acr manifest list-referrers para listar os artefatos de streaming na imagem de jupyter/all-spark-notebook:latest no ACR mystreamingtest.

    az acr manifest list-referrers -n jupyter/all-spark-notebook:latest
    
  2. Cancele a criação do streaming de artefato (se necessário)

    Cancele a criação do artefato de streaming se a conversão ainda não estiver concluída. Isso interrompe a operação.

    Por exemplo, execute o comando az acr artifact-streaming operation cancel para cancelar a operação de conversão na imagem jupyter/all-spark-notebook:latest no ACR mystreamingtest.

    az acr artifact-streaming operation cancel --repository jupyter/all-spark-notebook --id c015067a-7463-4a5a-9168-3b17dbe42ca3
    
  3. Inicie a conversão automática no repositório

    Inicie a conversão automática no repositório para as imagens recém enviadas ou importadas. Quando iniciadas, as novas imagens enviadas para esse repositório acionam a geração dos artefatos de streaming.

    Observação

    A conversão automática não se aplica a imagens existentes. As imagens existentes podem ser convertidas manualmente.

    Por exemplo, execute o comando az acr artifact-streaming update para iniciar a conversão automática no repositório jupyter/all-spark-notebook no ACR mystreamingtest.

    az acr artifact-streaming update --repository jupyter/all-spark-notebook --enable-streaming true
    
  4. Verifique o progresso da conversão de streaming depois de enviar por push uma nova imagem jupyter/all-spark-notebook:newtag para o repositório acima.

    Por exemplo, execute o comando az acr artifact-streaming operation show para verificar o status da operação de conversão na imagem jupyter/all-spark-notebook:newtag no ACR mystreamingtest.

    az acr artifact-streaming operation show --image jupyter/all-spark-notebook:newtag
    

Observação

O streaming de artefatos pode funcionar entre regiões, independentemente de a replicação geográfica ser iniciada ou não. O streaming de artefatos pode funcionar por um ponto de extremidade privado e anexá-lo.

Enviar por push/importar a imagem e gerar o artefato de streaming – portal do Azure

O streaming de artefatos está disponível no Registro de Contêiner do Azure do SKUPremium. Para iniciar o streaming de artefatos, atualize um registro usando o portal do Azure.

Siga as etapas para criar o streaming de artefatos no portal do Azure.

  1. Navegue até o Registro de Contêiner do Azure.

  2. No Menu lateral, em Serviços, selecione Repositórios.

  3. Selecione a imagem importada mais recente.

  4. Converta a imagem e crie o streaming de artefatos no portal do Azure.

    A screenshot of Azure portal with the create streaming artifact button highlighted.

  5. Verifique o artefato de streaming gerado da imagem na guia Referenciadores.

    A screenshot of Azure portal with the streaming artifact highlighted.

  6. Você também pode excluir o streaming de artefato na folha do repositório.

    A screenshot of Azure portal with the delete artifact streaming button highlighted.

  7. Você também pode habilitar a conversão automática acessando o repositório no portal. Ativo significa que a conversão automática está habilitada no repositório. Inativo significa que a conversão automática está desabilitada no repositório.

    A screenshot of Azure portal with the start artifact streaming button highlighted.

Observação

O estado do streaming de artefatos em um repositório (inativo ou ativo) determina se as imagens compatíveis com push recém-enviadas serão convertidas automaticamente. Por padrão, todos os repositórios estão em um estado inativo no streaming de artefatos. Isso significa que, quando novas imagens compatíveis forem enviadas por push para o repositório, o streaming de artefatos não será disparado e as imagens não serão convertidas automaticamente. Se você quiser iniciar a conversão automática das imagens enviadas por push recentemente, precisará definir o streaming de artefatos do repositório para o estado ativo. Depois que o repositório estiver no estado ativo, todas as novas imagens de contêiner compatíveis que forem enviadas por push para o repositório dispararão o streaming de artefatos. Isso iniciará a conversão automática dessas imagens.

Próximas etapas