OpenShift 重建无法推送图像:连接被拒绝

OpenShift rebuild fails to push image: connection refused

我正在使用 OpenShift Origin 3.9 并构建了一个应用程序(由服务、pods 等组成)并且 运行 没问题。

但是,现在重建失败并显示以下错误消息:

Successfully built 1234567890ab
Pushing image docker- registry.default.svc:5000/my_project/my_app:latest ...
Warning: Push failed, retrying in 5s ...
Warning: Push failed, retrying in 5s ...
Warning: Push failed, retrying in 5s ...
Warning: Push failed, retrying in 5s ...
Warning: Push failed, retrying in 5s ...
Warning: Push failed, retrying in 5s ...
Warning: Push failed, retrying in 5s ...
Registry server Address: 
Registry server User Name: serviceaccount
Registry server Email: serviceaccount@example.org
Registry server Password: <<non-empty>>
error: build error: Failed to push image: 
  After retrying 6 times, Push image still failed due to error: 
  Get https://docker-registry.default.svc:5000/v1/_ping: dial tcp 1.2.3.4:5000: 
  getsockopt: connection refused

我没有该集群的管理员权限,因此这不太可能是由于节点的 DNS 设置所致,正如类似的答案所暗示的那样(例如 here)。

一个可能的原因可能是我同时创建了一个服务帐户(自上次成功构建以来)并使用其 API 令牌临时登录。但是,我没有使用我的完整帐户(例如 oc whoami。)

再次登录(一个 API 令牌)

这就是我开始重建的方式:

oc login --token=$api_token
oc start-build --follow my_app

什么可以解释这个错误,我该如何进一步诊断和克服它,特别是。鉴于我没有集群管理员权限?

问题 "somehow" 几天后就消失了。是否由操作员干预或其他方式我无法判断。

您错过了一步

oc 策略向用户添加角色 system:image-builder

请关注此文档

https://blog.openshift.com/remotely-push-pull-container-images-openshift/