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

集群部署GitLab Agent

前言

题目如下:

部署GitLab Agent

将Kubernetes集群添加到demo-2048项目中,并命名为kubernetes-agent,项目命名空间选择gitlab-ci。

说是部署GitLab Agent,但据我了解,Agent就是Runner,看题目的要求,应该是将K8S连接到GitLab 中。连接后,GitLab可以利用K8S提供的强大容器编排能力来自动化构建、测试和部署应用程序。

使用的环境是之前搭建的容器云平台:2024广东省职业技能大赛云计算赛项实战------容器云平台搭建-CSDN博客,只有master节点,使用的IP是192.168.200.15/24

并且根据之前文章的操作部署了GitLab和GitLab Runner:2024广东省职业技能大赛云计算赛项实战------集群部署GitLab-CSDN博客、2024广东省职业技能大赛云计算赛项实战------集群部署GitLab Runner-CSDN博客

操作过程

我们在GitLab的Web界面,在我们demo-2048项目的左侧导航栏处,找到并点击"Operate"→"Kubernetes clusters",点击右侧的"Connect a cluster"连接集群

输入题目要求的名称kubernetes-agent,点击"Create agent"创建代理,然后点击"Register"注册

接下来跳出的界面里,会提示我们使用helm安装的示例命令

我们回到宿主机,先解压一下提供的软件包

shell 复制代码
[root@k8s-master-node1 gitlab-ci]# tar -zxf gitlab-agent-1.1.0.tgz 
[root@k8s-master-node1 gitlab-ci]# ls gitlab-agent
Chart.yaml  CONTRIBUTING.md  LICENSE  README.md  templates  values.yaml

无需更改values文件的内容,直接根据示例的命令,修改一下即可

shell 复制代码
#题目要求部署在gitlab-ci命名空间,我们使用-n指定。
[root@k8s-master-node1 gitlab-ci]# helm install kubernetes-agent gitlab-agent/ \
> -n gitlab-ci --set image.tag=v16.2.0 \
> --set config.token=JSwAyX3yu1SJQyxwHej9-ysWdX6nV12RDAv2thDwyGQVm2YtEw \
> --set config.kasAddress=ws://192.168.200.15:30880/-/kubernetes-agent/
#查看一下是否正在运行
[root@k8s-master-node1 gitlab-ci]# kubectl get pods -n gitlab-ci -owide
NAME                                            READY   STATUS    RESTARTS      AGE   IP            NODE               NOMINATED NODE   READINESS GATES
gitlab-5664855986-5wdv2                         1/1     Running   1 (49m ago)   54m   10.244.0.12   k8s-master-node1   <none>           <none>
gitlab-runner-gitlab-runner-58c889dc5c-rf4zg    1/1     Running   0             14m   10.244.0.30   k8s-master-node1   <none>           <none>
kubernetes-agent-gitlab-agent-877f6456f-t6949   1/1     Running   0             64s   10.244.0.35   k8s-master-node1   <none>           <none>

回到Web界面,也可以看到我们创建的代理的连接状态是已连接

后语

至此,这道题的所有要求都满足了,可以做下道题了,下道题也是最后一题,我们需要编写流水线脚本完成2048小游戏代码的编译、镜像的构建与推送,并自动发布到K8S集群中,这样整个项目才算真正成功。

相关推荐
分布式存储与RustFS1 小时前
镜像仓库的层别只堆本地盘:用 RustFS 给 Harbor 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
雪落漂泊3 小时前
Liunux进程(七):程序控制篇(中)
linux·运维·windows
分布式存储与RustFS4 小时前
工作流脚本和依赖 JAR 散在各节点本地盘:用 DolphinScheduler 资源中心接到 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
分布式存储与RustFS20 小时前
群晖 NAS 被 C3RB3R 锁了:本地备份一起被加密,RustFS 对象锁为什么删不掉
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
真好啊又活了一天20 小时前
服务器和虚机配置IPV6
运维·服务器·github
zixu_star20 小时前
定时任务是什么?从日常自动化到 AI 应用,软件如何自动执行任务?
运维·人工智能·自动化
AR-26710-20 小时前
Linux Day33——定时任务+lvm
linux·运维
润滑卫士21 小时前
液压系统工作粘度窗口等级选型:泵允许粘度范围与油温-粘度匹配计算
运维
每月一号准时摆烂1 天前
服务器运维笔记(一)——使用shell编写实时查看BMC功率的脚本
运维·服务器·笔记
时间售卖铺1 天前
Chrony与SSH实战:精准时间同步与安全远程登录
运维·安全·云原生·ssh