Ö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;
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