吾八哥博客

您现在的位置是:首页 > DevOps > CI/CD > 正文

CI/CD

gitlab-runner在Kubernetes环境下挂载宿主机目录的方法

吾八哥2020-03-22CI/CD2489

gitlab-runner在Kubernetes里安装的方法可以通过官方提供的chart来用helm3安装。官方chart的仓库地址为:https://gitlab.com/gitlab-org/charts/gitlab-runner,但这里有个问题就是无法配置宿主机的挂载目录,根据gitlab-runner在docker模式下挂载目录的方法,并且结合官方文档,做如下改动即可支持挂载目录,修改templates/configmap.yaml文件,在"# Start the runner"前面增加如下代码:

    cat >>/home/gitlab-runner/.gitlab-runner/config.toml <<EOF
        [[runners.kubernetes.volumes.host_path]]
          name = "docker-sock"
          mount_path = "/var/run/docker.sock"
          read_only = true
          host_path = "/var/run/docker.sock"        
        [[runners.kubernetes.volumes.host_path]]
          name = "cache"
          mount_path = "/cache"
          read_only = false
          host_path = "/data/gitlab-runner/cache" 
    EOF

根据自己需要挂载的目录自行调整挂载的目录。

在helm3下部署gitlab-runner方法为:

helm package .
helm list | grep gitlab-runner > /dev/null
if [ $? -eq 0 ]; then
    helm upgrade --namespace default gitlab-runner *.tgz
else
    helm del --purge gitlab-runner
    helm install --namespace default --name gitlab-runner *.tgz    
fi

这里提供一个修改好的chart仓库:https://github.com/5bug/gitlab-runner-chart

timg.jpeg