diff --git a/8.Installation_gitlab_server.md b/8.Installation_gitlab_server.md new file mode 100644 index 0000000000000000000000000000000000000000..1651a39373b6d000ca300752260c0ee76165e316 --- /dev/null +++ b/8.Installation_gitlab_server.md @@ -0,0 +1,90 @@ +# Déploiement de GitLab sur Kubernetes avec Helm + +## 1. Ajout du dépôt GitLab + +Avant d'installer GitLab avec Helm, ajouter son dépôt officiel : + +```bash +helm repo add gitlab https://charts.gitlab.io +``` + +Vérification que le dépôt a bien été ajouté : + +```bash +helm repo list | grep gitlab +``` + +Mettre à jour le dépôt pour s'assurer d'utiliser la dernière version des charts disponibles : + +```bash +helm repo update gitlab +``` + +## 2. Installation de GitLab avec Helm + +Utiliser Helm pour installer ou mettre à jour GitLab dans le namespace `gitlab` avec une configuration personnalisée : + +```bash +helm upgrade --install gitlab gitlab/gitlab \ + --namespace gitlab \ + --timeout 600s \ + --set global.hosts.domain=kube01 \ + --set global.hosts.externalIP=192.168.10.105 \ + --set global.ingress.configureCertmanager=true \ + --set certmanager-issuer.email="admin@example.com" \ + --set global.hosts.https=true +``` + +## 3. Configuration de l'Ingress + +Par défaut, l'Ingress est configuré pour rediriger GitLab sur un nom de domaine. Pour forcer l'utilisation de l'adresse IP fournie par le Load Balancer, modifier l'Ingress `gitlab-webservice-default`. + +Voici un exemple d'une partie du fichier a modifier : + +```bash +kubectl edit ingress gitlab-webservice-default -n gitlab +``` + +```yaml +kind: Ingress +apiVersion: networking.k8s.io/v1 +metadata: + name: gitlab-webservice-default + namespace: gitlab + annotations: + kubernetes.io/ingress.provider: nginx + nginx.ingress.kubernetes.io/proxy-body-size: 512m + nginx.ingress.kubernetes.io/proxy-connect-timeout: '15' + nginx.ingress.kubernetes.io/proxy-read-timeout: '600' + nginx.ingress.kubernetes.io/service-upstream: 'true' +spec: + ingressClassName: gitlab-nginx + tls: + - hosts: + - gitlab.kube01 + - 192.168.10.105 ######Ajout ici####### + secretName: gitlab-gitlab-tls + rules: + - http: + paths: + - host: gitlab.kube01 + - path: / + pathType: Prefix + backend: + service: + name: gitlab-webservice-default + port: + number: 8181 +``` + +Appliquer la modification pour prendre en compte la nouvelle configuration d'Ingress. + +## 4. Récupération du mot de passe administrateur + +Après le déploiement, récupérer le mot de passe initial de l'utilisateur `root` : + +```bash +kubectl get secret gitlab-gitlab-initial-root-password -n gitlab -ojsonpath='{.data.password}' | base64 --decode && echo +``` + +GitLab est maintenant installé et accessible via l'adresse IP attribuée par le Load Balancer. \ No newline at end of file