You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在K8s上配置多规格GitLab Runner(小/中/大型)

配置多规格GitLab Runner的Helm Values修改方案

你可以通过把runners字段从单一对象改成数组结构,来定义多组不同规格的Runner。每组对应小型、中型、大型的配置,同时通过参数控制Runner的待命/按需启动逻辑。修改后的完整配置如下:

# 多规格Runner配置,数组形式定义每组Runner
runners:
  # 小型Runner:随时待命,处理轻量任务
  - image: "docker:20.10.16"
    tags: "small"
    privileged: true
    disable_cache: false 
    cache_dir: "cache"
    namespace: gitlab
    config: |
      [[runners]]
        output_limit = 24576
        [runners.kubernetes]
          namespace = "{{.Release.Namespace}}"
          cpu_limit = "2"
          cpu_request = "1"
          memory_limit = "4Gi"
          memory_request = "2Gi"
        # 保持至少1个闲置Runner待命
        [runners.autoscale]
          min_idle_count = 1
          max_idle_count = 2

  # 中型Runner:处理中等负载任务
  - image: "docker:20.10.16"
    tags: "medium"
    privileged: true
    disable_cache: false 
    cache_dir: "cache"
    namespace: gitlab
    config: |
      [[runners]]
        output_limit = 24576
        [runners.kubernetes]
          namespace = "{{.Release.Namespace}}"
          cpu_limit = "6"
          cpu_request = "4"
          memory_limit = "24Gi"
          memory_request = "16Gi"
        # 可根据需求调整闲置数量
        [runners.autoscale]
          min_idle_count = 0
          max_idle_count = 1

  # 大型Runner:按需启动,闲置自动销毁,处理重型任务
  - image: "docker:20.10.16"
    tags: "large"
    privileged: true
    disable_cache: false 
    cache_dir: "cache"
    namespace: gitlab
    config: |
      [[runners]]
        output_limit = 24576
        [runners.kubernetes]
          namespace = "{{.Release.Namespace}}"
          cpu_limit = "12"
          cpu_request = "8"
          memory_limit = "48Gi"
          memory_request = "32Gi"
        # 闲置1小时后自动销毁,无任务时不保留闲置Runner
        [runners.autoscale]
          min_idle_count = 0
          max_idle_time = 3600

关键配置说明

  • 多Runner区分:每组Runner通过tags字段标记(small/medium/large),CI任务中只需指定对应tags就能调度到对应规格的Runner,比如:
    job:
      tags: [small]
      script: echo "运行在小型Runner上"
    
  • 小型Runner待命:通过min_idle_count: 1确保始终有1个闲置的小型Runner,无需等待启动时间
  • 大型Runner按需启动:min_idle_count: 0 + max_idle_time: 3600(1小时),无任务时不会保留闲置Runner,有任务时自动启动,闲置超时后销毁,降低闲置成本
  • 资源规格调整:根据实际任务负载,修改每组Runner的cpu_limit/cpu_request/memory_limit/memory_request参数

内容的提问来源于stack exchange,提问作者JKCL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 13:03:31