Pesquisa de site

5 razões para hospedar seu registro de contêiner com Pulp


Existem muitos argumentos convincentes para hospedar seu próprio registro de contêiner com Pulp. Aqui estão alguns deles.

Os contêineres Linux simplificaram bastante a distribuição de software. A capacidade de empacotar um aplicativo com tudo o que ele precisa para ser executado ajudou a aumentar a estabilidade e a reprodutibilidade dos ambientes.

Embora existam muitos registros públicos onde você pode fazer upload, gerenciar e distribuir imagens de contêiner, há muitos argumentos convincentes a favor de hospedar seu próprio registro de contêiner. Vamos dar uma olhada nos motivos pelos quais a auto-hospedagem faz sentido e como o Pulp, um projeto gratuito e de código aberto, pode ajudar você a gerenciar e distribuir contêineres em um ambiente local.

Por que hospedar seu próprio registro de contêiner

Há vários motivos pelos quais você pode considerar hospedar seu próprio registro de contêiner:

  • Tamanho: algumas imagens de contêiner são bastante grandes. Se você tiver várias equipes baixando a mesma imagem, isso pode levar muito tempo e pressionar sua rede e seu orçamento.
  • Largura de banda: se você trabalha em uma área com largura de banda limitada ou em uma organização que restringe o acesso à Internet por motivos de segurança, você precisa de uma maneira confiável de gerenciar os contêineres com os quais trabalha.
  • Dinheiro: os termos de serviço podem mudar. Os registros de contêineres externos podem introduzir ou aumentar limites de taxa que podem se tornar proibitivamente restritivos à sua operação.
  • Estabilidade: imagens de contêiner hospedadas em uma fonte externa podem desaparecer de um dia para outro por vários motivos. Algo tão pequeno quanto uma atualização para uma imagem de contêiner na qual você confia pode introduzir alterações importantes que você deseja evitar.
  • Privacidade: você também pode desenvolver e distribuir contêineres que não deseja hospedar em um registro público de terceiros.

Auto-hospedagem com Pulp

Usando o Pulp, você pode evitar esses problemas e assumir o controle total de seus contêineres.

1. Evite limites de taxas

A criação de um cache local de imagens de contêiner no Pulp permite que todos em sua organização extraiam as imagens de contêiner hospedadas no Pulp, em vez de um registro externo. Isso significa que você pode evitar limites de taxa e sincronizar a partir de um registro externo somente quando precisar de algo novo. Sempre que você precisar sincronizar contêineres de um registro externo, o Pulp primeiro verifica se o conteúdo já existe antes de iniciar a sincronização do registro remoto. Se você estiver sujeito a limites de taxa de registro, estará espelhando apenas o conteúdo necessário e distribuindo-o por toda a organização usando o Pulp.

2. Organize seus contêineres

Com o Pulp, você pode criar um repositório e, em seguida, espelhar e sincronizar contêineres de qualquer registro que seja compatível com Docker Registry HTTP API V2. Isso inclui Docker, Google Container Registry, Quay.io e muito mais, incluindo outro servidor Pulp. Não há limites ou restrições à maneira como você combina contêineres espelhados de diferentes registros. Você é livre para misturar recipientes de diferentes fontes. Isso permite que você selecione um conjunto de contêineres públicos e privados para atender exatamente às suas necessidades.

3. Experimente sem riscos

No Pulp, toda vez que você faz uma alteração no repositório, uma nova versão imutável é criada. Você pode criar diversas versões de um repositório, por exemplo, desenvolvimento, teste, preparação e produção, e promover contêineres entre elas. Você pode sincronizar as atualizações mais recentes em uma imagem de contêiner de um registro externo para o Pulp e, em seguida, tornar as alterações mais recentes consumíveis em um desenvolvimento ou outro ambiente. Você pode fazer as alterações que julgar necessárias nos repositórios e promover o conteúdo do contêiner para ser consumido por uma equipe de teste ou outro ambiente. Se algo der errado, você poderá reverter para uma versão anterior.

4. Sincronize apenas o conteúdo que você precisa

Se quiser usar o Pulp para criar um cache local de um subconjunto de contêineres em vez de um registro de contêiner completo, você poderá filtrar uma seleção de contêineres de uma fonte remota. Com o Pulp, há diversas opções de sincronização de conteúdo para que você armazene apenas o conteúdo necessário ou configure sua implantação para armazenar conteúdo em cache sob demanda.

5. Trabalhe com ambientes desconectados e com falta de ar

Se você trabalha em um ambiente desconectado ou restrito, poderá sincronizar atualizações de uma instância do Pulp conectada com o Pulp desconectado. Atualmente, há planos para implementar um recurso nativo de air gap para o Pulp para facilitar um fluxo de trabalho totalmente desconectado. Enquanto isso, como solução alternativa, você pode usar uma ferramenta como o Skopeo para baixar as imagens de contêiner necessárias e, em seguida, enviá-las para o registro de contêiner Pulp desconectado.

E muito mais!

Com o Pulp, você também pode criar contêineres a partir de arquivos de contêineres, enviar contêineres privados para repositórios e distribuí-los por toda a organização. Veremos esse fluxo de trabalho em um artigo futuro.

Como começar

Se estiver interessado em auto-hospedar seu registro de contêiner, você pode instalar o Pulp hoje mesmo. O processo de instalação foi altamente automatizado e simplificado com a adição de um instalador Pulp Ansible.

Pulp possui uma arquitetura baseada em plugins. Ao instalar o Pulp, selecione o plugin Container e qualquer outro tipo de plugin de conteúdo que você deseja gerenciar. Se preferir fazer um test drive no Pulp, você pode avaliar uma versão em contêiner do Pulp hoje mesmo.

Se você tiver alguma dúvida ou comentário, sinta-se à vontade para entrar em contato conosco pelo canal #pulp no Freenode IRC, e ficaremos felizes em responder perguntas em nossa lista de e-mail, pulp-list@redhat.com.

Artigos relacionados: