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

打印 上一主题 下一主题

主题 888|帖子 888|积分 2664

集群部署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并复制

回到宿主机
  1. #回到gitlab-ci目录
  2. [root@k8s-master-node1 demo-2048]# cd ../
  3. #解压gitlab-runner压缩包
  4. [root@k8s-master-node1 gitlab-ci]# tar -zxf gitlab-runner-0.43.0.tgz
  5. [root@k8s-master-node1 gitlab-ci]# ls gitlab-runner/
  6. CHANGELOG.md  Chart.yaml  CONTRIBUTING.md  LICENSE  Makefile  NOTICE  README.md  templates  values.yaml
  7. #修改values.yaml文件
  8. [root@k8s-master-node1 gitlab-ci]# vi gitlab-runner/values.yaml
  9. #修改前:
  10. [root@k8s-master-node1 gitlab-cicd]# awk '!/^[[:space:]]*#/ && !/^([[:space:]]*)?$/' gitlab-runner/values.yaml
复制代码
  1. image:
  2.   registry: registry.gitlab.com
  3.   image: gitlab-org/gitlab-runner
  4. imagePullPolicy: IfNotPresent
  5. terminationGracePeriodSeconds: 3600
  6. concurrent: 10
  7. checkInterval: 30
  8. sessionServer:
  9.   enabled: false
  10. rbac:
  11.   create: false
  12.   rules: []
  13.   clusterWideAccess: false
  14.   podSecurityPolicy:
  15.     enabled: false
  16.     resourceNames:
  17.     - gitlab-runner
  18. metrics:
  19.   enabled: false
  20.   portName: metrics
  21.   port: 9252
  22.   serviceMonitor:
  23.     enabled: false
  24. service:
  25.   enabled: false
  26.   type: ClusterIP
  27. runners:
  28.   config: |
  29.     [[runners]]
  30.       [runners.kubernetes]
  31.         namespace = "{{.Release.Namespace}}"
  32.         image = "ubuntu:16.04"
  33.   cache: {}
  34.   builds: {}
  35.   services: {}
  36.   helpers: {}
  37. securityContext:
  38.   allowPrivilegeEscalation: false
  39.   readOnlyRootFilesystem: false
  40.   runAsNonRoot: true
  41.   privileged: false
  42.   capabilities:
  43.     drop: ["ALL"]
  44. podSecurityContext:
  45.   runAsUser: 100
  46.   fsGroup: 65533
  47. resources: {}
  48. affinity: {}
  49. nodeSelector: {}
  50. tolerations: []
  51. hostAliases: []
  52. podAnnotations: {}
  53. podLabels: {}
  54. priorityClassName: ""
  55. secrets: []
  56. configMaps: {}
  57. volumeMounts: []
  58. volumes: []
复制代码
  1. #修改的配置项:
  2. #添加gitlab的地址和注册的token
  3. # gitlabUrl: http://gitlab.your-domain.com/                修改为:
  4. gitlabUrl: "http://192.168.200.15:30880/"
  5. # runnerRegistrationToken: ""        修改为:
  6. runnerRegistrationToken: "GR1348941X_zjBBFn4JzPtDPwdR-8"
  7. # unregisterRunners: true                修改为:
  8. unregisterRunners: true
  9. #启用RBAC,这样才有权限
  10. rbac:
  11.   create: false                #修改为:
  12.   create: true
  13. #启用metrics,监控GitLab Runner的性能  
  14. metrics:
  15.   enabled: false        #修改为
  16.   enabled: true
  17. #根据题目要求,设置缓存目录  
  18. runners:                #添加配置:
  19.   cachePath: "/home/gitlab-runner/ci-build-cache"
复制代码
  1. #修改后:
  2. [root@k8s-master-node1 gitlab-cicd]# awk '!/^[[:space:]]*#/ && !/^([[:space:]]*)?$/' gitlab-runner/values.yaml
复制代码
  1. image:
  2.   registry: registry.gitlab.com
  3.   image: gitlab-org/gitlab-runner
  4. imagePullPolicy: IfNotPresent
  5. gitlabUrl: "http://192.168.200.15:30880/"
  6. runnerRegistrationToken: "GR1348941X_zjBBFn4JzPtDPwdR-8"
  7. unregisterRunners: true
  8. terminationGracePeriodSeconds: 3600
  9. concurrent: 10
  10. checkInterval: 30
  11. sessionServer:
  12.   enabled: false
  13. rbac:
  14.   create: true
  15.   rules: []
  16.   clusterWideAccess: false
  17.   podSecurityPolicy:
  18.     enabled: false
  19.     resourceNames:
  20.     - gitlab-runner
  21. metrics:
  22.   enabled: true
  23.   portName: metrics
  24.   port: 9252
  25.   serviceMonitor:
  26.     enabled: false
  27. service:
  28.   enabled: false
  29.   type: ClusterIP
  30. runners:
  31.   config: |
  32.     [[runners]]
  33.       [runners.kubernetes]
  34.         namespace = "{{.Release.Namespace}}"
  35.         image = "ubuntu:16.04"
  36.   cachePath: "/home/gitlab-runner/ci-build-cache"
  37.   cache: {}
  38.   builds: {}
  39.   services: {}
  40.   helpers: {}
  41. securityContext:
  42.   allowPrivilegeEscalation: false
  43.   readOnlyRootFilesystem: false
  44.   runAsNonRoot: true
  45.   privileged: false
  46.   capabilities:
  47.     drop: ["ALL"]
  48. podSecurityContext:
  49.   runAsUser: 100
  50.   fsGroup: 65533
  51. resources: {}
  52. affinity: {}
  53. nodeSelector: {}
  54. tolerations: []
  55. hostAliases: []
  56. podAnnotations: {}
  57. podLabels: {}
  58. priorityClassName: ""
  59. secrets: []
  60. configMaps: {}
  61. volumeMounts: []
  62. volumes: []
复制代码
部署GitLab Runner
  1. #这里使用helm部署,需要安装docker-compose,在我们先前搭建容器云平台时,添加Harbor仓库的步骤中就有安装了
  2. [root@k8s-master-node1 gitlab-cicd]# helm install gitlab-runner gitlab-runner/ -n gitlab-ci
  3. #检查是否部署成功
  4. [root@k8s-master-node1 gitlab-cicd]# helm ls -A
  5. NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
  6. gitlab-runner   gitlab-ci       2               2024-06-25 16:32:45.061864768 +0800 CST deployed        gitlab-runner-0.1.37
  7. #查看是否运行
  8. [root@k8s-master-node1 gitlab-cicd]# kubectl get -n gitlab-ci all
  9. NAME                                               READY   STATUS    RESTARTS      AGE
  10. pod/gitlab-59dc9fc7b4-sl4vt                        1/1     Running   1 (55m ago)   77m
  11. pod/gitlab-runner-gitlab-runner-6f846767bf-69rxc   1/1     Running   0             3m11s
  12. NAME             TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
  13. service/gitlab   NodePort   10.96.125.173   <none>        80:30880/TCP   76m
  14. NAME                                          READY   UP-TO-DATE   AVAILABLE   AGE
  15. deployment.apps/gitlab                        1/1     1            1           77m
  16. deployment.apps/gitlab-runner-gitlab-runner   1/1     1            1           8m49s
  17. NAME                                                     DESIRED   CURRENT   READY   AGE
  18. replicaset.apps/gitlab-59dc9fc7b4                        1         1         1       77m
  19. replicaset.apps/gitlab-runner-gitlab-runner-6f846767bf   1         1         1       3m11s
复制代码
回到gitlab的web界面,刷新页面,可以看到乐成注册了

后语

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

钜形不锈钢水箱

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表