Visão geral do streaming de artefatos no AKS (Serviço de Kubernetes do Azure)

Este artigo fornece uma visão geral do Streaming de Artefatos no AKS (Serviço de Kubernetes do Azure) com Registro de Contêiner do Azure (ACR). O Artifact Streaming transfere imagens de contêineres do ACR para o AKS, de modo que você só baixa as camadas necessárias para a inicialização do pod. Esse recurso reduz o tempo necessário para implantar suas cargas de trabalho.

Como funciona o Streaming de Artefatos?

Em uma inicialização de contêiner padrão, o Kubernetes baixa todas as camadas de imagem antes do início da carga de trabalho. Este processo pode demorar para imagens grandes ou ao iniciar vários pods.

O Streaming de Artefatos no AKS altera esse comportamento recuperando apenas as camadas necessárias para a inicialização inicial do pod. O runtime recupera os dados restantes mais tarde, conforme necessário. Essa funcionalidade usa o OverlayBD, que converte camadas de imagem de contêiner em um dispositivo de bloco virtual. O runtime pode acessar dados no nível do bloco em vez de baixar a imagem completa. Usando essa abordagem, você recupera apenas os blocos que são acessados durante a inicialização e o runtime. Se um aplicativo usar apenas parte da imagem, somente essa parte será extraída.

Note

O Streaming de Artefatos no AKS 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 você usar o digest para pulls de imagens, não poderá usar o Streaming de Artefatos.

Benefícios e casos de uso

Com o Streaming de Artefatos no AKS, você pode:

  • Implantar aplicativos em contêineres em várias regiões: transmitir imagens de contêiner de um único registro de contêiner Azure para clusters do AKS em regiões diferentes. Essa abordagem reduz o tempo e os recursos necessários para replicar imagens.
  • Reduza o tempo de prontidão do pod: Inicie os pods antes que a imagem completa seja baixada, o que pode reduzir o tempo de prontidão do pod (especialmente para imagens grandes).
  • Melhore a eficiência de escalonamento: ofereça suporte a implantações em larga escala, reduzindo atrasos na inicialização ao criar ou escalonar vários pods.
  • Otimizar a inicialização para imagens grandes: melhorar o tempo de inicialização para cargas de trabalho que não exigem todas as camadas de imagem na inicialização, como cargas de trabalho com estado em contêineres (como aplicativos Java ou C#) ou cargas de trabalho com dependências inseridas na imagem que não são necessárias imediatamente na inicialização do pod.

Considerations

Tenha as seguintes considerações em mente ao usar o Streaming de Artefatos no AKS:

  • Imagens com muitas leituras que precisam ler o arquivo na inicialização não se beneficiam do Streaming de Artefatos. Se você tiver um pod que precise de acesso a um arquivo grande (>30 GB), monte-o como um volume em vez de configurá-lo como uma camada. Se o seu pod exigir esse arquivo para iniciar, ele congestionará o nó.
  • Você pode iniciar o Streaming de Artefatos para repositórios ou marcas específicos em registros de contêiner novos ou existentes.
  • Você pode armazenar o artefato original e o artefato de streaming no ACR iniciando o Streaming de Artefatos.
  • Você pode acessar o artefato original e o artefato transmitido por streaming mesmo depois de desativar o Streaming de Artefatos para repositórios ou artefatos.
  • Se você habilitar o Streaming de Artefatos e a Exclusão Suave e excluir um repositório ou artefato, as versões original e de Streaming de Artefatos serão excluídas. No entanto, apenas a versão original está disponível no portal Soft Delete.

Para começar a usar o Streaming de Artefatos no AKS, consulte Habilitar Streaming de Artefatos em AKS (Serviço de Kubernetes do Azure) com Registro de Contêiner do Azure (ACR).