当前位置: 首页 > news >正文

如何用 Helm Chart 安装指定版本的 GitLab Runner?

本分分享如何使用 Helm 来在 Kubernetes 集群上安装极狐GitLab Runner。整体步骤分为:Helm 的安装、vaules.yaml 文件的配置、Runner 的安装、Runner 的测试。

极狐GitLab 为 GitLab 在中国的发行版,中文版本对中国用户更友好。极狐GitLab 支持一键私有化部署,可以在 ubuntu、centos、Debian、Docker、Kubernetes 上灵活安装。安装详情可以查看极狐GitLab 官网。

关联阅读

  • 如何查看极狐GitLab Helm Chart?
  • 如何使用 Helm 安装 GitLab Runner?

Helm 的安装

Helm 的安装非常简单,在官网下载对应版本的安装包,然后解压即可。比如,在 Ubuntu 上安装 3.x 版本,使用如下命令:

# 解压安装包
tar -zxvf helm-v3.15.4-linux-amd64.tar.gz# 将可执行文件拷贝到 /usr/local/bin
cp linux-amd64/helm /usr/local/bin/helm安装后,可用 version或者 help命令进行查看:helm version
version.BuildInfo{Version:"v3.15.4", GitCommit:"fa9efb07d9d8debbb4306d72af76a383895aa8c4", GitTreeState:"clean", GoVersion:"go1.22.6"}接着就可以添加极狐GitLab Runner helm repo 了。# 添加仓库
helm repo add jh-gitlab https://charts.gitlab.cn
"jh-gitlab" has been added to your repositories# 更新仓库
helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "jh-gitlab" chart repository

vaules.yaml 文件的配置

使用 Helm 安装,values.yaml 的配置是非常重要的,该文件会包含一些实际参数,然后安装的时候用这些参数去对 Chart 进行渲染。极狐GitLab Runner Helm chart 中的 vaules.yaml 文件的配置比较多,详情可以查看官网详情。但是必须用到的几个参数如下:

必要配置

  • gitlabUrl:极狐GitLab 的实例地址,Runner 安装的过程需要跟该实例进行通信。比如针对极狐GitLab SaaS,该地址为 https://jihulab.com。用户需要根据自身情况,填写真实的极狐GitLab 实例地址;
  • runnerToken:极狐GitLab Runner 注册所用的令牌,这个需要自行创建。步骤会在下面讲解。

额外配置

  • runners.config:Runner 的一些“个性化”配置,比如使用 s3 存储桶、docker 执行器等。
  • rbac:确定是否要创建指定的 Kubernetes rbac。

Runner token 的创建

首先在项目 --> 设置 --> CI/CD中找到 Runner 配置:

file

选择新建项目 runner

file

填写必要的信息,诸如标签(tag)、描述、最大作业超时(超过这个时间 Runner 会自动终止作业)。然后选择创建 runner。

file

这时候就能看到 Runner token 已经存在了 glrt-xRnstJB7UBRHfgcvQVEB。在后面注册 Runner 的时候会用到。上面的截图中也显示了,如果要用 gitlab-runner注册 runner 的话,后面的两个参数就是极狐GitLab 实例地址和 runner token。

runner token 创建出来以后,就可以用下面的 values.yaml 文件用 Helm 进行安装了:

imagePullPolicy: IfNotPresent
gitlabUrl: "http://jhma.jihulab.net"
runnerToken: "glrt-xRnstJB7UBRHfgcvQVEB"
concurrent: 10
checkInterval: 30
logLevel: inforbac:create: truemetrics:enabled: falserunners:config: |[[runners]][runners.kubernetes]namespace = "{{.Release.Namespace}}"image = "ubuntu:22.04"[[runners.kubernetes.volumes.host_path]]name = "docker"mount_path = "/var/run/docker.sock"host_path = "/var/run/docker.sock"privileged: "true"name: kubernetes-runnertags: "kubernetes,runner"securityContext:runAsUser: 100fsGroup: 65533

用 Helm 安装 Runner

使用 helm install即可进行安装,如果要安装特定版本的 Runner,在安装的时候用 --version指定极狐GitLab Runner Helm Chart 的版本即可。

对于极狐GitLab Runenr 的版本查看,可以使用如下命令:

