Subindo o Bitnami Harbor em um cluster Kubernetes local.

Logo do Bitnami Harbor.

Introdução

Por anos tenho usado o Bitnami para imagens de container e VMs para implantar apps para fins de estudo, porque eles realmente fazem um ótimo trabalho simplificando o seu uso, mas este foi um caso atípico. Por esse motivo, decidi escrever um guia de instalação passo a passo.

  • I5 CPU
  • 100 GB de disco
  • Ubuntu 20.10

Pré-requisitos

  • Snap
  • Kubernetes Cluster (microk8s, minikube, K3s) — Neste guia estou usando o microk8s.
  • Kubedns (microk8s enable dns)
  • Helm

Verificalção do Kubernetes

Espere pela inicialização do microk8s. É possível verirficar o status usando o comando abaixo.

bash# microk8s status
Saída do comando microk8s status.
bash# kubectl get pods

Configuração do Bitnami Harbor

Depois de instalar o helm, e usuá-lo para instalar o Harbor, verifique novamente os pods.

bash# helm install my-release bitnami/harborbash# kubectl get pods
Saída do comando kubectl get pods.
bash# kubectl get pvc
Saída do kubectl get pvc.
bash# kubectl apply -f pv.yaml
Arquivo pv.yaml.
Saída do comando kubectl get pvc.
Saída do comando kubectl get pods.

IP de acesso e configuração inicial

Para acessar a interface do Harbor, você tem que achar o IP do serviço do LB (Load Balancer), para tal, é só dar o seguinte comando.

bash# kubectl get svc
Saída do comando kubectl get svc.
Projeto de nome handson e usuário matheus.
bash# docker login 10.152.183.168
Saída do comando docker login 10.152.183.168.
Screenshot da aba Details do Certificate Viewer do Chrome.
Arquivo /etc/hosts.
Screenshot do System Setting no Harbor. O ca.cert pode ser baixado no link Download (Registry root Certificate).
Estrutura do diretório /etc/docker.
bash# docker login core.harbor.domain
Saída do comando docker login core.harbor.domain.
# docker tag hello-world core.harbor.domain/handson/hello-world
# docker push core.harbor.domain/handson/hello-world
The push refers to repository [core.harbor.domain/handson/hello-world]f22b99068db9: Pushedlatest: digest: sha256:1b26826f602946860c279fce658f31050cff2c596583af237d971f4629b57792 size: 525
Imagem enviada ao projeto “handson”.

Data scientist and devops enthusiast.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store