使用 kind 集群安装运行极狐GitLab Runner【下】

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。

上一篇内容中,我们已经利用 kind 创建好了一个本地 kubernetes 集群。现在在此集群上安装极狐GitLab Runner。

添加 Helm Chart

需要先添加极狐GitLab Runner Helm Chart:

$ helm repo add gitlab-jh https://charts.gitlab.cn
$ helm repo list
NAME  	URL
gitlab	https://charts.gitlab.cn

创建 Runner token

本文演示为某个项目创建一个 Runner,当然,Runner 可以是实例、群组级别的。但是创建 token 的方法类似。在项目 --> 设置 -->CI/CD --> Runner 中找到新建 Runner 选项

在这里插入图片描述
填写对应的信息,点击创建 Runner:

请添加图片描述
然后在出现的界面中可以看到 Runner 的token,以 glrt 开头:

在这里插入图片描述
保存此 token。

配置 values.yml 文件

使用 helm install 命令完成安装。关于极狐GitLab Helm Chart 的详细内容可以查看官网。

以下是此次演示所用的 values.yaml 文件内容:

imagePullPolicy: IfNotPresent
gitlabUrl: "https://jihulab.com"
runnerRegistrationToken: "glrt-KxsShxxxxxf4dyTx"
concurrent: 10
checkInterval: 30
logLevel: inforbac:create: truemetrics:enabled: falserunners:config: |[[runners]][runners.kubernetes]namespace = "{{.Release.Namespace}}"image = "ubuntu:20.04"[[runners.kubernetes.volumes.host_path]]name = "docker"mount_path = "/var/run/docker.sock"host_path = "/var/run/docker.sock"privileged: "true"name: kind-runnertags: "kind,k8s"securityContext:runAsUser: 100fsGroup: 65533

将上一步获取的 token 替换到此 values.yml 文件中。

接着用 Helm 创建一个命名空间:

$ kubectl create ns jh-gitlab
namespace/jh-gitlab created

执行如下命令进行安装:

$ helm install --namespace jh-gitlab jh-gitlab-runner -f values.yml gitlab-jh/gitlab-runner
W0224 17:07:04.872613    8813 warnings.go:70] unknown field "spec.template.spec.containers[0].securityContext.fsGroup"
NAME: jh-gitlab-runner
LAST DEPLOYED: Sat Feb 24 17:07:04 2024
NAMESPACE: jh-gitlab
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Your GitLab Runner should now be registered against the GitLab instance reachable at: "https://jihulab.com"Runner namespace "jh-gitlab" was found in runners.config template.

查看 Runner pod 的状态:

 kubectl -n jh-gitlab get pods
NAME                                              READY   STATUS              RESTARTS   AGE
jh-gitlab-runner-gitlab-runner-6b796547bc-qgf8j   0/1     ContainerCreating   0          24s
jh-gitlab-runner-gitlab-runner-6b796547bc-qgf8j   0/1     Running   0          52s
jh-gitlab-runner-gitlab-runner-6b796547bc-qgf8j   1/1     Running   0          61s

此时可以在项目的 Runner 界面看到 Runner 创建成功:

在这里插入图片描述
此 Runner 的tag 为 kindk8s。接下来就可以使用此 Runner 测试了。

在项目的 .gitlab-ci.yml 文件中,使用 tags 来标记,使用此 Runner 构建 CI/CD:

default:tags:- kind

可以在 CI/CD 流水线构建中看到结果:

在这里插入图片描述
从构建结果看,使用的是 kind 创建的 Runner 运行的此 Job。还可以从 pod 状态看整个运行过程:

$ kubectl -n jh-gitlab get pods -w
NAME                                                    READY   STATUS    RESTARTS   AGE
jh-gitlab-runner-gitlab-runner-6b796547bc-qgf8j         1/1     Running   0          4m45s
runner-kxsshpgm3-project-183534-concurrent-0-a5tobeq7   2/2     Running   0          57s
runner-kxsshpgm3-project-183534-concurrent-0-a5tobeq7   2/2     Terminating   0          68s
runner-kxsshpgm3-project-183534-concurrent-0-a5tobeq7   2/2     Terminating   0          68s
runner-kxsshpgm3-project-183534-concurrent-0-t65n2l7r   0/2     Pending       0          0s
runner-kxsshpgm3-project-183534-concurrent-0-t65n2l7r   0/2     Pending       0          0s
runner-kxsshpgm3-project-183534-concurrent-0-t65n2l7r   0/2     Init:0/1      0          0s
runner-kxsshpgm3-project-183534-concurrent-0-t65n2l7r   0/2     PodInitializing   0          1s
runner-kxsshpgm3-project-183534-concurrent-0-t65n2l7r   2/2     Running           0          2s
runner-kxsshpgm3-project-183534-concurrent-0-t65n2l7r   2/2     Terminating       0          22s
runner-kxsshpgm3-project-183534-concurrent-0-t65n2l7r   2/2     Terminating       0          22s

kind 的使用还是很方便的,尤其在云原生场景下,非常适合和极狐GitLab Runner 配合使用来运行 CI/CD 作业。

更多关于极狐GitLab 的最佳实践,可以搜索关注公众号【极狐GitLab】或者登录极狐GitLab 官网进行学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/700557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT-SoVITS 快速声音克隆使用案例:webui、api接口

参考: https://github.com/RVC-Boss/GPT-SoVITS 环境: Python 3.10 PyTorch 2.1.2, CUDA 12.0 安装包: 1、使用: 1)下载项目 git clone https://github.com/RVC-Boss/GPT-SoVITS.git2)下载预训练模型 https://huggingface.co/lj1995/GPT-SoVITS 下载模型文件放到GPT…

C# (WebApi)整合 Swagger

SpringBoot-整合Swagger_jboot整合swagger-CSDN博客 C# webapi 也可以整合Swagger webapi运行其实有个自带的HELP页面 但是如果觉得UI不好看,且没办法显示方法注释等不方便的操作,我们也可以整合Swagger 一、使用NuGet控制台安装Swagger 在菜单中选择…

Pycharm服务器配置与内网穿透工具结合实现远程开发的解决方法

文章目录 一、前期准备1. 检查IDE版本是否支持2. 服务器需要开通SSH服务 二、Pycharm本地链接服务器测试1. 配置服务器python解释器 三、使用内网穿透实现异地链接服务器开发1. 服务器安装Cpolar2. 创建远程连接公网地址 四、使用固定TCP地址远程开发 本文主要介绍如何使用Pych…

力扣随笔之颜色分类(中等75)

思路:定义两个指针划分left,right划分三个区域left左边是红色区域,right右边是蓝色区域,left和right之间是白色区域;定义一个遍历指针遍历整个数组,遇到红色与left所指位置数字交换,并将left自加…

2023最新简绘AI开源版支持MJ绘画,AI问答

应用介绍 本文来自:2023最新简绘AI开源版支持MJ绘画,AI问答 - 源码1688 简介: 简绘AI开源版,从闲鱼上买的,搭建教程如下 测试环境:NginxPHP7.4MySQL5.6 图片:

STM32F4XX - CAN设置

can协议部分 - 逻辑信号和电平信号 先贴上CAN信号在物理信号线上的查分信号表示形式 显性电平: 电压差范围为1.5-2.5v。 对应的逻辑电平是0 隐性电平: 其他 对应的逻辑电平是1 为什么显性电平对应的逻辑电平值为0,而隐性电平对应的逻辑电平…

2023全新UI千月影视APP源码 | 前后端完美匹配、后端基于ThinkPHP框架

应用介绍 本文来自:2023全新UI千月影视APP源码 | 前后端完美匹配、后端基于ThinkPHP框架 - 源码1688 简介: 2023全新UI千月影视APP源码 | 前后端完美匹配、后端基于thinkphp框架 图片:

免费多域名证书,最多支持保护250个域名