# 查看极狐GitLab Runner 版本
helm search repo -l jh-gitlab/gitlab-runner
NAME                       CHART VERSION    APP VERSION    DESCRIPTION
jh-gitlab/gitlab-runner    0.68.1           17.3.1         GitLab Runner
jh-gitlab/gitlab-runner    0.68.0           17.3.0         GitLab Runner
jh-gitlab/gitlab-runner    0.67.0           17.2.0         GitLab Runner
jh-gitlab/gitlab-runner    0.66.0           17.1.0         GitLab Runner
jh-gitlab/gitlab-runner    0.65.0           17.0.0         GitLab Runner
......太长,删除......
jh-gitlab/gitlab-runner    0.41.0           15.0.0         GitLab Runner
jh-gitlab/gitlab-runner    0.40.1           14.10.1        GitLab Runner
jh-gitlab/gitlab-runner    0.40.0           14.10.0        GitLab Runner
jh-gitlab/gitlab-runner    0.39.0           14.9.0         GitLab Runner

比如 0.68.1 的 chart 对应的 runner 是 17.3.1,0.39.0 的 chart 对应的是 14.9.0。我们选择安装 17.3.0 的 runner,对应的 chart 版本为 0.68.0。

使用如下命令进行安装:

helm install --namespace jh-gitlab-runner --create-namespace jh-gitlab-runner -f values.yaml jh-gitlab/gitlab-runner --version 0.68.0

安装日志如下

W0911 06:50:17.636340  639284 warnings.go:70] unknown field "spec.template.spec.containers[0].securityContext.fsGroup"
NAME: jh-gitlab-runner
LAST DEPLOYED: Wed Sep 11 06:50:17 2024
NAMESPACE: jh-gitlab-runner
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Your GitLab Runner should now be registered against the GitLab instance reachable at: "http://jhma.jihulab.net"Runner namespace "jh-gitlab-runner" was found in runners.config template.#############################################################################################
## WARNING: You enabled `rbac` without specifying if a service account should be created.  ##
## Please set `serviceAccount.create` to either `true` or `false`.                         ##
## For backwards compatibility a service account will be created.                          ##
#############################################################################################

查看安装结果

# helm release 信息
helm ls --all-namespaces
NAME                              NAMESPACE                 REVISION    UPDATED                                    STATUS      CHART                                                                       APP VERSION
jh-gitlab-runner                  jh-gitlab-runner          1           2024-09-11 06:50:17.139514892 +0000 UTC    deployed    gitlab-runner-0.68.0# namespace,pod 信息
kubectl  get ns jh-gitlab-runner
NAME               STATUS   AGE
jh-gitlab-runner   Active   2m22skubectl  -n jh-gitlab-runner get pods
NAME                                              READY   STATUS    RESTARTS   AGE
jh-gitlab-runner-gitlab-runner-5c558fb88b-lnfxm   1/1     Running   0          2m21s

可以看到 pod 已经处于 running状态。在 runner 的界面上同样可以看到 runner 的状态是 running:

file

点击运行中的 Runner 就会看到对应的版本信息:

file

Runner 测试

在极狐GitLab 实例上新建一个项目,在项目中创建 .gitlab-ci.yml文件,即可启用 CI/CD 流水线。例如可以直接在项目的页面上创建 .gitlab-ci.yml文件,然后选择一个 bash 模版:

file

点击提交更改就会触发 CI/CD 流水线:

file

点击作业查看构建日志,就可以看到使用的是上面创建的 Runner 在构建作业!

file

相关文章:

如何用 Helm Chart 安装指定版本的 GitLab Runner?

本分分享如何使用 Helm 来在 Kubernetes 集群上安装极狐GitLab Runner。整体步骤分为:Helm 的安装、vaules.yaml 文件的配置、Runner 的安装、Runner 的测试。 极狐GitLab 为 GitLab 在中国的发行版,中文版本对中国用户更友好。极狐GitLab 支持一键私有…...

el-table使用合计和固定列时,滚动条被覆盖区域无法拖拽问题

pointer-events文档 解决思路为通过pointer-events实现事件穿透,不响应固定列的拖拽,而是响应其子元素的拖拽事件 /deep/.el-table__fixed, /deep/.el-table__fixed-right {pointer-events: none; } /deep/.el-table__fixed *, /deep/.el-table__fixed-…...

【疑难杂症2024-005】docker-compose中设置容器的ip为固定ip后,服务无法启动

本文由Markdown语法编辑器编辑完成。 1.背景: 我们的产品是通过docker image的方式发布,并且编排在docker-compose.yml中发布。在同一个docker-compose.yml中的服务,相互之间,可以通过对方的服务名和端口,来直接访问…...

uView使用心得

