2024广东省职业技能大赛云计算赛项实战——集群部署GitLab Runner

集群部署GitLab Runner

前言

题目如下:

部署GitLab Runner
将GitLab Runner部署到gitlab-ci命名空间下,Release名称为gitlab-runner,为GitLab Runner创建持久化构建缓存目录/home/gitlab-runner/ci-build-cache以加速构建速度,并将其注册到GitLab中。

GitLab Runner是GitLab CI/CD架构中的一个组件,用于运行作业(Jobs)并与 GitLab 交互。它可以在不同的操作系统上执行任务,并将结果反馈给 GitLab。

使用的环境是之前搭建的容器云平台:2024广东省职业技能大赛云计算赛项实战——容器云平台搭建-CSDN博客,只有master节点,使用的IP是192.168.200.15/24
并且根据这篇文章的操作部署了GitLab:2024广东省职业技能大赛云计算赛项实战——集群部署GitLab-CSDN博客

操作过程

我们在gitlab的web界面里,点击"Settings"→"CI/CD",找到Runners,点击右边"Expend"展开,查看注册的Token并复制

在这里插入图片描述

回到宿主机

#回到gitlab-ci目录
[root@k8s-master-node1 demo-2048]# cd ../
#解压gitlab-runner压缩包
[root@k8s-master-node1 gitlab-ci]# tar -zxf gitlab-runner-0.43.0.tgz 
[root@k8s-master-node1 gitlab-ci]# ls gitlab-runner/
CHANGELOG.md  Chart.yaml  CONTRIBUTING.md  LICENSE  Makefile  NOTICE  README.md  templates  values.yaml
#修改values.yaml文件
[root@k8s-master-node1 gitlab-ci]# vi gitlab-runner/values.yaml
#修改前:
[root@k8s-master-node1 gitlab-cicd]# awk '!/^[[:space:]]*#/ && !/^([[:space:]]*)?$/' gitlab-runner/values.yaml 
image:registry: registry.gitlab.comimage: gitlab-org/gitlab-runner
imagePullPolicy: IfNotPresent
terminationGracePeriodSeconds: 3600
concurrent: 10
checkInterval: 30
sessionServer:enabled: false
rbac:create: falserules: []clusterWideAccess: falsepodSecurityPolicy:enabled: falseresourceNames:- gitlab-runner
metrics:enabled: falseportName: metricsport: 9252serviceMonitor:enabled: false
service:enabled: falsetype: ClusterIP
runners:config: |[[runners]][runners.kubernetes]namespace = "{{.Release.Namespace}}"image = "ubuntu:16.04"cache: {}builds: {}services: {}helpers: {}
securityContext:allowPrivilegeEscalation: falsereadOnlyRootFilesystem: falserunAsNonRoot: trueprivileged: falsecapabilities:drop: ["ALL"]
podSecurityContext:runAsUser: 100fsGroup: 65533
resources: {}
affinity: {}
nodeSelector: {}
tolerations: []
hostAliases: []
podAnnotations: {}
podLabels: {}
priorityClassName: ""
secrets: []
configMaps: {}
volumeMounts: []
volumes: []
#修改的配置项:
#添加gitlab的地址和注册的token
# gitlabUrl: http://gitlab.your-domain.com/		修改为:
gitlabUrl: "http://192.168.200.15:30880/"
# runnerRegistrationToken: ""	修改为:
runnerRegistrationToken: "GR1348941X_zjBBFn4JzPtDPwdR-8"
# unregisterRunners: true		修改为:
unregisterRunners: true
#启用RBAC,这样才有权限
rbac:create: false		#修改为:create: true
#启用metrics,监控GitLab Runner的性能  
metrics:enabled: false	#修改为enabled: true
#根据题目要求,设置缓存目录  
runners:		#添加配置:cachePath: "/home/gitlab-runner/ci-build-cache"
#修改后:
[root@k8s-master-node1 gitlab-cicd]# awk '!/^[[:space:]]*#/ && !/^([[:space:]]*)?$/' gitlab-runner/values.yaml 
image:registry: registry.gitlab.comimage: gitlab-org/gitlab-runner
imagePullPolicy: IfNotPresent
gitlabUrl: "http://192.168.200.15:30880/"
runnerRegistrationToken: "GR1348941X_zjBBFn4JzPtDPwdR-8"
unregisterRunners: true
terminationGracePeriodSeconds: 3600
concurrent: 10
checkInterval: 30
sessionServer:enabled: false
rbac:create: truerules: []clusterWideAccess: falsepodSecurityPolicy:enabled: falseresourceNames:- gitlab-runner
metrics:enabled: trueportName: metricsport: 9252serviceMonitor:enabled: false
service:enabled: falsetype: ClusterIP
runners:config: |[[runners]][runners.kubernetes]namespace = "{{.Release.Namespace}}"image = "ubuntu:16.04"cachePath: "/home/gitlab-runner/ci-build-cache"cache: {}builds: {}services: {}helpers: {}
securityContext:allowPrivilegeEscalation: falsereadOnlyRootFilesystem: falserunAsNonRoot: trueprivileged: falsecapabilities:drop: ["ALL"]
podSecurityContext:runAsUser: 100fsGroup: 65533
resources: {}
affinity: {}
nodeSelector: {}
tolerations: []
hostAliases: []
podAnnotations: {}
podLabels: {}
priorityClassName: ""
secrets: []
configMaps: {}
volumeMounts: []
volumes: []

部署GitLab Runner

#这里使用helm部署,需要安装docker-compose,在我们先前搭建容器云平台时,添加Harbor仓库的步骤中就有安装了
[root@k8s-master-node1 gitlab-cicd]# helm install gitlab-runner gitlab-runner/ -n gitlab-ci
#检查是否部署成功
[root@k8s-master-node1 gitlab-cicd]# helm ls -A
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
gitlab-runner   gitlab-ci       2               2024-06-25 16:32:45.061864768 +0800 CST deployed        gitlab-runner-0.1.37
#查看是否运行
[root@k8s-master-node1 gitlab-cicd]# kubectl get -n gitlab-ci all
NAME                                               READY   STATUS    RESTARTS      AGE
pod/gitlab-59dc9fc7b4-sl4vt                        1/1     Running   1 (55m ago)   77m
pod/gitlab-runner-gitlab-runner-6f846767bf-69rxc   1/1     Running   0             3m11sNAME             TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
service/gitlab   NodePort   10.96.125.173   <none>        80:30880/TCP   76mNAME                                          READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/gitlab                        1/1     1            1           77m
deployment.apps/gitlab-runner-gitlab-runner   1/1     1            1           8m49sNAME                                                     DESIRED   CURRENT   READY   AGE
replicaset.apps/gitlab-59dc9fc7b4                        1         1         1       77m
replicaset.apps/gitlab-runner-gitlab-runner-6f846767bf   1         1         1       3m11s

回到gitlab的web界面,刷新页面,可以看到成功注册了

在这里插入图片描述

后语

至此,这道题目的要求全部满足,可以做下道题——部署GitLab-Agent了。不过据我了解,Agent就是Runner,下道题的要求,实际上是将k8s集群连接到gitlab里。

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

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

相关文章

【算法与数据结构】【字符串篇】【String的常见函数】

系列文章 本人系列文章-CSDN博客https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5502 1.string基本概念 string是C风格的字符串&#xff0c;而string本质上是一个类。 string和char * 区别&#xff1a; char * 是一个指针 string是一…

[Redis]缓存常见问题解决(缓存穿透、击穿、雪崩一文解决!通俗易懂、代码实战!手把手教你解决缓存问题三兄弟!)

Redis常见问题解决 要求 只用一种缓存技术&#xff0c;从实验点中挑一些试验进行试验原理。 1.缓存原理 目标&#xff1a;理解缓存的基本原理和工作机制。 实验步骤&#xff1a; 阅读各缓存技术机制的文档和官方资料。实现一个简单的应用程序&#xff0c;模拟数据的读写和…

音视频入门基础:H.264专题(4)——NALU Header:forbidden_zero_bit、nal_ref_idc、nal_unit_type简介

音视频入门基础&#xff1a;H.264专题系列文章&#xff1a; 音视频入门基础&#xff1a;H.264专题&#xff08;1&#xff09;——H.264官方文档下载 音视频入门基础&#xff1a;H.264专题&#xff08;2&#xff09;——使用FFmpeg命令生成H.264裸流文件 音视频入门基础&…

试析C#编程语言的特点及功能

行步骤&#xff0c;而不必创建新方法。其声明方法是在实例化委托基础上&#xff0c;加一对花括号以代表执行范围&#xff0c;再加一个分号终止语句。 2.3.3 工作原理 C#编译器在“匿名”委托时会自动把执行代码转换成惟一命名类里的惟一命名函数。再对存储代码块的委托进行设…

最热门的智能猫砂盆好不好用?这期统统告诉你!

身为上班族的我们&#xff0c;常常被工作和出差填满日程。忘记给猫咪铲屎也不是一次两次了。但我们必须意识到&#xff0c;不及时清理猫砂盆不仅会让猫咪感到不适&#xff0c;还可能引发泌尿系统感染、皮肤疾病等健康问题。为了解决这个问题&#xff0c;越来越多的铲屎官开始将…

快速上手golang(持续更新)

由于项目需要&#xff0c;我不得不快速掌握go语言来帮助我进行项目的开发。时间紧迫到我来不及去了解语言的特性就直接项目上手了。我决定就先熟悉一个主流的go框架和go语言的一些日常用法&#xff0c;之后就得滑着这只破船摇摇晃晃上路了。 1 基础命令 就说几个用的多的&…

【Linux】使用信号进行进程间通信

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 ​ ​ 实现原理&a…

江苏隆昌化工上线隆道平台 采购管理迎来全面升级

