kubernetes – OpenShift和hostnetwork = true
我已经部署了两个POD-s,其中hostnetwork设置为true.当POD-s部署在同一个OpenShfit节点上时,一切正常,因为它们可以使用节点IP发现彼此.
当POD-s部署在不同的OpenShift节点上时,他们无法发现彼此,如果我想使用节点IP将一个POD指向另一个POD,我就没有到主机的路由.如何解决这个问题? 解决方法
如果您希望两个容器共享同一个物理机器并利用环回来进行快速通信,那么最好将它们一起定义为具有两个容器的单个Pod.
如果两个容器意味着浮动在一个更大的集群上并且更松散地耦合,那么我建议利用Kubernetes中的Service构造(在OpenShift下)并使用它来进行适当的发现. 服务记录在https://kubernetes.io/docs/concepts/services-networking/service/,并且与内部DNS服务(如果实现 – 在Kubernetes 1.4及更高版本中通用)一起提供了一种方法,让Kubernetes管理事物的位置,以< servicename>的形式更新内部DNS条目. <命名空间> .svc.cluster.local.因此,例如,如果在默认命名空间中设置名为“backend”的服务的Pod,则另一个Pod可以将其引用为backend.default.svc.cluster.local.关于DNS部分的Kubernetes文档可在https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/获得 这也避免了“hostnetwork = true”复杂化,并让OpenShift(或特别是Kubernetes)管理网络. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |