Visão geral do Artefact Streaming no Azure Kubernetes Service (AKS)

Este artigo fornece uma visão geral do Artefact Streaming no Azure Kubernetes Service (AKS) com Azure Container Registry (ACR). O Artefact Streaming transmite imagens de contentores do ACR para o AKS, por isso só puxas as camadas necessárias para o arranque inicial do pod. Esta funcionalidade reduz o tempo necessário para implementar as suas cargas de trabalho.

Como funciona o Artefact Streaming?

Num arranque padrão de contentores, o Kubernetes descarrega todas as camadas de imagem antes do início da carga de trabalho. Este processo pode demorar algum tempo para imagens grandes ou ao iniciar vários pods.

O Artefact Streaming no AKS altera este comportamento ao recuperar apenas as camadas necessárias para o arranque inicial do pod. O tempo de execução recupera os dados restantes mais tarde, conforme necessário. Esta funcionalidade utiliza OverlayBD, que converte camadas da imagem do contentor num dispositivo de bloco virtual. O runtime pode aceder aos dados ao nível do bloco em vez de descarregar a imagem completa. Ao usar esta abordagem, recupera apenas os blocos acedidos durante o arranque e o tempo de execução. Se uma aplicação usar apenas parte da imagem, apenas essa parte é retirada.

Note

O Artefact Streaming no AKS só suporta pulls de imagem por tag.

O Artefact Streaming funciona resolvendo puxagens de imagem por etiqueta para uma variante de streaming da imagem. Se utilizar digest para obter imagens, não pode usar Artifact Streaming.

Benefícios e casos de uso

Com o Artefact Streaming no AKS, podes:

  • Implementar aplicações containerizadas em várias regiões: Transmitir imagens de contentores de um único registo de contentores do Azure para clusters AKS em diferentes regiões. Esta abordagem reduz o tempo e os recursos necessários para replicar imagens.
  • Reduzir o tempo até o pod ficar pronto: Iniciar os pods antes de a imagem ser totalmente transferida, o que pode reduzir o tempo até o pod ficar pronto (especialmente no caso de imagens grandes).
  • Melhorar a eficiência de escalabilidade: Apoiar implementações em grande escala reduzindo os atrasos de arranque ao criar ou escalar múltiplos pods.
  • Otimize o arranque para imagens grandes: Melhore o tempo de inicialização para cargas de trabalho que não requerem todas as camadas de imagem no arranque, como cargas de trabalho containerizadas com estado (como aplicações Java ou C#) ou cargas de trabalho com dependências incorporadas na imagem que não são necessárias imediatamente no arranque do pod.

Considerations

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

  • Imagens que exigem muita leitura e que precisam de ler o ficheiro no arranque não beneficiam do Artefact Streaming. Se tiveres um pod que precisa de acesso a um ficheiro grande (>30 GB), monta-o como um volume em vez de o construir como uma camada. Se o teu pod exigir que esse ficheiro seja iniciado, ele congestiona o nó.
  • Pode iniciar o Artefact Streaming para repositórios ou etiquetas específicas em registos de contentores novos ou existentes.
  • Podes guardar tanto o original como o artefacto de streaming no ACR ao iniciar o Artifact Streaming.
  • Pode aceder ao original e ao artefacto transmitido mesmo depois de desativar a transmissão de artefactos para repositórios ou artefactos.
  • Se ativares o Artefact Streaming e o Soft Delete e apagares um repositório ou artefacto, tanto a versão original como a do Artifact Streaming são eliminadas. No entanto, apenas a versão original está disponível no portal Soft Delete.

Para começar a usar o Artifact Streaming no AKS, consulte Enable Artifact Streaming on Azure Kubernetes Service (AKS) with Azure Container Registry (ACR).