Streaming de artefactos no Registo de Contentores do Azure (Pré-visualização)
O streaming de artefatos é um recurso no Registro de Contêiner do Azure que permite armazenar imagens de contêiner em um único registro, gerenciar e transmitir as imagens de contêiner para clusters do Serviço Kubernetes do Azure (AKS) em várias regiões. Esse recurso foi projetado para acelerar cargas de trabalho em contêineres para clientes do Azure que usam o AKS. Com o streaming de artefatos, você pode facilmente dimensionar cargas de trabalho sem ter que esperar por tempos de pull lentos para o seu nó.
Casos de utilização
Aqui estão alguns cenários para usar o streaming de artefatos:
Implantando 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 clusters 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.
Reduzindo a latência de pull de imagem: o streaming de artefatos pode reduzir o tempo de preparação do pod em mais de 15%, dependendo do tamanho da imagem, e funciona melhor para 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 desenvolvedores de software e arquitetos de sistema.
Dimensionamento eficaz de aplicativos em contêineres: o streaming de artefatos oferece a oportunidade de projetar, criar e implantar aplicativos em contêineres em alta escala.
Aspetos de streaming de artefatos
Aqui estão alguns breves aspetos do streaming de artefatos:
Os clientes com registros novos e existentes podem iniciar o streaming de artefatos para repositórios ou tags específicos.
Os clientes podem armazenar o artefato original e de streaming no ACR iniciando o streaming de artefatos.
Os clientes têm acesso ao original e ao artefato de streaming mesmo depois de desativar o streaming de artefatos para repositórios ou artefatos.
Os clientes com streaming de artefato e Exclusão Suave habilitados, excluem um repositório ou artefato e, em seguida, as versões de streaming original e de artefato são excluídas. No entanto, apenas a versão original está disponível no portal de exclusão suave.
Informações sobre disponibilidade e preços
O streaming de artefatos só está disponível nas camadas de serviço Premium (também conhecidas como SKUs). O streaming de artefatos tem potencial para aumentar o consumo geral de armazenamento do registro. Os clientes estão sujeitos a mais taxas de armazenamento, conforme descrito em nossos preços , se o consumo exceder o limite de 500 GiB Premium SKU incluído.
Limitações de pré-visualização
O streaming de artefatos está atualmente em visualização. Aplicam-se as seguintes limitações:
- Apenas imagens com arquitetura Linux AMD64 são suportadas na versão de visualização.
- A versão de pré-visualização não suporta imagens de contentor baseadas no Windows e imagens ARM64.
- A versão de visualização suporta parcialmente imagens de várias arquiteturas, apenas a arquitetura AMD64 é suportada.
- Para criar o pool de nós baseado no Ubuntu no AKS, escolha Ubuntu versão 20.04 ou superior.
- Para Kubernetes, use Kubernetes versão 1.26 ou superior ou Kubernetes versão > 1.25.
- Apenas registros SKU premium suportam a geração de artefatos de streaming na versão de visualização. Os registros de SKU não premium não oferecem essa funcionalidade durante a visualização.
- Os registos CMK (Customer-Managed Keys) NÃO são suportados na versão de pré-visualização.
- O Kubernetes regcred NÃO é suportado no momento.
Pré-requisitos
Você pode usar o Azure Cloud Shell ou uma instalação local da CLI do Azure para executar os exemplos de comando neste artigo. Se você quiser usá-lo localmente, a versão 2.54.0 ou posterior é necessária. Execute
az --version
para encontrar a versão. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI).Inicie sessão no portal do Azure.
Iniciar streaming de artefactos
Inicie o streaming de artefatos com uma série com comandos da CLI do Azure e o portal do Azure para enviar, importar e gerar artefatos de streaming para imagens de contêiner em um Registro de Contêiner do Azure (ACR). Estas instruções descrevem o processo para criar um ACR de SKU Premium, importar uma imagem, gerar um artefato de streaming e gerenciar a operação de streaming de artefatos. Certifique-se de substituir os espaços reservados pelos seus valores reais quando necessário.
Enviar/importar a imagem e gerar o artefato de streaming - CLI do Azure
O streaming de artefatos está disponível na camada de serviço de 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, consulte Instalar a CLI do Azure.
Inicie o streaming de artefatos, seguindo estas etapas gerais:
Nota
Se você já tiver um registro de contêiner premium, poderá ignorar 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 a SKU premium por meio de:
Por exemplo, execute o comando az group create para criar um Grupo de Recursos do Azure com nome
my-streaming-test
na região Oeste dos EUA e, em seguida, execute o comando az acr create para criar um Registro de Contêiner do Azure premium com 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
Envie ou importe uma imagem para o registo através de:
Por exemplo, execute o comando [az configure] para configurar o comando padrão ACR e az acr import para importar uma imagem do Jupyter Notebook do Docker Hub para o
mystreamingtest
ACR.az configure --defaults acr="mystreamingtest" az acr import --source docker.io/jupyter/all-spark-notebook:latest -t jupyter/all-spark-notebook:latest
Criar um fluxo de artefato a partir da imagem
Inicia a criação de um artefato de streaming a partir da imagem especificada.
Por exemplo, execute os comandos az acr artifact-streaming create para criar um artefato de streaming a
jupyter/all-spark-notebook:latest
partir da imagem nomystreamingtest
ACR.az acr artifact-streaming create --image jupyter/all-spark-notebook:latest
Nota
Um ID de operação é gerado 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 para a
jupyter/all-spark-notebook:latest
imagem nomystreamingtest
ACR.az acr manifest list-referrers -n jupyter/all-spark-notebook:latest
Cancelar a criação de streaming de artefato (se necessário)
Cancele a criação do artefato de streaming se a conversão ainda não tiver sido concluída. Ele interrompe a operação.
Por exemplo, execute o comando az acr artifact-streaming operation cancel para cancelar a operação de conversão da
jupyter/all-spark-notebook:latest
imagem nomystreamingtest
ACR.az acr artifact-streaming operation cancel --repository jupyter/all-spark-notebook --id c015067a-7463-4a5a-9168-3b17dbe42ca3
Iniciar a conversão automática no repositório
Inicie a conversão automática no repositório para imagens recém-enviadas ou importadas. Quando iniciadas, novas imagens enviadas para esse repositório acionam a geração de artefatos de streaming.
Nota
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 para o
jupyter/all-spark-notebook
repositório nomystreamingtest
ACR.az acr artifact-streaming update --repository jupyter/all-spark-notebook --enable-streaming true
Verifique o progresso da conversão de streaming, depois de enviar 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 da
jupyter/all-spark-notebook:newtag
imagem nomystreamingtest
ACR.az acr artifact-streaming operation show --image jupyter/all-spark-notebook:newtag
Depois de verificar o status da conversão, agora você pode se conectar ao AKS. Consulte a documentação do AKS.
Desligue o artefato de streaming do repositório.
Por exemplo, execute o comando az acr artifact-streaming update para excluir o artefato de streaming da
jupyter/all-spark-notebook:latest
imagem nomystreamingtest
ACR.az acr artifact-streaming update --repository jupyter/all-spark-notebook --enable-streaming false
Nota
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 através de um ponto de extremidade privado e anexá-lo a ele.
Enviar/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 SKU premium. Para iniciar o streaming de artefatos, atualize um registro usando o portal do Azure.
Siga as etapas para criar 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 streaming de artefato no portal do Azure.
Verifique o artefato de streaming gerado a partir da imagem na guia Referências.
Você também pode excluir o streaming de artefatos 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á ativada no repositório. Inativo significa que a conversão automática está desativada no repositório.
Nota
O estado do streaming de artefatos em um repositório (inativo ou ativo) determina se as imagens compatíveis recém-enviadas serão convertidas automaticamente. Por padrão, todos os repositórios estão em um estado inativo para streaming de artefatos. Isso significa que, quando novas imagens compatíveis são enviadas para o repositório, o streaming de artefatos não será acionado e as imagens não serão convertidas automaticamente. Se quiser iniciar a conversão automática de imagens recém-enviadas, você precisa definir o streaming de artefatos do repositório para o estado ativo. Quando o repositório estiver no estado ativo, quaisquer novas imagens de contêiner compatíveis que forem enviadas por push para o repositório acionarão o streaming de artefatos. Isso iniciará a conversão automática dessas imagens.