如何在不安装gitlab-ci-multi-runner软件包的情况下在rancher2(kubernetes)上注册gitlab ciRunner?

时间:2018-08-04 10:02:01

标签: kubernetes gitlab gitlab-ci-runner rancher kubernetes-helm


运行rancher版本2。
在3个节点上运行kubernetes。
在Rancher的ConfigMap中添加键和值

name = "Kubernetes Runner"
url = "https://url/ci"
token = "TOKEN"
executor = "kubernetes"
[runners.kubernetes]

尝试在rancher2(kubernetes)上运行并注册gitlab ci Runner。:
创建了Deployment.yaml:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: gitlab-runner
  namespace: gitlab
spec:
  replicas: 4
  selector:
    matchLabels:
      name: gitlab-runner
  template:
    metadata:
      labels:
        name: gitlab-runner
    spec:
      containers:
      - args:
        - run
        image: gitlab/gitlab-runner:latest
        imagePullPolicy: Always
        name: gitlab-runner
        volumeMounts:
        - mountPath: /etc/gitlab-runner
          name: config
      restartPolicy: Always
      volumes:
      - configMap:
          name: gitlab-runner
        name: config

构建后出现错误:

Failed to load config stat /etc/gitlab-runner/config.toml: no such file or directory builds=0.

尝试在rancher上安装自定义头盔目录,但我没有找到使用gui的方法。
在rancher服务器和kubernetes节点上找不到helm commad。

如何在不安装gitlab-ci-multi-runner软件包的情况下在rancher2(kubernetes)上注册gitlab ciRunner?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为您的ConfigMap创建不正确。

您可以尝试以下方法:

apiVersion: v1
kind: ConfigMap
metadata:
  name: gitlab-runner
  namespace: gitlab
data:
  config.toml: |
    concurrent = 10

    [[runners]]
      name = "Kubernetes Runner"
      url = "https://gitlab.corp.youdao.com/"
      token = "e188ed22f21359b072316f85750865"
      executor = "kubernetes"
      [runners.kubernetes]
        namespace = "gitlab"
        image = "debian:9"
        privileged = true

将内容保存到config.yaml文件中,然后使用kubeclt apply -f config.yaml进行创建。