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 está disponível apenas nos níveis de serviço Premium (também conhecidos 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 para criar um ACR Premium SKU, importar uma imagem, gerar um artefato de streaming e gerenciar a operação de streaming do artefato. 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.
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 nomemystreamingtest
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
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
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 nomystreamingtest
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.
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 ACRmystreamingtest
.az acr manifest list-referrers -n jupyter/all-spark-notebook:latest
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 ACRmystreamingtest
.az acr artifact-streaming operation cancel --repository jupyter/all-spark-notebook --id c015067a-7463-4a5a-9168-3b17dbe42ca3
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 ACRmystreamingtest
.az acr artifact-streaming update --repository jupyter/all-spark-notebook --enable-streaming true
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 ACRmystreamingtest
.az acr artifact-streaming operation show --image jupyter/all-spark-notebook:newtag
Após verificar o status de conversão, agora é possível se conectar ao AKS. Consulte a documentação do AKS.
Desative o artefato de streaming do repositório.
Por exemplo, execute o comando az acr artifact-streaming update, para excluir o artefato de streaming da imagem
jupyter/all-spark-notebook:latest
nomystreamingtest
ACR.az acr artifact-streaming update --repository jupyter/all-spark-notebook --enable-streaming false
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 premium SKU do Registro de Contêiner do Azure. 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.
Navegue até o Registro de Contêiner do Azure.
No Menu lateral, em Serviços, selecione Repositórios.
Selecione a imagem importada mais recente.
Converta a imagem e crie o streaming de artefatos no portal do Azure.
Verifique o artefato de streaming gerado da imagem na guia Referenciadores.
Você também pode excluir o streaming de artefato na folha do repositório.
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.
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.