Helm kurulumu için aşağıdaki yazıya göz atın ve adımları tamamlayın. Helm paket yöneticisinden Gitlab’ı kuracağız.
Gitlab reposunu helm’e ekleyelim.
helm repo add gitlab https://charts.gitlab.io/
Helm update edelim
helm repo update
Gitlab adında namespace oluşturalım
kubectl create ns gitlab
Mevcutta sertifikanız varsa aşağıdaki parametreyi kurulum komutuna ekleyebilirsiniz. Test yaptığımız için ben bu komutu uygulamadan diğer komuta geçiyorum.
kubectl create secret tls lab-tls — key privkey.pem — cert fullchain.pem -n gitlab
Ek olarak daha önce Nginx ingress controller MetalLB ile kaldırdığım için kurulum parametresinde Gitlab’ın bir tane daha nginx ingress kaldırmamasını belirtiyorum.
helm upgrade --install sezer gitlab/gitlab --namespace gitlab \
--timeout 600s \
--set global.hosts.domain=sezer.test \
--set global.hosts.https=true \
--set certmanager.install=true \
--set global.ingress.configureCertmanager=true \
--set global.ingress.enabled=true \
--set nginx-ingress.enabled=true \
--set [email protected] \
--set gitlab-runner.install=false \
--set registry.enabled=false \
--set prometheus.install=false
NOT: Kurulum süreci 5-10 dakika sonra tamamlanabilir. Bu sırada web sayfasına erişemeyeceksiniz. Podları izleyip Runing olmasını bekleyin.
- Sezer.test kısmını kendi domaininiz ile değiştirin.
- Sertifika kısmındaki e-postayı ([email protected]) kendi e-postanız ile değiştirin.
Aşağıdaki komut ile gitlab namespaceteki podları kontrol edebiliriz.
kubectl get pods -n gitlab
gitlab-certmanager-57c4557849-n8vkm 1/1 Running 0 63m
gitlab-certmanager-cainjector-74cbc84b8b-94x8g 1/1 Running 0 63m
gitlab-certmanager-webhook-7bcc7bd547-xvjkx 1/1 Running 0 63m
gitlab-gitaly-0 1/1 Running 0 63m
gitlab-gitlab-exporter-7f7b845f9c-w4xjh 1/1 Running 0 63m
gitlab-gitlab-runner-66d58b77c9-t2thj 0/1 Running 20 63m
gitlab-gitlab-shell-5d64558c69-cqscc 1/1 Running 0 63m
gitlab-gitlab-shell-5d64558c69-zdcm2 1/1 Running 0 63m
gitlab-issuer-1-zq5gs 0/1 Completed 0 63m
gitlab-migrations-1-5x8zx 0/1 Completed 0 63m
gitlab-minio-864888b9fb-knskr 1/1 Running 0 63m
gitlab-minio-create-buckets-1-ccgsf 0/1 Completed 0 63m
gitlab-postgresql-0 2/2 Running 0 63m
gitlab-prometheus-server-6444c7bd76-7clc4 0/2 Pending 0 63m
gitlab-redis-master-0 2/2 Running 0 63m
gitlab-registry-5599ddfb4-542qv 1/1 Running 0 63m
gitlab-registry-5599ddfb4-krlgj 1/1 Running 0 63m
gitlab-sidekiq-all-in-1-v2-6cdb4fcbf4-86r5q 1/1 Running 0 63m
gitlab-toolbox-785789d948-rhznh 1/1 Running 0 63m
gitlab-webservice-default-57fccd997d-cj65v 2/2 Running 0 63m
gitlab-webservice-default-57fccd997d-tkx5k 2/2 Running 0 63m
Aşağıdaki komut ile host ve ip adreslerini görebiliriz.
kubectl get ingress -n gitlab
NAME CLASS HOSTS ADDRESS PORTS AGE
gitlab-minio gitlab-nginx minio.sezer.test 10.0.0.150 80, 443 5m
gitlab-registry gitlab-nginx registry.sezer.test 10.0.0.150 80, 443 5m
gitlab-webservice-default gitlab-nginx gitlab.sezer.test 10.0.0.150 80, 443 5m
Root şifremizi aşağıdaki komut ile öğrenebiliriz
kubectl -n gitlab get secret gitlab-gitlab-initial-root-password -ojsonpath='{.data.password}' | base64 --decode ; echo
Ardından web sayfamıza gidip giriş yapabiliriz. (gitlab.sezer.test)