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)

image 97