ATENÇÃO! ALTERAÇÕES NO DOCKER HUB PODEM ARRUINAR OS SEUS PIPELINES GITLAB! VEJA COMO EVITAR O CAOS!

A partir de 1 de abril de 2025, a Docker vai implementar limites drásticos de taxa de acesso (“pull rate limits”) no Docker Hub, impactando diretamente os pipelines CI/CD, incluindo aqueles que utilizam o GitLab! É essencial preparar-se agora para evitar falhas inesperadas e paralisação total dos seus projetos!

O QUE VAI MUDAR?

A nova política de restrição do Docker Hub definirá os seguintes limites de acesso:

Tipo de UtilizadorLimite de Pulls por HoraRepositórios PúblicosRepositórios Privados
Business, Team, Pro (autenticado)Ilimitado (uso justo)IlimitadoIlimitado
Pessoal (autenticado)100IlimitadoAté 1
Não autenticado10 por endereço IPv4 ou sub-rede IPv6 /64Não aplicávelNão aplicável

PORQUE ISSO É EXTREMAMENTE IMPORTANTE?

  • O GitLab Dependency Proxy atualmente faz pulls do Docker Hub como usuário não autenticado.
  • A maioria dos pipelines CI/CD que não usam o Dependency Proxy acessam diretamente o Docker Hub sem autenticação.
  • Runners hospedados no GitLab.com podem compartilhar o mesmo IP, levando a um esgotamento rápido do limite e falhas catastróficas!

COMO ISSO AFETA OS UTILIZADORES DO GITLAB?

1. Limite de Pulls Diretos no Docker Hub

Se o seu pipeline CI/CD realiza downloads diretos de imagens do Docker Hub sem autenticação, prepare-se para o pior: será limitado a apenas 10 pulls por hora por endereço IP! Se os seus pipelines forem frequentes ou compartilharem infraestrutura, esse limite será atingido em questão de minutos, resultando em falhas recorrentes!

2. Impacto no GitLab Dependency Proxy

O GitLab Dependency Proxy, utilizado para armazenar imagens em cache, também será severamente afetado, pois atualmente opera como usuário não autenticado. Isso significa que as imagens serão limitadas a apenas 10 pulls por hora, tornando a sua infraestrutura extremamente vulnerável!

3. Problemas para Runners Hospedados no GitLab.com

Embora a Google Cloud forneça um cache pull-through para imagens comuns, os trabalhos que executam Docker-in-Docker ou Kaniko podem ser impactados, pois ainda precisarão baixar imagens diretamente do Docker Hub, ficando sujeitos aos novos limites.

O QUE O GITLAB ESTÁ A FAZER PARA MITIGAR O PROBLEMA?

  • Autenticação do Dependency Proxy: O GitLab já adicionou suporte para autenticação no Docker Hub, aumentando consideravelmente os limites.
  • Atualização de Documentação: Guias detalhados para configurar autenticação em pipelines e evitar problemas.
  • Preparação da Infraestrutura: Medidas para minimizar impactos em runners hospedados no GitLab.com.

COMO SE PREPARAR PARA EVITAR O CAOS?

1. Configure Autenticação no Docker Hub

  • Adicione credenciais do Docker Hub nas variáveis CI/CD do seu projeto ou grupo.
  • Utilize a variável DOCKER_AUTH_CONFIG para aumentar seu limite para 100 pulls por hora (ou ilimitado com subscrição paga).

2. Utilize o GitLab Container Registry

Evite depender do Docker Hub: armazene suas imagens no GitLab Container Registry!

Bash
docker pull busybox:latest
docker tag busybox:latest $CI_REGISTRY_IMAGE/busybox:latest
docker push $CI_REGISTRY_IMAGE/busybox:latest

E no seu .gitlab-ci.yml:

Bash
image: $CI_REGISTRY_IMAGE/busybox:latest

3. Utilize o GitLab Dependency Proxy

Configure o Dependency Proxy para armazenar imagens em cache e evitar problemas de taxa limite.

4. Subscrição Paga no Docker Hub

Para equipas com alto consumo de imagens, um plano pago pode ser a solução mais rápida e eficaz.

BOAS PRÁTICAS PARA MINIMIZAR O IMPACTO

  • Evite usar tags latest, pois forçam downloads desnecessários.
  • Utilize as mesmas imagens base em projetos diferentes para reduzir downloads.
  • Programe pipelines menos críticos fora dos horários de pico.
  • Utilize cache para evitar pulls repetitivos.

CRONOGRAMA: O QUE FAZER AGORA?

Imediatamente: Configure autenticação no Docker Hub e Dependency Proxy. ✅ Antes de 1 de Abril de 2025: Teste e ajuste suas configurações para evitar falhas. ⏳ A partir de 1 de Abril de 2025: Novos limites entram em vigor. 🚀 A partir de 17 de Abril de 2025: GitLab 17.11 lança suporte para autenticação do Dependency Proxy via interface.

NÃO ESPERE ATÉ O ÚLTIMO MOMENTO! Configure já a sua infraestrutura para evitar surpresas desagradáveis e garantir que seus pipelines GitLab continuem a funcionar sem interrupções!

Artigos Relacionados