当前&#xff0c;传统产业与数字产业深度加速融合&#xff0c;大数据、云计算、人工智能等新技术推动产业深刻变革&#xff0c;能源化工行业迎来战略转型加速期。数字化转型已成为能源化工企业提升运营效率、控制运营成本、提高产品质量、打造竞争优势的强大引擎。为实现传统采…

数据库管理-第213期 HaloDB-Oracle兼容性测试03(20240625)

数据库管理213期 2024-06-25 数据库管理-第213期 HaloDB-Oracle兼容性测试03&#xff08;20240625&#xff09;1 索引1.1 B-Tree索引1.2 Hash索引1.3 复合索引1.4 唯一索引1.5 表达式索引1.6 部分索引 2 视图3 表连接3.1 内连接3.2 左/右外连接3.3 全连接清理环境&#xff1a; …

Linux内核测试技术

Linux 内核是Linux操作系统的核心部分&#xff0c;负责管理硬件资源和提供系统调用接口。随着 Linux 内核的不断发展和更新&#xff0c;其复杂性和代码规模也在不断增加。因此&#xff0c;确保内核的稳定性和可靠性变得尤为重要。内核测试技术是实现这一目标的关键手段。本文将…

iptables配置NAT实现端口转发

加载防火墙的内核模块 modprobe ip_tables modprobe ip_nat_ftp modprobe ip_conntrack 1.开启路由转发功能 echo net.ipv4.ip_forward 1 >> /etc/sysctl.conf sysctl -p2、将本地的端口转发到本机端口 将本机的 7777 端口转发到 6666 端口。 iptables -t nat -A PR…

C# Winform 开源UI库

WinForms&#xff0c;作为微软.NET框架下的一个桌面应用程序开发工具&#xff0c;自1999年首次亮相以来&#xff0c;已经走过了二十多年的发展历程。它以其简单直观的拖拽式界面设计和丰富的控件库&#xff0c;成为了大众喜爱的入门学习编程工具。由于它是比较基础的开发工具&a…

Windows下如何实现微信多开/分身

新建文本文档 把下面的脚本复制到文本文档中 echo offstart "" "C:\Program Files\Tencent\WeChat\WeChat.exe" start "" "C:\Program Files\Tencent\WeChat\WeChat.exe"exit把wechat.exe的路径替换成你自已的路径 想多开几个就复制…

如何写好AI绘画提示词?保姆级教程来了!

前言 提示词编辑是一个结构化的过程&#xff0c;用能被人类解释和理解的词语来描述图像&#xff0c;也就是告诉人工智能模型应该怎么绘制图片。 生成优质图像的秘诀 1.提示词要想编辑好&#xff0c;包括修饰词和好的句子结构&#xff0c;首先你要了解所有的修饰词类型。 2.St…

SAP的RFID

射频识别 &#xff08;RFID&#xff09; 避免了条码扫描的局限性&#xff0c;条码扫描需要对每个条码进行视线访问&#xff0c;并且一次只能用于扫描一个项目。 一次扫描一个标签可能会令人厌烦和压力大&#xff0c;这会增加人为错误的机会。相反&#xff0c;RFID 标签不需要直…

紧贴国家大战略需求,聚焦当前行业热点-海云安D10入选第四届香蜜湖金融科技创新奖拟奖项目

近日&#xff0c;第四届香蜜湖金融科技创新奖终审总结会在深圳市福田区湾区国际金融科技城成功举办&#xff0c;活动现场&#xff0c;专家评审委员会最终揭晓25个拟奖项目。海云安“开发者安全助手系统”项目&#xff0c;实力入选第四届香蜜湖金融科技创新奖-优秀项目奖。 1、香…

关于导入springcloud项目一些jar加载不进去的问题处理

IntelliJ IDEA的Maven项目有时候通过右边Maven Projects面板的package或者install命令打包的时候&#xff0c;会报错导致打包失败&#xff0c;这是由于这两个命令打包前默认会运行tests测试&#xff0c;若测试失败则打包失败。但是有时候我们打包的时候一些项目配置是针对生产环…

如何解决远距离传输大文件慢的问题?

在数字化时代&#xff0c;无论是企业还是个人&#xff0c;经常需要处理跨越长距离的大规模文件传输任务。这种传输的效率和安全性对业务流程的顺畅至关重要。然而&#xff0c;我们经常遇到网络延迟、数据丢失、带宽限制等问题&#xff0c;这些都可能影响文件传输的效率。小编将…

从传统到智能:视频汇聚EasyCVR+AI视频监控如何助力仓储的智能化转型

随着物流行业的快速发展和市场竞争的加剧&#xff0c;仓储管理对于保证货物安全、提高运营效率显得尤为重要。传统的仓储监控方式已难以满足现代仓储管理的需求&#xff0c;因此&#xff0c;仓储视频智能监控解决方案应运而生。方案通过集成先进的视频监控技术、智能分析算法、…