说实话我不爱用这个库,感觉很鸡肋,坑很多,可能没用习惯 picker选择器 绑定默认值是通过设置index,并且这个index需要通过api设置进去,设置defalutindex绑定值无效(只有初始化可以,后面动态改变…...

RabbitMQ(高阶使用)死信队列

文章内容是学习过程中的知识总结,如有纰漏,欢迎指正 文章目录 一、什么是死信队列? 二、死信队列使用场景 三、死信队列如何使用 四、打车超时处理 1.打车超时实现 以下是本篇文章正文内容 一、什么是死信队列? 先从概念解释上搞…...

怎么安装docker-compose

使用下列命令下载docker-compose(可选择其他版本) wget https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 --no-check-certificate然后把该文件移动到/usr/local/bin/并重命名 mv docker-compose-linux-x86_…...

【机器学习】--- 自监督学习

1. 引言 机器学习近年来的发展迅猛,许多领域都在不断产生新的突破。在监督学习和无监督学习之外,自监督学习(Self-Supervised Learning, SSL)作为一种新兴的学习范式,逐渐成为机器学习研究的热门话题之一。自监督学习…...

【Linux修行路】网络套接字编程——UDP

目录 ⛳️推荐 前言 六、Udp Server 端代码 6.1 socket——创建套接字 6.2 bind——将套接字与一个 IP 和端口号进行绑定 6.3 recvfrom——从服务器的套接字里读取数据 6.4 sendto——向指定套接字中发送数据 6.5 绑定 ip 和端口号时的注意事项 6.5.1 云服务器禁止直接…...

哈希表数据结构学习

哈希表数据结构学习 哈希表基本概念哈希方法单值哈希与多值哈希哈希冲突1. 开放寻址法(Open Addressing)2. 链地址法(Chaining)3. 再哈希法(Rehashing)4. 建立公共溢出区(Overflow Area&#xf…...

数据结构——“二叉搜索树”

二叉搜索树是一个很重要的数据结构,它的特殊结构可以在很短的时间复杂度找到我们想要的数据。最坏情况下的时间复杂度是O(n),最好是O(logn)。接下来看一看它的接口函数的实现。 为了使用方便,这里采用模版的方式: 一、节点 temp…...

Java零基础-Java对象详解

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互…...

从Prompt到创造:解锁AI的无限潜能

文章目录 🍊AI内容创作核心:提示词Prompt1 什么是提示词工程?1.1 提示词的原理是什么?1.2 提示词工程师:百万年薪的职业?1.3 谁都能成为提示词工程师吗? 2 提示词书写的基本技巧3 常见的提示词框架3.1 CO-…...

sqlgun靶场攻略

打开界面 1.输入框测试回显点 -1union select 1,2,3#出现回显点 2.查看数据库名 -1union select 1,2,database()# 3.查看表名 -1union select 1,2,group_concat(table_name) from information_schema.tables where table_schemasqlgunnews# 4.查看admin表中列名 -1union se…...

《网络协议 - HTTP传输协议及状态码解析》

文章目录 一、HTTP协议结构图二、HTTP状态码解读1xx: 信息响应类2xx: 成功响应类3xx: 重定向类4xx: 客户端错误类5xx: 服务器错误类 一、HTTP协议结构图 二、HTTP状态码解读 HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传…...

9.11 QT ( Day 4)

一、作业 1.Widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimerEvent> //定时器类 #include <QTime> #include <QtTextToSpeech> //文本转语音类QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEcl…...

利用AI驱动智能BI数据可视化-深度评测Amazon Quicksight(四)

简介 随着生成式人工智能的兴起&#xff0c;传统的 BI 报表功能已经无法满足用户对于自动化和智能化的需求&#xff0c;今天我们将介绍亚马逊云科技平台上的AI驱动数据可视化神器 – Quicksight&#xff0c;利用生成式AI的能力来加速业务决策&#xff0c;从而提高业务生产力。…...

2024.9最新:CUDA安装,pytorch库安装

目录 一、CUDA安装 1.查看自己电脑适配的CUDA的最高版本 2.安装CUDA 3.检查环境变量是否配置&#xff0c;安装是否成功 二、pytorch库安装 1.pytorch库下载 2.选择合适的版本 3.查看版本 一、CUDA安装 1.查看自己电脑适配的CUDA的最高版本 在命令提示符里输入nvidia-…...

Vue3.0组合式API:setup()函数

1、什么是组合式API Vue 3.0 中新增了组合式 API 的功能&#xff0c;它是一组附加的、基于函数的 API&#xff0c;可以更加灵活地组织组件代码。通过组合式 API 可以使用函数而不是声明选项的方式来编写 Vue 组件。因此&#xff0c;使用组合式 API 可以将组件代码编写为多个函…...

利用AI驱动智能BI数据可视化-深度评测Amazon Quicksight(三)

简介 随着生成式人工智能的兴起&#xff0c;传统的 BI 报表功能已经无法满足用户对于自动化和智能化的需求&#xff0c;今天我们将介绍亚马逊云科技平台上的AI驱动数据可视化神器 – Quicksight&#xff0c;利用生成式AI的能力来加速业务决策&#xff0c;从而提高业务生产力。…...

2022高教社杯全国大学生数学建模竞赛C题 问题一(1) Python代码演示

目录 问题 11.1 对这些玻璃文物的表面风化与其玻璃类型、纹饰和颜色的关系进行分析数据探索 -- 单个分类变量的绘图树形图条形图扇形图雷达图Cramer’s V 相关分析统计检验列联表分析卡方检验Fisher检验绘图堆积条形图分组条形图分类模型Logistic回归随机森林import matplotlib…...

5分钟搞定OpenClaw+千问3.5-27B:星图平台镜像一键体验方案

5分钟搞定OpenClaw千问3.5-27B&#xff1a;星图平台镜像一键体验方案 1. 为什么选择云端沙盒方案 上周我尝试在本地笔记本上部署OpenClaw时&#xff0c;被各种环境依赖和权限问题折磨了整整两天。当看到星图平台提供预装OpenClaw和千问3.5-27B的完整镜像时&#xff0c;简直像…...

SwartNinjaPIR:嵌入式高可靠PIR运动检测驱动库

1. SwartNinjaPIR 库概述&#xff1a;面向嵌入式系统的高可靠性 PIR 运动检测驱动设计SwartNinjaPIR 是一个专为 Arduino 及兼容平台&#xff08;如 STM32、ESP32 等基于 Arduino Core 的 MCU&#xff09;设计的轻量级、生产就绪型被动红外&#xff08;Passive Infrared, PIR&a…...

为什么你的C++量子模拟器总在2^10后崩溃?内存优化、张量压缩与SIMD加速三重方案揭秘

第一章&#xff1a;量子模拟器崩溃现象与2^10内存临界点的本质剖析当量子模拟器在经典硬件上运行含10个量子比特的电路时&#xff0c;常在初始化或状态演化阶段发生静默崩溃——进程异常终止、无堆栈回溯、仅返回 SIGSEGV 或 OOM Killer 日志。这一现象并非随机故障&#xff0c…...

解锁Windows效率提升:免费工具Winhance-zh_CN全功能指南

解锁Windows效率提升&#xff1a;免费工具Winhance-zh_CN全功能指南 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mirrors/wi/Winhance-…...

3步实现跨系统文件互通:WinBtrfs驱动全解析

3步实现跨系统文件互通&#xff1a;WinBtrfs驱动全解析 【免费下载链接】btrfs WinBtrfs - an open-source btrfs driver for Windows 项目地址: https://gitcode.com/gh_mirrors/bt/btrfs 一、问题场景&#xff1a;双系统用户的文件访问困境 痛点直击&#xff1a;当Wi…...

重新定义CAD文件格式解析:LibreDWG如何打破专有格式的技术垄断

重新定义CAD文件格式解析&#xff1a;LibreDWG如何打破专有格式的技术垄断 【免费下载链接】libredwg Official mirror of libredwg. With CI hooks and nightly releases. PRs ok 项目地址: https://gitcode.com/gh_mirrors/li/libredwg 在工程设计和建筑行业的数字化转…...

Video-subtitle-remover:让视频创作者实现硬字幕无痕去除的AI解决方案

Video-subtitle-remover&#xff1a;让视频创作者实现硬字幕无痕去除的AI解决方案 【免费下载链接】video-subtitle-remover 基于AI的图片/视频硬字幕去除、文本水印去除&#xff0c;无损分辨率生成去字幕、去水印后的图片/视频文件。无需申请第三方API&#xff0c;本地实现。A…...

PPTist:重新定义在线演示文稿创作体验

PPTist&#xff1a;重新定义在线演示文稿创作体验 【免费下载链接】PPTist PowerPoint-ist&#xff08;/pauəpɔintist/&#xff09;, An online presentation application that replicates most of the commonly used features of MS PowerPoint, allowing for the editing a…...

1989-2017 年泛北极和北方地区冬季原位土壤 CO2 通量的综合分析

Synthesis of Winter In Situ Soil CO2 Flux in pan-Arctic and Boreal Regions, 1989-2017 简介 本数据集综合了来自泛北极和北方多年冻土区多个地点的冬季&#xff08;9 月至次年 4 月&#xff09;原位土壤 CO₂通量测量数据。这些原位数据来自 1989 年至 2017 年间开展的 …...

UniApp项目实战:手把手教你用云函数搞定UniPush 2.0服务端消息推送

UniPush 2.0云函数实战&#xff1a;从零构建高可用消息推送系统 在移动应用生态中&#xff0c;消息推送是维系用户活跃度的关键触达手段。UniPush 2.0作为DCloud推出的新一代推送服务&#xff0c;通过云函数与厂商通道的深度整合&#xff0c;解决了传统推送方案中离线到达率低、…...