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

OpenShift环境Artifactory无法推送10GB以上Docker镜像问题求助

故障排查与解决方案

根因定位

你遇到的报错核心是Artifactory内部gRPC通信异常中断,结合现有配置和上传现象,问题集中在七层代理参数缺失、Artifactory内部配置限制、OpenShift集群层面流量限制三个方向,对应解决方案如下:

1. 补全Nginx大流量、gRPC传输配置

你当前的Nginx配置遗漏了gRPC长连接、超大文件传输的关键适配参数,按以下要求调整:

  • 站点配置的location /块中,放开原有注释并补充gRPC专用参数:
# 必须关闭代理请求缓冲,避免大文件上传时Nginx先暂存整个请求再转发,触发超时或连接中断
proxy_request_buffering off;
proxy_buffering off;
# 适配gRPC流量的头部配置
grpc_set_header Host $http_host;
grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
grpc_set_header X-Forwarded-Proto $scheme;
# 调长gRPC读写超时
grpc_read_timeout 3600s;
grpc_send_timeout 3600s;
  • 全局Nginx配置中将proxy_temp_file_write_size从250m调整为10G,避免大文件临时写入时触发IO瓶颈导致连接断开。
    调整完成后重启Nginx Pod生效。

2. 修改Artifactory系统参数

如果是通过Helm Chart部署,直接在values.yaml中添加以下配置后升级即可:

artifactory:
  extraEnv:
    - name: ARTIFACTORY_MAX_UPLOAD_SIZE
      value: "107374182400" # 对应100GB,单位为字节
    - name: GRPC_CLIENT_TIMEOUT
      value: "3600" # 对应gRPC超时1小时
docker:
  v2:
    chunkSize: "104857600" # Docker上传分块调整为100MB,减少大文件分块数量避免超时

如果是手动配置,直接登录Artifactory管理员后台,在通用设置、Docker仓库设置中调整对应参数即可。

3. 排查OpenShift集群层面限制

  • 检查Artifactory对外暴露的Route配置:OpenShift默认Route超时为30s,需调整为3600s以上,同时优先使用passthrough/ reencrypt加密模式,避免边缘节点额外缓冲截断流量
  • 检查Nginx和Artifactory Pod所在节点的网络QoS配置,确认两个Pod之间的跨节点流量没有限速、会话超时小于1小时的规则
  • 检查Artifactory PVC对应的存储后端,确认没有单文件最大10GB的写入限制,存储写入速度不低于50MB/s,避免IO超时触发gRPC连接中断

按照以上步骤调整完成后,即可正常上传10GB以上的Docker镜像。

内容的提问来源于stack exchange,提问作者zie-pao

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:48:03