当前位置: 首页 > news >正文

在k8s中将gitlab-runner的运行pod调度到指定节点

本篇和前面的 基于helm的方式在k8s集群中部署gitlab 具有很强的关联性,因此如果有不明白的地方可以查看往期分享:

  • 基于helm的方式在k8s集群中部署gitlab - 部署
  • 基于helm的方式在k8s集群中部署gitlab - 备份恢复
  • 基于helm的方式在k8s集群中部署gitlab - 升级

文章目录

    • 1. 背景
    • 2. 配置
      • step1: 在集群上打标签
      • step2: 修改gitlab的values文件
      • step3: 配置生效
      • step4: 验证

1. 背景

  • 在某些场景下,我们在使用kubernetes作为gitlab-runner的执行器的时候,希望将ci文件运行的runner pod调度到指定的节点上,便于运行某些job,如调度到有gpu资源上的node。
  • 对此,我们可以使用gitlab-runner的高级配置,使用node_selector关键字可以将runner运行的pod调度到某个节点上。
  • 参考文档:gitlab-runner高级配置

2. 配置

step1: 在集群上打标签

master节点打上runner_node=M1,slave节点打上runner_node=S1

kubectl label nodes k8s-master01 runner_node=M1
kubectl label nodes k8s-worker01 runner_node=S1

在这里插入图片描述

step2: 修改gitlab的values文件

添加 [runners.kubernetes.node_selector]配置,并配置指定调度的label的key和value

gitlab-runner:......runners:...config: |[[runners]][runners.kubernetes]...{{- if .Values.global.minio.enabled }}[runners.cache]...[runners.cache.s3]...[runners.kubernetes.node_selector]runner_node = "S1"{{ end }}

step3: 配置生效

执行helm upgrade命令

helm upgrade  gitlab gitlab-jh/gitlab --version 7.3.6 --timeout 600s --set certmanager.install=false --set global.ingress.configureCertmanager=false  --set global.ingress.tls.enabled=true --set gitlab.webservice.ingress.tls.secretName=gitlab-jihulab-cn-ssl --set registry.ingress.tls.secretName=registry-jihulab-cn-ssl --set minio.ingress.tls.secretName=minio-jihulab-cn-ssl --values values.yaml -n jihulab

step4: 验证

运行gitlab-ci流水线,通过命令查看runner的运行pod在哪个节点上;以下分别是调度到master节点和slave节点的展示
his
在这里插入图片描述

http://www.lryc.cn/news/268161.html

相关文章:

  • 1.解决父组件传数据给子组件太慢,导致子组件获取不到合适数据渲染出错问题2.vue中props传递异步数据,子组件用watch监听
  • SpringMVC之获取请求参数和域对象共享数据
  • IntelliJ IDEA Community(社区版)下载及安装自用版
  • 【C语言:编译、预处理详解】
  • 【宇宙猜想】AR文创入驻今日美术馆、北京天文馆等众多展馆,在AR互动中感受科技魅力!
  • 前端面试题html
  • AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82
  • TCP:IP原理
  • Java 中 Lambda 表达式的使用
  • 【IO】IO模型与零拷贝
  • 鸿蒙 - arkTs:状态管理
  • YOLOv5-Lite 树莓派4B 15帧教程
  • 2014年第三届数学建模国际赛小美赛A题吹口哨解题全过程文档及程序
  • 设计模式-注册模式
  • css 美化滚动条样式
  • 视频压缩不影响画质简单方法,一分钟搞定!
  • Zookeeper的使用场景
  • Java 面试题集锦记录
  • 【自然语言处理】第2部分:识别文本中的个人身份信息
  • C#中的.NET与.NET Framework区别
  • 详解Keras3.0 Layer API: LSTM layer
  • Vue和React的运行时,校验引入包的上下文差异
  • C语言中函数调用和嵌套
  • JVM基础篇---02
  • HTML网站基础
  • 最优化考试之惩罚函数外点法
  • JavaScript 数组【详解】
  • Node.js版本对比
  • 人工智能:网络犯罪分子的驱动力
  • ASP.NET Core认证原理和实现