
Cet article fait partie d’une série d’articles :
- Forger un cluster kubernetes dans son garage
- Préparation du déploiement des applications
- Déploiement Prometheus grafana dans Kubernetes
- Déploiement de notre première application
1. Création du runner sur gitlab.com
Nous allons ici configurer notre compte gitlab.com (gratuit) pour utiliser un runner local à notre cluster qui nous permettra de déployer automatiquement nos applications :
Pour ceci, à la racine de notre groupe gitlab :

Ce qui nous amène dans la fenêtre de gestion des runners (vous devez avoir le rôle OWNER du groupe), où vous cliquez sur “New group runner”

Je vous conseille de mettre un tag spécifique (Ici “microk8s”) et de laisser “run untagged jobs” décoché pour que les runners partagés et gratuits de gitlab.com fasse la majorité du boulot

Ensuite, dans la commande
gitlab-runner register --url https://gitlab.com --token glrt-xxxxxxxxxxxxxxxxxxxxxxxx
récupérez le glrt-xxxxxxxxxxxxxxxxxxxxxxxx qui est votre token d’authentification du runner
Ensuite, créez un fichier gitlab-values.yaml sur la première machine contenant (à minima) :
gitlabUrl: https://gitlab.com/
imagePullPolicy: Always
rbac:
create: true
serviceAccountName: gitlab
runners:
config: |
[[runners]]
name = "microk8s-runner"
executor="kubernetes"
token = "glrt-xxxxxxxxxxxxxxxxxxxxxxxx" # <====== Votre Token
[runners.kubernetes]
poll_timeout = 2000
node_selector_overwrite_allowed = ".*"
helper_image = "gitlab/gitlab-runner-helper:x86_64-bleeding"
securityContext:
allowPrivilegeEscalation: true
readOnlyRootFilesystem: false
runAsNonRoot: true
privileged: true
capabilities:
drop: ["ALL"]
Si vous voulez poussez plus loin, la documentation est ici
Ensuite, vous allez installer le runner gitlab via helm :
création du namespace pour gitlab
microk8s kubectl create namespace gitlab
déploiement du runner dans ce namespace
microk8s helm install --namespace gitlab gitlab-runner -f gitlab-values.yaml gitlab/gitlab-runner
La documentation complète de cette installation se trouve ici
et normalement, si tout est bon, vous êtes prêt à déployer vos applications !

2. Import de notre configuration kubernetes sur gitlab.com
Tout d’abord, si vous ne l’avez pas encore fait, nous allons exporter la configuration de notre cluster:
Rendez vous dans les variables de CI/CD de gitlab :

Puis “Add variable”

Lancez la commande sur votre serveur (toujours le même) :
microk8s kubectl config view --raw
Copiez la réponse de la commande dans une variable de type “file” :
