Partilhar via


Reduza o tempo de extração de imagem com o Streaming de Artefatos no Serviço Kubernetes do Azure (AKS) (Visualização)

As cargas de trabalho de computação de alto desempenho geralmente envolvem imagens grandes, o que pode causar longos tempos de extração de imagem e retardar suas implantações de carga de trabalho. O Artifact Streaming no AKS permite-lhe transmitir imagens de contêiner do Azure Container Registry (ACR) para o AKS. O AKS só descarrega as camadas necessárias para o arranque inicial do pod, reduzindo o tempo necessário para descarregar imagens e implantar as suas cargas de trabalho.

A transmissão de artefactos pode reduzir o tempo de prontidão do pod em mais de 15%, dependendo do tamanho da imagem, e funciona melhor para imagens com menos de 30GB. Com base nos nossos testes, observámos reduções nos tempos de arranque dos pods para imagens <10GB, de minutos para segundos. Se tiver um pod que precisa aceder a um ficheiro grande (>30GB), deve montá-lo como um volume, em vez de construi-lo como uma camada. Isto deve-se ao facto de, se o seu pod necessitar desse ficheiro para iniciar, isso congestiona o nó. O Artifact Streaming não é ideal para ler imagens pesadas do seu sistema de arquivos se você precisar disso na inicialização. Com o Artifact Streaming, o arranque do pod torna-se concurrente, enquanto sem ele, os pods iniciam-se em série.

Este artigo descreve como ativar a funcionalidade de transmissão de artefactos nos pools de nós do AKS para transmitir artefactos a partir do ACR.

Important

Os recursos de pré-visualização do AKS estão disponíveis numa base de autosserviço e adesão voluntária. As pré-visualizações são fornecidas "no estado em que se encontram" e "conforme disponíveis", e estão excluídas dos acordos de nível de serviço e da garantia limitada. As pré-visualizações do AKS são parcialmente cobertas pelo suporte ao cliente numa base de melhor esforço. Assim sendo, estas funcionalidades não se destinam ao uso em produção. Para mais informações, consulte os seguintes artigos de apoio.

Important

Desde 30 de novembro de 2025, o Azure Kubernetes Service (AKS) já não suporta nem fornece atualizações de segurança para o Azure Linux 2.0. A imagem da máquina virtual do Azure Linux 2.0 está congelada na versão 202512.06.0. A partir de 31 de março de 2026, as imagens dos nós serão removidas e não conseguirá escalar os seus pools de nós. Migre para uma versão Azure Linux suportada atualizando os seus pools de nós para uma versão Kubernetes suportada ou migrando para o osSku AzureLinux3. Para obter mais informações, consulte [Desativação] Pools de nós do Azure Linux 2.0 no AKS.

Important

O Artifact Streaming (visualização) é uma alternativa sugerida para clientes que usam anteriormente o Teleport (visualização). Teleport (versão prévia) no AKS será desativado a 15 de julho de 2025. Migre para o Artifact Streaming (visualização) no AKS ou atualize seus pools de nós para definir --aks-custom-headers EnableACRTeleport=false. O Registro de Contêiner do Azure removeu a API de Teleport, o que significa que todos os nós com Teleport habilitado extrairão imagens do Registro de Contêiner do Azure como qualquer outro nó AKS sem Teleport. Após 15 de julho de 2025, os pools de nós AKS com Teleport ativado poderão sofrer interrupções e falhas no provisionamento de nós. Para obter mais informações, consulte aka.ms/aks/teleport-retirement.

Limitações

Prerequisites

Nota

A transmissão de artefatos é suportada apenas no Ubuntu 22.04, Ubuntu 20.04 e em pools de nós com Azure Linux. Não há suporte para grupos de nós do Windows.

Instalar a aks-preview extensão CLI

  1. Instale a aks-preview extensão CLI usando o az extension add comando.

    az extension add --name aks-preview
    
  2. Atualize a extensão para garantir que tem a versão mais recente instalada, utilizando o comando az extension update.

    az extension update --name aks-preview
    

Registe o ArtifactStreamingPreview sinalizador de recurso na sua subscrição

  • Registar o flag de funcionalidade ArtifactStreamingPreview na sua subscrição utilizando o comando az feature register.

    az feature register --namespace Microsoft.ContainerService --name ArtifactStreamingPreview
    

Ativar Transmissão de Artefato no ACR

A ativação no ACR é uma pré-requisito para o fluxo de artefatos no AKS. Para mais informações, consulte Streaming de artefactos no ACR.

  1. Crie um grupo de recursos do Azure para manter sua instância do ACR usando o az group create comando.

    az group create --name myStreamingTest --location westus
    
  2. Crie uma nova SKU premium do Azure Container Registry usando o comando az acr create com a opção --sku Premium.

    az acr create --resource-group myStreamingTest --name mystreamingtest --sku Premium
    
  3. Configure a instância ACR padrão para a sua subscrição usando o comando az configure.

    az configure --defaults acr="mystreamingtest"
    
  4. Envie ou importe uma imagem para o registro usando o az acr import comando.

    az acr import --source docker.io/jupyter/all-spark-notebook:latest --repository jupyter/all-spark-notebook:latest
    
  5. Crie um artefacto de transmissão a partir da imagem utilizando o comando az acr artifact-streaming create.

    az acr artifact-streaming create --image jupyter/all-spark-notebook:latest
    
  6. Verifique a transmissão de artefatos gerada usando o comando az acr manifest list-referrers.

    az acr manifest list-referrers --name jupyter/all-spark-notebook:latest
    

Ativar Streaming de Artefactos no AKS

Ativar a Transmissão de Artefactos em um novo grupo de nós

  • Crie um novo pool de nós com Artifact Streaming ativado, usando o comando az aks nodepool add com o --enable-artifact-streaming.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name myNodePool \
        --enable-artifact-streaming
    

Ativar a Transmissão de Artefactos num pool de nós existente

  • Atualize um pool de nós existente para ativar o Artifact Streaming usando o comando az aks nodepool update com o --enable-artifact-streaming.

    az aks nodepool update \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name myNodePool \
        --enable-artifact-streaming
    

Verificar se a Transmissão de Artefactos está ativada

Agora que ativou o Artifact Streaming em um ACR premium e conectou isso a um pool de nós AKS com Artifact Streaming ativado, qualquer nova implantação de pods neste cluster com uma obtenção de imagem do ACR com Artifact Streaming ativado verá reduções nos tempos de obtenção de imagem.

  • Verifique se o seu pool de nós tem o Artifact Streaming ativado usando o comando az aks nodepool show.

    az aks nodepool show --resource-group myResourceGroup --cluster-name myAKSCluster --name myNodePool --query artifactStreamingProfile
    

    No resultado, verifique se o campo Enabled está definido para true.

Próximos passos

Este artigo descreve como ativar a Transmissão de Artefactos nos seus agrupamentos de nós AKS para transmitir artefactos a partir do ACR e reduzir o tempo de extração de imagens. Para saber mais sobre como trabalhar com imagens de contêiner no AKS, consulte Melhores práticas para gestão e segurança de imagens de contêiner no AKS.