我configuration了openshift,并且在docker-register启动的主机上一切正常。 当我添加新的节点,我尝试部署容器,我有这样的错误日志:
E0519 10:51:38.574152 2135 pod_workers.go:138] Error syncing pod 083b958e-1dc0-11e6-8ca2-525400c36a07, skipping: failed to "StartContainer" for "testapp4" with ImagePullBackOff: "Back-off pulling image \"172.30.236.174:5000/test/testapp4@sha256:64c3dc4cb983986a1dd5a7979f03f449b089f4baaf979b67363a92aac43e49cd\"" E0519 11:00:09.099712 2098 pod_workers.go:138] Error syncing pod 5d3c48a1-1dd2-11e6-a164-525400c36a07, skipping: failed to "StartContainer" for "testapp4" with ErrImagePull: "API error (500): Get http://172.30.236.174:5000/v2/: dial tcp 172.30.236.174:5000: getsockopt: no route to host\n"
我猜是问题是新的节点不是“看到”在其他节点上部署的docker-registry地址172.30.236.174。 我应该做更多的新节点(我刚刚开始与节点configurationopenshift)?
OpenShift使用172.30.0.0/16为Kubernetes Services分配虚拟IP地址。 dockerregistry通过服务提供,并且在你的群集中明显地绑定了172.30.236.174 。 服务地址通常不可路由 – 相反, kube-proxy拦截发往该IP地址的出站stream量,并将其redirect(请参阅虚拟IP和服务代理 )。
与虚拟IP地址关联的错误消息“无路由到主机”表示kube-proxy在新节点上不工作。 您应该能够find正在运行的进程,并且您应该能够在iptables -L输出中find它的规则。