由于i/o超时,无法将映像推送到OpenShift内部注册表


Pushing image docker-registry.default.svc:5000/th/th:source ...
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<ip>:5000: i/o timeout

手动将映像从CLI推送到内部注册表工作正常。

我已经在几个azure虚拟机上部署了OpenShift实例3.11,在部署时,我负责向其添加外部IP。

所有其他图像也存在于docker注册表中,并且指向docker注册表的curl命令返回退出代码0

奇怪的是,在部署我的应用程序时,我尝试从build pods终端ping注册表。这导致连接被挂断,没有任何响应。

关于如何解决这个问题有什么想法吗?

sdn导致了此网络问题。

Azure支持Calico网络吗?

Azure支持VXLAN模式下的Calico。但是,IPIP数据包被Azure网络结构阻止。

上面引用的印花棉布是导致此问题的原因。这可以通过在calico配置中更改为VXLAN模式来解决。有关如何切换的更多详细信息,请参阅此处。

对于我的解决方案,我只是在清单文件中从calico切换到默认的openshift sdn"ovs subnet"。

最新更新