J'ai un cloud Gitlab connecté à un cluster k8s fonctionnant sur Google (GKE). Le cluster a été créé via le cloud Gitlab.
Je souhaite personnaliser le config.toml
parce que je veux corriger le cache sur les k8 comme suggéré dans ce problème .
J'ai trouvé le config.toml
configuration dans le runner-gitlab-runner
ConfigMap. J'ai mis à jour le ConfigMap pour contenir ce config.toml
installer:
config.toml: |
concurrent = 4
check_interval = 3
log_level = "info"
listen_address = '[::]:9252'
[[runners]]
executor = "kubernetes"
cache_dir = "/tmp/gitlab/cache"
[runners.kubernetes]
memory_limit = "1Gi"
[runners.kubernetes.node_selector]
gitlab = "true"
[[runners.kubernetes.volumes.Host_path]]
name = "gitlab-cache"
mount_path = "/tmp/gitlab/cache"
Host_path = "/home/core/data/gitlab-runner/data"
Pour appliquer les modifications, j'ai supprimé le runner-gitlab-runner-xxxx-xxx
pod pour en créer un nouveau avec la mise à jour config.toml
.
Cependant, quand je regarde le nouveau pod, le /home/gitlab-runner/.gitlab-runner/config.toml
contient maintenant 2 [[runners]]
sections:
listen_address = "[::]:9252"
concurrent = 4
check_interval = 3
log_level = "info"
[session_server]
session_timeout = 1800
[[runners]]
name = ""
url = ""
token = ""
executor = "kubernetes"
cache_dir = "/tmp/gitlab/cache"
[runners.kubernetes]
Host = ""
bearer_token_overwrite_allowed = false
image = ""
namespace = ""
namespace_overwrite_allowed = ""
privileged = false
memory_limit = "1Gi"
service_account_overwrite_allowed = ""
pod_annotations_overwrite_allowed = ""
[runners.kubernetes.node_selector]
gitlab = "true"
[runners.kubernetes.volumes]
[[runners.kubernetes.volumes.Host_path]]
name = "gitlab-cache"
mount_path = "/tmp/gitlab/cache"
Host_path = "/home/core/data/gitlab-runner/data"
[[runners]]
name = "runner-gitlab-runner-xxx-xxx"
url = "https://gitlab.com/"
token = "<my-token>"
executor = "kubernetes"
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.kubernetes]
Host = ""
bearer_token_overwrite_allowed = false
image = "ubuntu:16.04"
namespace = "gitlab-managed-apps"
namespace_overwrite_allowed = ""
privileged = true
service_account_overwrite_allowed = ""
pod_annotations_overwrite_allowed = ""
[runners.kubernetes.volumes]
Le fichier /scripts/config.toml
est la configuration telle que je l'ai créée dans ConfigMap. Je soupçonne donc le /home/gitlab-runner/.gitlab-runner/config.toml
est en quelque sorte mis à jour lors de l'enregistrement du Gitlab-Runner avec le cloud Gitlab.
Si en changeant le config.toml
via ConfigMap ne fonctionne pas, comment changer la configuration? Je ne trouve rien à ce sujet dans la documentation de Gitlab ou Gitlab.
À l'intérieur du mappage, vous pouvez essayer d'ajouter le volume et les paramètres de configuration supplémentaires:
# Add docker volumes
cat >> /home/gitlab-runner/.gitlab-runner/config.toml << EOF
[[runners.kubernetes.volumes.Host_path]]
name = "var-run-docker-sock"
mount_path = "/var/run/docker.sock"
EOF
J'ai fait le déploiement de coureur en utilisant un graphique de barre; Je suppose que vous avez fait de même, dans le lien suivant, vous trouverez plus d'informations sur l'approche que je mentionne: https://gitlab.com/gitlab-org/gitlab-runner/issues/2578
Si après avoir ajouté la configuration, votre pod n'est pas en mesure de démarrer, vérifiez les journaux, j'ai testé l'approche de l'ajout et j'ai eu des erreurs comme "Répertoire introuvable", et j'étais parce que j'ajoutais dans le mauvais chemin, mais après avoir corrigé ces problèmes, le coureur fonctionne bien.