我有一个statfulset应用程序,该服务器的服务器在端口1000上运行,并具有3个副本。
现在,我想公开该应用程序,所以我使用了type: NodePort
。
但是,我还希望2个副本在同一端口上相互通信。
当我在NodePort类型应用程序的情况下执行nslookup时,它仅给出一个dns名称<svc_name>.<namespace>.svc.cluster.local
(单个 pods 没有dns),并且该应用程序已公开。
当我执行clusterIP: None
时,我获得了特定于节点的DNS <statfulset>.<svc_name>.<namespace>.svc.cluster.local
,但未公开应用程序。但是两者不能一起工作。
我如何才能做到这两者,为副本间通信公开同一端口,并在外部公开同一端口?
最佳答案
LoadBalancer:使用云提供商的负载平衡器在外部公开服务。将自动创建外部负载均衡器将路由到的NodePort和ClusterIP服务。
关于docker - Kubernetes中NodePort类型服务的Pod到Pod通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55016155/