gpt4 book ai didi

kubernetes - 如何在kubernetes上部署gitlab-runner并自动注册runner?

转载 作者:行者123 更新时间:2023-12-02 12:15:43 28 4
gpt4 key购买 nike

我是 gitlab ci/cd 的新手。我想在 kubernetes 上部署 gitlab-runner,我使用 kubernetes 创建了两个资源:
gitlab-runner-configmap.yaml

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

[[runners]]
name = "Kubernetes Runner"
url = "http:my-gitlab.com/ci"
token = "token...."
executor = "kubernetes"
tag = "my-runner"
[runners.kubernetes]
namespace = "gitlab"
image = "busybox"
gitlab-runner-deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: gitlab-runner
namespace: gitlab
spec:
replicas: 1
selector:
matchLabels:
name: gitlab-runner
template:
metadata:
labels:
name: gitlab-runner
spec:
containers:
- args:
- run
image: gitlab/gitlab-runner:v11.11.3
imagePullPolicy: Always
name: gitlab-runner
volumeMounts:
- mountPath: /etc/gitlab-runner
name: config
- mountPath: /etc/ssl/certs
name: cacerts
readOnly: true
restartPolicy: Always
volumes:
- configMap:
name: gitlab-runner
name: config
- hostPath:
path: /usr/share/ca-certificates/mozilla
name: cacerts

问题是使用 kubectl apply 创建两个资源后.我在 http://my-gitlab.com/admin/runners 中看不到 runner 实例.我怀疑原因是我没有注册运行者。我输入 runner pods pod/gitlab-runner-69d894d7f8-pjrxn并通过 gitlab-runner register手动注册运行者, 之后我可以在 http://my-gitlab.com/admin/runners 中看到 runner 实例.

So am I do anything wrong? Or is it has to manually register the runner inside the pod?



谢谢。

最佳答案

确实,您需要明确 注册 GitLab 服务器上的运行器。
例如通过:

gitlab-runner register --non-interactive \
--name $RUNNER_NAME \
--url $GITLAB_URL \
--registration-token $GITLAB_REGISTRATION_TOKEN \
--executor docker \
--docker-image $DOCKER_IMAGE_BUILDER \
--tag-list $GITLAB_RUNNER_TAG_LIST \
--request-concurrency=$GITLAB_RUNNER_CONCURRENCY

您可以将其大部分配置作为参数传递。
如果您没有创建 config.toml ,它将为您生成它,包括注册时从服务器收到的 runner token 。

然而 ,
当您使用 Kubernetes 时,有一种更简单的方法。
GitLab 提供了与 Kubernetes 的完美集成,您只需将集群附加到您的项目\组: https://docs.gitlab.com/ee/user/project/clusters/#adding-an-existing-kubernetes-cluster

然后通过他们所谓的“托管应用程序”在 UI 中单击几下即可安装运行者: https://docs.gitlab.com/ee/user/clusters/applications.html#gitlab-runner

在最后一页上,您可以找到指向他们使用的 Helm 图表的链接。
所以你甚至可以自己直接使用它。
你可以看到那里专门调用 注册 :
configmap.yaml#L65

关于kubernetes - 如何在kubernetes上部署gitlab-runner并自动注册runner?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56802031/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com