Kubernetes/Openshift上的Gitlab Runner
我试图在Openshift/K8S上部署Gitlab runner,但无法成功让runner与Gitlab通信(它本身部署在OCP上的POD中) 我遵循了以下几条不同的指示:Kubernetes/Openshift上的Gitlab Runner,kubernetes,gitlab,openshift,gitlab-ci,gitlab-ci-runner,Kubernetes,Gitlab,Openshift,Gitlab Ci,Gitlab Ci Runner,我试图在Openshift/K8S上部署Gitlab runner,但无法成功让runner与Gitlab通信(它本身部署在OCP上的POD中) 我遵循了以下几条不同的指示: 我的gitlab runner pod启动正常,但它始终接收HTTP 404 Not Found错误消息 这是我的toml配置文件: # cat /etc/gitlab-runner/config.toml concurrent = 6 check_interval = 0 [[runners]] name
# cat /etc/gitlab-runner/config.toml
concurrent = 6
check_interval = 0
[[runners]]
name = "GitLab Runner"
url = "http://gitlab-ce.MY_COMAIN.com/ci"
token = "WHO_CARES?"
executor = "kubernetes"
[runners.kubernetes]
namespace = "MINE"
privileged = false
host = ""
cert_file = ""
key_file = ""
ca_file = ""
image = ""
cpus = ""
memory = ""
service_cpus = ""
service_memory = ""
helper_cpus = ""
helper_memory = ""
helper_image = ""
[runners.cache]
Type = "s3"
ServerAddress = "minio-service:80"
AccessKey = "GENERATED"
SecretKey = "GENERATED"
BucketName = "bkt-gitlab-runner"
Insecure = true
一旦吊舱启动,我的日志中就有:
Starting multi-runner from /etc/gitlab-runner/config.toml ... builds=0
Running in system-mode.
Configuration loaded builds=0
Metrics server disabled
WARNING: Checking for jobs... failed runner=WHO_CARES? status=404 Not Found
WARNING: Checking for jobs... failed runner=WHO_CARES? status=404 Not Found
WARNING: Checking for jobs... failed runner=WHO_CARES? status=404 Not Found
在Gitlab中,在runners页面()中没有“为此项目激活的runners”
我可以登录到我的pod终端并启动gitlab runner register
来注册一个新的runner
/ # gitlab-runner register
Running in system-mode.
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
https://gitlab-ce.MY_COMAIN.com
Please enter the gitlab-ci token for this runner:
WHO_CARES?
Please enter the gitlab-ci description for this runner:
[dc-gitlab-runner-service-1-ktw6v]: test
Please enter the gitlab-ci tags for this runner (comma separated):
test
Registering runner... succeeded runner=WHO_CARES?
Please enter the executor: docker+machine, kubernetes, ssh, docker-ssh, parallels, shell, virtualbox, docker-ssh+machine, docker:
kubernetes
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
但是当我试着运行它的时候。。。我面临着完全相同的问题
/ # gitlab-runner run
Starting multi-runner from /etc/gitlab-runner/config.toml ... builds=0
Running in system-mode.
Configuration loaded builds=0
Metrics server disabled
WARNING: Checking for jobs... failed runner=WHO_CARES? status=404 Not Found
WARNING: Checking for jobs... failed runner=WHO_CARES? status=404 Not Found
当然,我检查了我是否可以从Runner终端访问Gitlab,它可以正常工作
/ # ping
BusyBox v1.27.2 (2018-06-06 09:08:44 UTC) multi-call binary.
Usage: ping [OPTIONS] HOST
/ # ping gitlab-ce.MY_COMAIN.com
PING gitlab-ce.MY_COMAIN.com (1.2.3.4): 56 data bytes
64 bytes from 1.2.3.4: seq=0 ttl=63 time=0.268 ms
64 bytes from 1.2.3.4: seq=1 ttl=63 time=0.261 ms
64 bytes from 1.2.3.4: seq=2 ttl=63 time=0.288 ms
^C
旁注:我正在运行OCP3.9/K8S1.9
你看到我做错了什么吗
干杯,
奥利维尔好的。这是解决办法 问题来自
标记的奇怪行为。Gitlab中有几个令牌
,必须小心选择要使用的令牌
这个问题也与此相关:
您必须首先使用管理员页面中可用的Runner令牌:。此令牌将在[runners.token]部分下的config.toml
中使用
部署并启动runner
它出现在Gitlab中,但不可用。只需在管理区域中点击其名称:
在此处的详细信息中找到与此运行程序关联的令牌
将其复制回config.toml
文件,仍然位于完全相同的[runners.token]部分下,作为替换。
重新部署你的跑步者
应该有效。另一个选项,可以避免令牌管理,使用(2020年12月)
GitLab Runner for Red Hat OpenShift
今天提供的是的GitLab Runner容器映像
要在OpenShift上安装runner,您可以使用Red Hat的Operator Hub中的beta频道提供的新版本,这是OpenShift群集管理员发现和选择要在其群集上安装的运营商的web控制台
Operator Hub默认部署在OpenShift容器平台中。
我们计划在2021年初将GitLab Runner操作符转换为稳定通道。最后,我们还在为GitLab开发一个运营商,所以请继续关注这些公告的未来发布帖子
见和
这一点通过(2021年4月)得到了加强
使用GitLab操作符在OpenShift和Kubernetes上部署GitLab(测试版)
GitLab正在努力为OpenShift提供全面支持。为了实现这一点,我们发布了MVP。运营商的目标是管理Kubernetes和OpenShift容器平台上GitLab实例的整个生命周期。
目前,这是一款新产品,不建议在生产中使用
接下来的步骤是使操作员普遍可用(GA)。未来,操作员将成为Kubernetes和OpenShift的推荐安装方法,尽管GitLab Helm图表仍将受到支持。欢迎您尝试使用此运算符和
见和
您是如何获得config.toml的令牌的?