Proxy-Cache de Container Registry da Magalu Cloud
Este documento oferece uma visão geral sobre a funcionalidade Proxy-Cache do Container Registry da Magalu Cloud, um serviço que permite armazenar localmente imagens de contêiner de um registro remoto para acelerar acessos futuros e economizar largura de banda.
O que é um Proxy-Cache?
O Proxy-Cache do Container Registry da Magalu Cloud é um serviço intermediário que armazena localmente imagens de contêiner de um registro remoto, como o Docker Hub, para acelerar acessos futuros e economizar largura de banda. Ele atua como um "cache pull-through" (cache de extração direta): quando uma imagem é solicitada, o proxy a procura em seu cache local. Se não estiver presente, o proxy a extrai do registro remoto, armazena-a em seu cache e, só então, a entrega ao solicitante. Isso reduz drasticamente o tempo de pull de imagens em ambientes de CI/CD e de nuvem, além de aliviar o tráfego para os repositórios públicos e mitigar limites de taxa.
Como funciona o Proxy-Cache?
- Solicitação inicial: Quando um nó Kubernetes ou pipeline de CI/CD precisa de uma imagem, ele envia a solicitação ao proxy cache, não diretamente ao registry de destino.
- Cache hit: Se a imagem estiver no cache do proxy, ela é entregue imediatamente ao solicitante.
- Cache miss: Se a imagem não estiver no cache, o proxy a busca no registry remoto, a armazena em seu cache local e a envia para o solicitante.
- Atualização: Para imagens atualizadas, o proxy verifica o registry de destino, extrai a nova versão, a entrega e a armazena no cache.
- Acessibilidade: Mesmo que o registry remoto não esteja acessível, o proxy pode continuar a fornecer a imagem do seu cache.
Benefícios de usar o o Proxy-Cache da Magalu Cloud
- Velocidade: Acelera significativamente os tempos de download de imagens, pois as imagens são servidas a partir do cache local.
- Redução de custos e tráfego: Diminui a quantidade de dados transferidos da internet, o que pode reduzir custos e a carga nos registros de origem.
- Disponibilidade: Garante que os contêineres possam ser extraídos mesmo quando há problemas de conexão com os registries remotos.
- Gerenciamento de limites de taxa: Ajuda a evitar que os sistemas atinjam os limites de solicitação impostos pelos registries públicos, como o Docker Hub.
Passo a passo para utilização
- Criação do Proxy Cache: Configure um Proxy-Cache que armazene localmente imagens de um registry externo. Os providers válidos são:
docker-hub
,google-gcr
eaws-ecr
. Para o provider selecionado, o cliente deve informar a URL correta do registry externo, pois cada provider pode ter múltiplos endpoints ou regiões. - Criação do Registry associado ao Proxy Cache: Com o Proxy Cache criado, configure um novo registry dentro da Magalu Cloud que aponta para ele. Este será o registry que seus sistemas (Kubernetes, Docker, etc.) irão utilizar para puxar as imagens.
- Validação o Registry criado: Confirme que o registry foi criado com sucesso listando os registries existentes. Isso garante que ele está pronto para uso.
Oportunidades de uso
- Equipes e Clusters Grandes: Em empresas com várias equipes de desenvolvimento trabalhando em aplicações em contêineres, a utilização de um proxy cache pode acelerar o processo de pulling de imagens, pois a primeira cópia da imagem é extraída da internet uma única vez e depois distribuída localmente para os restantes nós.
- Ambientes com Muitos Nós: Um ambiente Kubernetes, por exemplo, pode ter dezenas ou centenas de nós em execução no contêiner. Sem um proxy cache, cada nó puxaria as mesmas imagens repetidamente da internet, aumentando o tráfego e o tempo de execução. Com o cache, o tráfego é reduzido e os tempos de pull são significativamente mais rápidos.
- Redes com Banda Limitada ou Instáveis: Em locais com conexão de internet lenta, caras ou instáveis, um proxy cache é crucial para otimizar o consumo de banda. O cache armazena imagens que são acedidas com frequência, evitando o acesso repetitivo à internet e melhorando a velocidade e a confiabilidade das operações.
- Ambientes com Segurança Reforçada: Um proxy cache pode atuar como um ponto único para a gestão de acessos a registos externos, permitindo a aplicação de políticas de segurança mais rigorosas e reduzindo a exposição direta dos sistemas internos à internet.
- Desenvolvimento e Testes: Para equipes de desenvolvimento e testes que precisam de puxar as mesmas imagens de contêiner várias vezes, um proxy cache pode acelerar os ciclos de desenvolvimento, reduzindo o tempo gasto na obtenção de imagens e permitindo um fluxo de trabalho mais eficiente.