GitLab Runner是一个开源软件系统,运行CI/CD作业,并将结果发送到GitLab。GitLab中的每个项目都可以有自己的运行器,每个运行器都是一个容器,可以根据需要启动和停止。本文主要介绍下如何在Vultr Kubernetes引擎上安装配置GitLab Runner。
一、设置GitLab Runner
在GitLab项目目录中,点击Settings > CI/CD > Runners,获取runner信息,用来向GitLab认证runner。复制runner URL和注册密码,并保存它们以便后续供GitLab Runner配置使用。
二、在Vultr Kubernetes Engine上安装GitLab Runner
我们要在Vultr Kubernetes Engine集群上部署Runner的话,则需使用kubeconfig文件来配置对集群的访问。kubeconfig文件用于提供对Kubernetes API服务器的访问,它由使用kubectl和其他Kubernetes组件来找到合适的API服务器并进行身份验证。
1、获取kubeconfig文件
登录到Vultr账户,进入管理后台,导航至Products > Kubernetes > {Your cluster} > Overview,单击仪表盘右上方的Download Configuration按钮,如下图所示:
2、运行下面命令访问Vultr Kubernetes Engine集群
$ kubectl –kubeconfig={PATH TO THE VKE CLUSTER CONFIG FILE} get nodes
3、使用kubectl创建一个名为gitlab-runner的名称空间
$ kubectl –kubeconfig={PATH TO THE VKE CLUSTER CONFIG FILE} create namespace gitlab
名称空间用于隔离单个Kubernetes集群中的资源。例如,我们可以使用名称空间将多个应用程序部署到同一个集群,而不会相互干扰。这有助于维护和未来升级。
4、运行以下命令获取GitLab Runner副本
git clone https://gitlab.com/gitlab-org/charts/gitlab-runner.git
如果您使用的是SSH密钥,则也可运行下面命令:
git clone git@gitlab.com:gitlab-org/charts/gitlab-runner.git
5、导航到GitLab Runner副本的存储库,查看values.yaml文件。
## GitLab Runner Image
image: registry.gitlab.com/gitlab-org/gitlab-runner:alpine-v15.3.0
## Specify a imagePullPolicy for the main runner deployment
imagePullPolicy: IfNotPresent
## Timeout, in seconds, for liveness and readiness probes of a runner pod.
probeTimeoutSeconds: 300
## The GitLab Server URL (with protocol) that want to register the runner against
##
gitlabUrl: http://gitlab.com/
## The Registration Token for adding new Runners to the GitLab Server.
##
runnerRegistrationToken: “Token”
## For RBAC support:
rbac:
create: true
##
rules:
– resources: [“configmaps”, “pods”, “pods/attach”, “secrets”, “services”]
verbs: [“get”, “list”, “watch”, “create”, “patch”, “update”, “delete”]
– apiGroups: [“”]
resources: [“pods/exec”]
verbs: [“create”, “patch”, “delete”]
## Configuration for the Pods that the runner launches for each new job
##
runners:
config: |
[[runners]]
[runners.kubernetes]
namespace = “{{.Release.Namespace}}”
image = “ubuntu:16.04”
为了避免操作失败,还需配置templates\deployment.yaml文件:
livenessProbe:
…
initialDelaySeconds: 300
…
readinessProbe:
…
initialDelaySeconds: 300
…
6、配置好GitLab Runner副本后,使用以下命令部署runner。
elm –kubeconfig={PATH_TO_VKE_CLUSTER_CONFIG FILE} install –namespace <NAMESPACE> gitlab-runner -f <PATH_TO_CONFIG_VALUES_FILE> gitlab/gitlab-runner
7、然后运行以下命令,检查pod或部署的状态。
kubectl –kubeconfig={PATH_TO_VKE_CLUSTER_CONFIG FILE} describe pods gitlab-runner –namespace=<NAMESPACE>
8、要检查pod是否已经启动,请在注册的GitLab runners下进入GitLab,将会得到类似以下的结果。
(本文由美国主机侦探原创,转载请注明出处“美国主机侦探”和原文地址!)

微信扫码加好友进群
主机优惠码及时掌握

QQ群号:938255063
主机优惠发布与交流