我有一个带两个容器的吊舱 . 应用程序和数据库 . 我有两个复制品的pod .
我想公开要在集群外部访问的应用程序端口,我不想公开数据库端口 .
但我想使用DNS访问数据库端口以 balancer 流量 .
我可以创建两个服务,一个作为NodePort,并将applicatin端口和其他服务公开为ClusterIP,以暴露数据库端口 .
我还可以从应用程序服务器连接到localhost,因为之前流量已经达到 balancer . 并且仅将app服务器公开为nodeport .
问题是:我可以将数据库端口公开为集群IP,将app端口显示为仅具有一个服务的nodeport吗?
谢谢 .
2 回答
不,你不能 .
更不用说这是一个非常罕见的情况,将数据库保存在复制设置中的同一个pod中是有意义的,因为您通常希望将它们分成不同的部署/服务 .
答案是:不,你不能 .
但您仍然应该知道
NodePort
类型的Kubernetes服务还将分配端口将路由到的群集IP . 因此,如果您想要发布两个端口,则单个服务就足以通过名称在内部到达它们,并通过节点端口从外部到达 .