随着企业规模扩大和多元化发展,拥有多个域名的需求变得普遍,此时,多域名SSL证书应运而生,并且这一类型的证书已经发展到能够安全地支持多达250个不同域名的加密需求。 多域名SSL证书,也称为SAN(Subject Alt…

【前端素材】推荐优质后台管理系统Tiny平台模板(附源码)

一、需求分析 后台管理系统是一个重要的工具,用于管理和维护网站、应用程序或系统的正常运行。通过灵活的权限管理和各种功能模块的结合,后台管理系统能够有效地帮助管理员管理和控制系统,提高工作效率和系统安全性。 后台管理系统是一种用…

OSCP靶场--Slort

OSCP靶场–Slort 考点(1.php 远程文件包含 2.定时任务提权) 1.nmap扫描 ┌──(root㉿kali)-[~/Desktop] └─# nmap 192.168.178.53 -sV -sC -p- --min-rate 5000 Starting Nmap 7.92 ( https://nmap.org ) at 2024-02-24 04:37 EST Nmap scan report for 192.168.178.53 …

二手旧物回收系统开发:推动可持续发展的关键

随着人们环保意识的增强,二手旧物回收系统的发展逐渐成为社会关注的焦点。开发二手旧物回收系统,不仅能有效减少废弃物的排放,降低对环境的污染,还能实现资源的循环利用,推动可持续发展。本文将深入探讨二手旧物回收系…

java8新特性-Lambda

目录 一、Lambda 1、什么是Lambda表达式 2.Lambda表达式的基本语法: 3.参数列表 4.Lambda表达式使用前后对比 举例一: 举例二: 二、函数式接口 1.函数式接口的使用说明 2.4个基本的函数式接口 3.如何定义函数接口 1.保证接口中只…

Javaweb之SpringBootWeb案例之AOP案例的详细解析

4. AOP案例 SpringAOP的相关知识我们就已经全部学习完毕了。最后我们要通过一个案例来对AOP进行一个综合的应用。 4.1 需求 需求:将案例中增、删、改相关接口的操作日志记录到数据库表中 就是当访问部门管理和员工管理当中的增、删、改相关功能接口时&#xff0c…

MyBatis之Mapper.xml文件中parameterType,resultType,resultMap的用法

MyBatis之自定义数据类型转换器 前言1.parameterType2.resultType3.resultMap实例代码总结 前言 今天我们来学习Mapper.xml(编写SQL的)文件中,增删改查标签中,使用parameterType属性指定传递参数类型,resultType属性指…

【Java程序设计】【C00291】基于Springboot的网上图书商城(有论文)

基于Springboot的网上图书商城(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的网上图书商城 本系统分为系统功能模块、管理员功能模块以及卖家功能模块。 系统功能模块:在系统首页可以查看首页、图书…

GEE必须会教程—Map工具的使用

一个星期的时间,跟着小编的角度,我们已经学习了数值、字符串、字典、列表、日期、矩阵等基本的编程数据类型,这些是学习任何一门编程语言都需要掌握的知识,还有不懂得赶紧关注小编,进行主页查看过往文章!! …

离散数学 第八单元 布尔代数

目录 1. 布尔函数 2. duality 二元性 3. 表示布尔函数的布尔表达式 sum-of-products expansions 4. Functional Completeness 5. Logic Gates 逻辑门​​​​​​​ 4. 最小化 K-map卡诺图 Quine-McCluskey法 1. 布尔函数 嗯也就是我要知道布尔代数是啥形式&#xff…

【Spring】 AOP面向切面编程

文章目录 AOP是什么?一、AOP术语名词介绍二、Spring AOP框架介绍和关系梳理三、Spring AOP基于注解方式实现和细节3.1 Spring AOP底层技术组成3.2 初步实现3.3 获取通知细节信息3.4 切点表达式语法3.5 重用(提取)切点表达式3.6 环绕通知3.7 切…

【RAG实践】基于LlamaIndex和Qwen1.5搭建基于本地知识库的问答机器人

什么是RAG LLM会产生误导性的 “幻觉”,依赖的信息可能过时,处理特定知识时效率不高,缺乏专业领域的深度洞察,同时在推理能力上也有所欠缺。 正是在这样的背景下,检索增强生成技术(Retrieval-Augmented G…

家庭装修的施工流程与工艺,新房装修的实用技术与方法

一、教程描述 对于第一次装修新房的朋友来说,做好装修的准备工作是非常必要的,起码应该了解新房装修的基本施工流程。家庭装修的施工顺序:1,购买材料开工进场;2,水电:开槽布线,铺设…