本篇和前面的 基于helm的方式在k8s集群中部署gitlab
具有很强的关联性,因此如果有不明白的地方可以查看往期分享:
master节点打上runner_node=M1
,slave节点打上runner_node=S1
kubectl label nodes k8s-master01 runner_node=M1
kubectl label nodes k8s-worker01 runner_node=S1
添加 [runners.kubernetes.node_selector]
配置,并配置指定调度的label的key和value
gitlab-runner:
...
...
runners:
...
config: |
[[runners]]
[runners.kubernetes]
...
{{- if .Values.global.minio.enabled }}
[runners.cache]
...
[runners.cache.s3]
...
[runners.kubernetes.node_selector]
runner_node = "S1"
{{ end }}
执行helm upgrade命令
helm upgrade gitlab gitlab-jh/gitlab --version 7.3.6 --timeout 600s --set certmanager.install=false --set global.ingress.configureCertmanager=false --set global.ingress.tls.enabled=true --set gitlab.webservice.ingress.tls.secretName=gitlab-jihulab-cn-ssl --set registry.ingress.tls.secretName=registry-jihulab-cn-ssl --set minio.ingress.tls.secretName=minio-jihulab-cn-ssl --values values.yaml -n jihulab
运行gitlab-ci流水线,通过命令查看runner的运行pod在哪个节点上;以下分别是调度到master节点和slave节点的展示