使用 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: info
 
rbac:
  create: true
 
metrics:
  enabled: false
 
runners:
  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-runner
  tags: "kind,k8s"
 
securityContext:
  runAsUser: 100
  fsGroup: 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 官网进行学习。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

瑞_23种设计模式_装饰者模式

文章目录 1 装饰者模式(Decorator Pattern)1.1 介绍1.2 概述1.3 装饰者模式的结构 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代码实现 4 JDK源码解析5 总结5.1 装饰者模式的优缺点5.2 装饰者模式的使用场景5.3 装饰者模式 VS 代理模式 &#x…

Java日志技术

概况 把程序运行的信息,记录到文件中,方便程序员定位bug,并了解程序的执行情况等 什么是日志 好比生活中的日记,可以记录你生活中的点点滴滴程序中的日志,通常就是一个文件,里面记录的是程序运行过程中的…

第四十回 宋江智取无为军 张顺活捉黄文炳-使用python集合计算人员变动

白龙庙聚会,梁上好汉人多势众,听说江州城里军队追赶过来了,大家一起出去迎敌。李逵一马当先杀入人群,花荣一箭射倒领头的马军,其它马军掉头就走,把自己的步兵冲倒了一半。大家一直杀到江州城边,…

Android | ArcGIS入门

一、概述 ArcGIS是由Esri开发的地理信息系统(GIS)软件。它用于制图、空间分析和数据可视化。ArcGIS允许用户以各种格式创建、管理、分析和共享地理信息。它通常用于城市规划、环境管理和应急响应等领域。该软件包括一系列工具,用于创建地图、…

KTV点歌系统vue+springboot音乐歌曲播放器系统

目前现有的KTV点歌系统对于用户而言其在线点歌流程仍然过于繁琐,对于歌曲而言其系统安全性并不能保障。同时整套系统所使用的技术相对较为落后,界面不能动态化展示。相比较于其它同类型网站而言不能体现技术先进性。 1.2 项目目标 KTV点歌系统的后台开发…

C语言调试

目录 一.Debug和Release介绍 二.Windows环境调试介绍 三.窗口介绍 (1)自动窗口和局部变量窗口 (2)监视窗口 (3)调用堆栈 (4)查看汇编信息 (5)查看寄存…

Linux笔记之LD_LIBRARY_PATH详解

Linux笔记之LD_LIBRARY_PATH详解 文章目录 Linux笔记之LD_LIBRARY_PATH详解1.常见使用命令来设置动态链接库路径2.LD_LIBRARY_PATH详解设置 LD_LIBRARY_PATH举例注意事项 3.替代方案使用标准路径编译时指定链接路径优先使用 rpath 还是 runpath?注意事项 1.常见使用…

四信AI智能识别及计量监测设备,助力入河入海排污口规范化建设

随着城市化和工业化的快速发展,污水排放已成为主要的环境问题之一。2022年,国务院办公厅发布《关于加强入河入海排污口监督管理工作的实施意见》,提出“加强科技研发,开展各类遥感监测、水面航测、水下探测、管线排查等实用技术和…

Curator基本使用

文章目录 1. 基本操作1.1 建立连接1.2 创建结点1.3 查询结点查询数据查询子结点查看结点信息 1.4 修改结点普通修改带乐观锁的修改 1.5 删除删除单个结点删除带子结点的结点必须成功的删除带回调函数的删除 2. 监听器事件2.1 NodeCache单一结点连续监听2.2 PathChildrenCache监…

GEE入门篇|遥感专业术语(实践操作2):空间分辨率(Spatial Resolution)

目录 空间分辨率(Spatial Resolution) 1.MODIS(搭载在Aqua 和 Terra 卫星上) 2. TM(搭载在早期LandSat卫星上) 3.MSI(搭载在在Sentinel-2 卫星上) 4.NAIP 空间分辨率&#xff0…

基于qt的图书管理系统----03核心界面设计

参考b站:视频连接 源码github:github 目录 1 添加软件图标2 打包程序3 三个管理界面设计4 代码编写4.1 加载界面4.2 点击按钮切换界面4.3 组团添加样式4.4 搭建表头4.5 表格相关操作 从别人那里下载的项目会有这个文件,里边是别人配置的路径…

ETL:数据转换与集成的关键过程

ETL:数据转换与集成的关键过程 在现代数据驱动的世界中,有效地管理和处理数据对于企业的成功至关重要。ETL(提取、转换、加载)是一种关键的数据处理过程,有助于将数据从源系统提取、清洗、转换并加载到目标系统中&…

大蟒蛇(Python)笔记(总结,摘要,概括)——第9章 类

目录 9.1 创建和使用类 9.1.1 创建Dog类 9.1.2 根据类创建实例 9.2 使用类和实例 9.2.1 Car类 9.2.2 给属性指定默认值 9.2.3 修改属性的值 9.3 继承 9.3.1 子类的_init_()方法 9.3.2 给子类定义属性和方法 9.3.3 重写父类中的方法 9.3.4 将实例用作属性 9.3.5 模拟实物 9.…

Maven setting.xml 配置

目的:可以把我们书写的jar包发布到maven私有仓库,简称私仓 1. 打开云效 2.点击 非生产库-snapshot mave release仓库与snapshot仓库区别? 在软件开发中,"Maven release 仓库"和"Maven snapshot 仓库"是两种…

google浏览器chrome无法访问localhost等本地虚拟域名的解决方法

场景一: 谷歌浏览器访问出现:forbbiden 403 问题,或者直接跳转到正式域名(非本地虚拟域名) 访问本地的虚拟域名http://www.hd.com/phpinfo.php?p1发生了302 条状 火狐浏览器正常访问; 解决方法: 方法1:在谷歌浏览器…

8 buuctf解题

[BJDCTF2020]just_a_rar 1 下载,得到 发现有加密 使用ARCHPR设置四位数掩码爆破 得到口令2016,解压得到图片,flag在图片exif中 在备注里面看见了flag [HBNIS2018]excel破解 1 下载下来是attachment.xls 修改后缀为rar 使用010 Editor打开&a…

5G网络建设 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 200分 题解: Java / Python / C 题目描述 现需要在某城市进行5G网络建设,已经选取N个地点设置5G基站,编号固定为1到N, 接下来需要各个基站之间使用光纤进行连接以确保基…

基于Docker和Springboot两种方式安装与部署Camunda流程引擎

文章目录 前言1、Docker安装1.1、拉取Camunda BPM镜像1.2、编写docker启动camunda容器脚本1.3、docker启动脚本1.4、访问验证 2、SpringBoot启动2.1、下载地址2.2、创建SpringBoot项目并配置基础信息2.3、下载SpringBoot项目并在idea中打开2.4、pom修改2.5、application.yml配置…

P1927 防护伞

题目传送门:P1927 防护伞 作业出了这道题,写一篇题解纪念一下。 这道题可以简化为“先枚举所有点,然后把这些点到另外点距离的最大距离和其他点比较,求出最小距离”。 这样说可能也听不懂,还可以再简化: …

深度学习环境配置常见指令

首先打开anaconda prompt,激活对应虚拟环境。 导入torch并获取对应版本 import torch torch.__version__导入torchvision并获取对应版本 import torchvision torchvision.__version__ 检查cuda是否可用 torch.cuda.is_available() 获取CUDA设备数 torch.cuda.…