安装极狐GitLab Runner Operator
在 Red Hat OpenShift 上安装
引入于极狐GitLab 13.3。
升级于极狐GitLab 13.7。
您可以使用嵌入在 OpenShift Web 控制台中的 OperatorHub 稳定渠道提供的极狐GitLab Runner Operator 在 Red Hat OpenShift v4 及更高版本上安装极狐GitLab Runner。安装完成后,您可以使用新部署的极狐GitLab Runner 实例运行 CI/CD 作业。每个 CI/CD 作业将在单独的 Pod 中运行。
先决条件
- 拥有管理员权限的 OpenShift 4.x 集群
- 极狐GitLab Runner 注册令牌
安装 OpenShift Operator
首先,您需要安装 OpenShift Operator。
- 打开 OpenShift UI 并以管理员身份登录。
- 在左侧面板上,单击 Operators,然后单击 OperatorHub。
-
在主面板上的 All Items 下面,搜索关键词
GitLab Runner
。 - 安装并点击极狐GitLab Runner Operator。
- 在极狐GitLab Runner Operator 摘要页面,单击 Install。
- 在安装 Operator 页面:
- 在 Update Channel 下,选择 stable。
- 在 Installed Namespace 下,选择想要的命名空间并单击 Install。
在安装的 Operator 页面上,当极狐GitLab Operator 准备好之后,状态变更为 Succeeded。
在 Kubernetes 上安装
引入于极狐GitLab 14.10。
您可以使用 OperatorHub.io 的稳定渠道中可用的极狐GitLab Runner Operator 在 Kubernetes v1.21 及更高版本上安装极狐GitLab Runner。安装后,您可以使用新部署的极狐GitLab Runner 实例运行 CI/CD 作业。每个 CI/CD 作业将在单独的 Pod 中运行。
先决条件
- Kubernetes v1.21 及更高版本
- Cert manager v1.7.1
安装 Kubernetes Operator
按照 OperatorHub.io 中的指南进行操作。
- 安装先决条件中的内容。
- 在右上角,选择 Install 并根据指南安装 OLM 和 Operator。
安装极狐GitLab Runner
- 获取用于注册 Runner 的令牌:
- 对于共享 Runner,管理员访问极狐GitLab 管理中心并单击 概览 > Runner。
- 对于群组 Runner,访问 设置 > CI/CD 并展开 Runner 部分。
- 对于项目特定的 Runner,访问 设置 > CI/CD 并展开 Runner 部分。
- 在 在设置中使用以下注册令牌 下面,复制令牌。
- 访问您想创建极狐GitLab Runner 的命名空间。
-
使用您的极狐GitLab 项目的 Runner 令牌创建 Secret 文件:
cat > gitlab-runner-secret.yml << EOF apiVersion: v1 kind: Secret metadata: name: gitlab-runner-secret type: Opaque stringData: runner-registration-token: REPLACE_ME # your project runner secret EOF
-
运行以下命令,在您的集群中创建
secret
:kubectl apply -f gitlab-runner-secret.yml
-
创建自定义资源定义(CRD)文件并包含以下配置。
cat > gitlab-runner.yml << EOF apiVersion: apps.gitlab.com/v1beta2 kind: Runner metadata: name: gitlab-runner spec: gitlabUrl: https://gitlab.example.com buildImage: alpine token: gitlab-runner-secret EOF
-
运行以下命令以应用
CRD
文件:kubectl apply -f gitlab-runner.yml
-
运行以下命令确认极狐GitLab Runner 已安装:
kubectl get runner NAME AGE gitlab-runner 5m
-
Runner Pod 也应该可见:
kubectl get pods NAME READY STATUS RESTARTS AGE gitlab-runner-bf9894bdb-wplxn 1/1 Running 0 5m
为 OpenShift 安装其他版本的极狐GitLab Runner Operator
如果您不想使用 Red Hat OperatorHub 中提供的极狐GitLab Runner Operator 版本,您可以安装其他版本。
要安装特定版本,请创建此 catalogsource.yaml
文件并将 <VERSION>
替换为标签或特定提交:
v0.0.1-<COMMIT>
。例如:registry.gitlab.com/gitlab-org/gl-openshift/gitlab-runner-operator/gitlab-runner-operator-catalog-source:v0.0.1-f5a798af
。apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: gitlab-runner-catalog
namespace: openshift-marketplace
spec:
sourceType: grpc
image: registry.gitlab.com/gitlab-org/gl-openshift/gitlab-runner-operator/gitlab-runner-operator-catalog-source:<VERSION>
displayName: GitLab Runner Operators
publisher: GitLab Community
使用以下命令创建 CatalogSource
:
oc apply -f catalogsource.yaml
很快新的 Runner 应该就会在 OpenShift 集群的 OperatorHub 部分中出现。
卸载 Operator
在 Red Hat OpenShift 上卸载
-
删除 Runner
CRD
:kubectl delete -f gitlab-runner.yml
-
删除
secret
:kubectl delete -f gitlab-runner-secret.yml
-
按照 Red Hat 文档中关于使用 Web 控制台从集群中删除 Operator的指南进行操作。
在 Kubernetes 上卸载:
-
删除 Runner
CRD
:kubectl delete -f gitlab-runner.yml
-
删除
secret
:kubectl delete -f gitlab-runner-secret.yml
-
删除 Operator 订阅:
kubectl delete subscription my-gitlab-runner-operator -n operators
-
查看安装的
CSV
的版本:kubectl get clusterserviceversion -n operators NAME DISPLAY VERSION REPLACES PHASE gitlab-runner-operator.v1.7.0 GitLab Runner 1.7.0 Succeeded
-
删除
CSV
:kubectl delete clusterserviceversion gitlab-runner-operator.v1.7.0 -n operators
配置
如果您想在 OpenShift 中配置极狐GitLab Runner,请参见在 OpenShift 上配置极狐GitLab Runner页面。