Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Imagens de contêiner grandes podem aumentar o tempo de extração de imagens e atrasar a implantação de cargas de trabalho. Artifact Streaming permite transmitir imagens de contêiner do Registro de Contêiner do Azure (ACR) para o Serviço de Kubernetes do Azure (AKS). O AKS extrai apenas as camadas necessárias para a inicialização inicial do pod, reduzindo o tempo necessário para implantar suas cargas de trabalho.
Este artigo descreve como habilitar e desativar o recurso Artifact Streaming nos pools de nós do AKS para transmitir artefatos a partir do ACR.
Pré-requisitos
- Uma assinatura do Azure. Caso não tenha uma assinatura do Azure, é possível criar uma conta gratuita.
- Habilitar Streaming de Artefatos no ACR.
- CLI do Azure versão 2.87.0 ou posterior. Execute
az --versionpara localizar a sua versão. Se precisar instalar ou atualizar, consulte Instalar CLI do Azure. - Esse recurso requer o Kubernetes versão 1.25 ou posterior. Para verificar a versão do cluster do AKS, consulte Verificar se há atualizações de cluster do AKS disponíveis.
- Um cluster do AKS existente com integração ao ACR. Se você não o tiver, poderá criá-lo usando Autenticar com o ACR do AKS.
- A Função Colaborador do Serviço de Kubernetes do Azure é necessária para modificar as configurações do pool de nós.
Limitações
- Há suporte apenas para imagens com a arquitetura AMD64 do Linux.
- Não há suporte para imagens de contêiner baseadas em Windows e imagens ARM64.
- Somente a arquitetura AMD64 tem suporte para imagens de várias arquiteturas.
- Os pools de nós baseados no Ubuntu no AKS devem usar o Ubuntu versão 20.04 ou superior.
- Há suporte apenas para registros ACR de SKU Premium.
- Não há suporte para registros CMK (Customer-Managed Keys).
- O Kubernetes
regcred, porimagePullSecretsexemplo, não tem suporte. A extração de imagens do ACR usando credenciais de token mapeadas para escopo não-Entra ou credenciais de usuário administrador do ACR por padrão resulta em extrações sem o Artifact Streaming, mesmo que o pool de nós e a imagem estejam habilitados para streaming. - O Artifact Streaming oferece suporte apenas à extração de imagens por tag. O Streaming de Artefatos funciona resolvendo os pulls de imagens por tag para uma variante de streaming da imagem. Se as extrações de imagens forem feitas por digest, você não poderá usar o Artifact Streaming.
Habilitar Streaming de Artefatos no ACR
Crie um grupo de recursos do Azure para conter sua instância do ACR usando o comando
az group create.az group create --name myStreamingTest --location westusCrie um novo ACR com SKU Premium usando o comando
az acr createcom a flag--sku Premium.az acr create --resource-group myStreamingTest --name mystreamingtest --sku PremiumConfigure a instância padrão do ACR para sua assinatura usando o comando
az configure.az configure --defaults acr="mystreamingtest"Importe ou efetue push de uma imagem para o Registro usando o comando
az acr import.az acr import --source docker.io/jupyter/all-spark-notebook --repository jupyter/all-spark-notebookCrie um artefato de streaming da imagem usando o comando
az acr artifact-streaming create.az acr artifact-streaming create --image jupyter/all-spark-notebook:latestVerifique o Streaming de Artefatos gerado usando o comando
az acr manifest list-referrers.az acr manifest list-referrers --name jupyter/all-spark-notebook:latest
Habilitar Streaming de Artefatos no AKS
Você pode habilitar o Artifact Streaming em pools de nós novos ou existentes em seu cluster AKS com integração ao ACR.
Observação
Se você não tiver um ACR de camada Premium integrado ao cluster do AKS, não poderá usar o Streaming de Artefatos no AKS.
Observação
Clusters com Node Auto Provisioning (NAP) habilitado podem ativar o streaming de artefatos usando o campo spec.artifactStreaming.enabled do CRD AKSNodeClass. Defina este campo como true para habilitar o streaming de artefatos para quaisquer nós novos ou existentes gerenciados pelo NAP associados a esta CRD AKSNodeClass.
Habilitar o Streaming de Artefatos em um novo pool de nós
Crie um novo pool de nós do AKS com o Streaming de Artefatos habilitado usando o comando az aks nodepool add com a flag --enable-artifact-streaming.
az aks nodepool add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name myNodePool \
--enable-artifact-streaming
Ativar o Streaming de Artefatos em um pool de nós existente
Habilite o Streaming de Artefatos em um pool de nós do AKS existente usando o comando az aks nodepool update com a flag --enable-artifact-streaming.
az aks nodepool update \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name myNodePool \
--enable-artifact-streaming
Desabilite o Streaming de Artefatos em um pool de nós existente
Desabilite o Streaming de Artefatos em um pool de nós do AKS existente usando o comando az aks nodepool update com a flag --disable-artifact-streaming.
az aks nodepool update \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name myNodePool \
--disable-artifact-streaming
Verificar o status de ativação do Artifact Streaming
Verifique se o Artifact Streaming está habilitado em um pool de nós do AKS usando o comando az aks nodepool show com a flag --query definida como artifactStreamingProfile.
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name myNodePool \
--query artifactStreamingProfile
Na saída, verifique o Enabled campo.
true significa que o Streaming de Artefatos está habilitado e false significa que o Streaming de Artefatos está desabilitado.
Conteúdo relacionado
Este artigo descreve como habilitar e desabilitar o Artifact Streaming nos pools de nós do AKS para fazer streaming de artefatos do ACR e reduzir o tempo de implantação. Para saber mais sobre como trabalhar com imagens de contêiner no AKS, consulte Melhores práticas para gerenciamento e segurança de imagens de contêiner no AKS.