【发布时间】:2019-07-27 16:59:58
【问题描述】:
我有一个 statfulset 应用程序,它有一个在端口 1000 上运行的服务器,并且有 3 个副本。
现在,我想公开应用程序,所以我使用了type: NodePort。
但是,我还希望 2 个副本在同一个端口相互通信。
当我对 NodePort 类型的应用程序执行 nslookup 时,它只给出一个 dns 名称 <svc_name>.<namespace>.svc.cluster.local(单个 pod 没有获得 dns)并且应用程序被公开。
当我执行clusterIP: None 时,我会得到节点特定的 DNS <statfulset>.<svc_name>.<namespace>.svc.cluster.local,但应用程序未公开。但两者不能一起工作。
如何实现两者,为副本间通信公开相同的端口并在外部公开相同的端口?
【问题讨论】:
-
您不能将
clusterIP暴露在外部。它仅用于内部集群通信 -
我想对外公开服务,而不是
clusterIP -
那么,我总是建议先阅读this...
标签: docker kubernetes