Como montar seu próprio Registry Privado com Harbor
Hoje, no blog da 4Linux, sobre Registry Privado e em como montar o nosso com o Harbor.
O que é um Registry
Quando falamos de contêineres, sabemos que para ele exista, precisamos de uma imagem que vai conter todos os binários e dependências da aplicação. E essa imagem precisa vir de algum “lugar”.
Dai entra o Registry, lugar onde vamos armazenar e versionar a imagem da nossa aplicação. No mercado existe várias ferramentas que oferecem isso, como o Docker Hub, que é o maior repositório público de imagens de contêineres. Ele possui planos para você utilizar de forma privada, assim como temos o ECR da AWS, entre outros.
A vantagem de possuir um Registry Privada são inúmeras, desde maior controle das imagens, integrações com outras ferramentas, ter conhecimento da autenticidade da imagem, etc.
O objetivo do nosso post hoje é mostrar uma das tantas alternativas existentes que é o Harbor, onde conseguimos fazer integração com LDAP, Scan de vulnerabilidade entre outros recursos.
Bora lá
Harbor
O Harbor é um registry Open Source que protege artefatos com políticas e controle de acesso baseado em função, garante que as imagens sejam verificadas e livres de vulnerabilidades e assine imagens como confiáveis. Ele é bem interessante para ambiente e vamos colocar a mão na massa!
Pré-requisitos
Para que possamos utilizar o Harbor, precisamos ter no nosso ambiente as seguintes configurações de hardware e software:
Recursos | Minimo | Recomendado |
---|---|---|
CPU | 2 CPU | 4 GB |
Memória | 4 GB | 8 GB |
Disco | 40 GB | 160 GB |
- Docker 17.04 ou superior
- Docker-compose instalado
Para facilitar a criação do nosso ambiente, vou disponibilizar para vocês um repositório com a criação do ambiente de forma automatizada com o Vagrant. Para poder executar esse ambiente, vocês vão precisar ter instalado:
- Vagrant (https://developer.hashicorp.com/vagrant/docs/installation)
- VirutalBox 6.1 (https://www.virtualbox.org/wiki/Download_Old_Builds_6_1)
- Git (https://git-scm.com/downloads)
Feito isso, basta clonar o repositório e inicializar o Vagrant para ele criar a VM:
git clone https://github.com/silvemerson/harbor-labs.git/ cd harbor-labs vagrant up
Instalando o Harbor
Acesse a VM utilizando o comando abaixo e se torne root. vagrant ssh sudo su
Faça o Download do Harbor na versão 2.6.0
wget https://github.com/goharbor/harbor/releases/download/v2.6.0/harbor-online-installer-v2.6.0.tgz
Após isso, descompacte o arquivo:
tar xzvf harbor-online-installer-v2.6.0.tg
Gere os certificados:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout registry.4labs.example.key -out registry.4labs.example.crt -subj "/CN=registry/O=4Labs/OU=DevOps" -addext "subjectAltName = DNS:registry.4labs.example"
Gere um PEM do certificado:
openssl x509 -inform PEM -in registry.4labs.example.crt -out registry.4labs.example.cert
Crie um diretório que vai armazenar os certificados:
mkdir -p /data/certs
Realize a cópia dos arquivos gerados:
cp registry.4labs.example.* /data/certs
Crie o diretório para seu Registry no Docker:
mkdir -p /etc/docker/certs.d/registry.4labs.example/
Copie os arquivos gerados para o o diretório criado:
cp registry.4labs.example.cert /etc/docker/certs.d/registry.4labs.example/
cp registry.4labs.example.key /etc/docker/certs.d/registry.4labs.example/
cp registry.4labs.example.crt /etc/docker/certs.d/registry.4labs.example/ca.crt
Inicializando o Harbor
Realize o clone do repositório harbor-labs e copie o arquivo harbor.yml para o diretório do harbor
git clone https://github.com/silvemerson/harbor-labs.git
cp harbor-labs/harbor/harbor.yml ~/harbor
Execute os scrips abaixo para preparar o ambiente:
cd ~/harbor
./prepare
Execute a criação do ambiente com o examinador Trivy:
./install.sh --with-trivy
Mapeie no seu /etc/hosts a seguinte linha:
172.16.0.103 registry registry.4labs.example
Por fim, acesse o Harbor pelo navegador:
https://registry.4labs.example
Credenciais | de acesso |
---|---|
Usuário | admin |
Senha | 4linux |
Nosso ambiente em funcionamento:
E por hoje é só pessoal, no próximo post, vamos conectar ao nosso Registry Harbor, enviar imagens e analisar vulnerabilidades.
Não se esqueçam de compartilhar em suas redes sociais.
Até a próxima.
Líder em Treinamento e serviços de Consultoria, Suporte e Implantação para o mundo open source. Conheça nossas soluções:
About author
Você pode gostar também
Melhore a segurança do seu ambiente Kubernetes com práticas eficazes
A ampla utilização do Kubernetes (K8S) em ambientes produtivos traz uma alerta, de como esses ambientes estão sendo usados em relação as configurações e boas práticas de segurança da informação.
Descubra como otimizar seu cluster Kubernetes com o plugin de rede Calico
Olá mundo DevOps! Nesse post irei mostrar como se comporta um cluster Kubernetes quando trabalhamos com nós de trabalho divididos em várias instâncias cloud como Amazon Web Services (AWS), Google
Implantação simplificada do WordPress com Docker e Ansible: Guia passo a passo
A implantação do WordPress pode ser uma tarefa um pouco demorada, desde a configuração do servidor web até a instalação do banco de dados, há vários passos envolvidos. Mas e