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

GitLab Runner在Kubernetes集群执行docker login时卡住求助

解决GitLab Runner执行docker login卡住的问题

可能原因及对应解决方案

1. Runner权限配置冲突

你的values.yaml中,Runner自身的securityContext设置了allowPrivilegeEscalation: false,但runners.privileged: true——这会导致运行docker:dind的构建Pod无法获得足够权限,进而引发网络连接不稳定。

修复方法:
修改values.yaml的securityContext配置:

securityContext:
  allowPrivilegeEscalation: true  # 改为true,允许构建Pod提升权限
  readOnlyRootFilesystem: false
  runAsNonRoot: true
  privileged: false
  capabilities:
    drop: ["ALL"]

重新部署Runner:

helm upgrade gitlab-runner gitlab/gitlab-runner -f values.yaml

2. Docker DIND网络配置问题

你在.gitlab-ci.yaml里用localhost作为DOCKER_HOST地址,在K8s环境中,主容器与服务容器通过服务名互通更可靠,自定义的entrypoint和command也可能干扰DIND正常启动。

修复方法:
调整.gitlab-ci.yaml中的服务配置:

build docker image:
  stage: build
  image: docker:latest
  services:
    - name: docker:dind
  variables:
    DOCKER_HOST: tcp://docker:2375/  # 改用服务名docker替代localhost
    DOCKER_DRIVER: overlay2
    DOCKER_TLS_CERTDIR: ""
  # 其余配置保持不变

3. Registry网络可达性与TLS问题

错误中的188.72.88.34是registry.labs.com的解析IP,可能存在两种情况:

  • Runner所在K8s节点无法访问该IP的443端口(防火墙/安全组拦截)
  • Registry的TLS证书不被信任,导致连接被强制关闭

验证与修复:

  • 在Runner节点执行curl -v https://registry.labs.com/v2/,检查是否能正常连接、是否有证书错误。
  • 如果是证书问题,将Registry的CA证书注入构建Pod:
    在.gitlab-ci.yaml的before_script中添加证书配置:
    before_script:
       - mkdir -p /etc/docker/certs.d/registry.labs.com
       - echo "$REGISTRY_CA_CERT" > /etc/docker/certs.d/registry.labs.com/ca.crt
       - mkdir -p $HOME/.docker
       - echo passwd| docker login -u user https://registry.labs.com --password-stdin
    
    同时在GitLab项目Settings > CI/CD > Variables中添加REGISTRY_CA_CERT变量,值为Registry的CA证书内容。

4. Runner资源不足

你的concurrent: 10但未设置资源限制,可能导致Runner Pod资源耗尽,影响网络连接稳定性。

修复方法:
在values.yaml中添加资源限制(根据集群情况调整):

resources:
  requests:
    cpu: 100m
    memory: 128Mi
  limits:
    cpu: 500m
    memory: 512Mi

验证步骤

  1. 修改配置后重新部署Runner或触发CI流水线。
  2. 查看CI日志确认docker login是否正常。
  3. 若问题依旧,查看Runner Pod日志排查细节:
    kubectl logs -n <runner-namespace> <runner-pod-name>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 22:45:38