Öncelikle HELM kurulumunu yapın.

Bitnami reposunu Helm’e ekleyelim

helm repo add bitnami https://charts.bitnami.com/bitnami

Kurulumu harbor namespace üzerine yapacağız. Önce namespace oluşturalım.

kubectl create ns harbor

Helm update edelim

helm repo update

Harbor’u kubernetes üzerinde kaldıralım

helm install --wait harbor --namespace harbor bitnami/harbor \
  --set expose.ingress.hosts.core=harbor.sezer.test \
  --set expose.ingress.hosts.notary=notary.sezer.test \
  --set persistence.enabled=true \
  --set externalURL=https://harbor.sezer.test

persistence.enabled=true parametresi registry üzerinde oluşturacağımız imageların kalıcılığını sağlayacak.

sezer.test kısımlarını kendi domaininiz ile değiştirin.

Ardından uygulamayı ingress ile dışarıya yayın yaptıralım. Bu konuda bilginiz yoksa aşağıdaki konuyu inceleyin.

apiVersion: networking.k8s.io/v1
kind: Ingress

...

..

spec:
  ingressClassName: nginx
..
..
..


Admin panel’e ingress ile dışarı verdiğiniz domainden erişebilirsiniz. Default kurulum kullanıcı adı ve şifresi aşağıdaki gibidir;

Kullanıcı adı: admin

Şifre: Harbor12345

Mutlaka şifrenizi değiştirin!

Ingress ile dışarı vermeniz gerekenler aşağıdaki gibidir;

image 2
image 101

SSL kurulu değilse güvenli olmayan registry’e ekle. IP adresi ingress ip adresinizdir.

nano /etc/docker/daemon.json
{
    "insecure-registries": ["10.0.0.150:5000"]
}

Servisleri relaod edin

systemctl daemon-reload
systemctl restart docker

Docker’a harbor registry ekleme

docker login harbor.sezer.test:443

Harbor’a image gönderme

Default gelen proje ismi “library” Harbor admin panelden proje oluşturabilir ve oraya imageları pushlayabilirsiniz

docker pull nginx
docker tag nginx harbor.sezer.test:443/library/nginx
docker push harbor.sezer.test:443/library/nginx