上一篇介绍了如何在MacOS、Linux、Windows上部署和注册Runner,这篇介绍如何在docker和k8s上部署Runner,同样先从SaaS版的极狐gitlab上拿到注册地址和token
1、docker部署gitlab-runner
以CentOS7为例
1–安装
docker run -d --name gitlab-runner --restart always \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest
查看版本。进入容器执行指令
docker exec -it gitlab-runner /bin/bash
2–注册
与裸机部署的注册方法相同
登录SaaS查看
3–说明
docker在运行gitlab-runner容器时做了两个映射
1)配置文件
在宿主机查看
cat /srv/gitlab-runner/config/config.toml
里面包含了注册的信息
2)docker.sock
这个映射是为了让容器内外的docker请求发送给同一个Docker Daemon。即如果容器内有docker文件,
那么在容器内执行docker ps等命令,和在宿主机上执行的效果是一样的
2、k8s部署gitlab-runner
当前集群版本为1.21.1
1–安装helm3
如果有helm此步可跳过
在华为镜像源选择对应版本下载,这里以helm3.8.2为例
wget https://repo.huaweicloud.com/helm/v3.8.2/helm-v3.8.2-linux-amd64.tar.gz
tar xf helm-v3.8.2-linux-amd64.tar.gz
cd linux-amd64/
chmod +x helm
mv ./helm /usr/local/bin
查看版本
2–添加chart repo
极狐提供了国内的源,安装比较快
helm repo add gitlab-jh https://charts.gitlab.cn
3–下载合适版本的runner
登录极狐gitlab查看版本,点击右上角“问号”——“帮助查看”
搜索runner版本
helm search repo -l gitlab-runner
找到最接近的版本
先下载下来修改配置,不直接安装
helm fetch gitlab-jh/gitlab-runner --version 0.43.1
tar xf gitlab-runner-0.43.1.tgz
修改 values.yaml文件
[root@pk8sm1 jh-gitlab-runner]# cd gitlab-runner/
[root@pk8sm1 gitlab-runner]# vim values.yaml
gitlabUrl: https://jihulab.com/ #输入注册runner的url
runnerRegistrationToken: "GR1348941S7CR-QeF81TbayHiDvZT" #输入runner的token,每个人的不一样,写自己的
#runner:
tags: "jh,gitlab,k8s" #注意空格与位置,这一行是在runner下
name: "this is jh-gitlab-runner-k8s"
修改后保存退出
kubectl create ns jh #为runner创建命名空间
helm install jh-gitlab-runner . -n jh #在jh的命名空间以当前文件运行一个叫做jh-gitlab-runner的helm实例
查看结果,pod运行正常,helm实例运行正常
登录网页查看runner,已成功注册且处于在线状态
参考
https://docs.gitlab.com/runner/install/