是否可以让2个服务(用于2个不同的Pod)在Kubernetes 1.17集群中的不同网络接口上侦听?

时间:2019-12-25 04:05:58

标签: kubernetes

这是我拥有的Kubernetes(k8s)集群:

  • 1个主节点,2个工作节点以及所有3个节点均具有2个网络接口,如下所示:
    • 1个公共网络接口(9.191.95.0/24)
    • 1个专用网络接口(192.168.1.0/24)

我在此集群上部署了2个Pod,并为它们部署了2个服务,如下所示:

  • Pod1(带有containerPort 389),用于Pod1的Service1(类型为NodePort,具有端口31389和targetPort 389)
  • 可以通过主机的IP(公用和专用)+端口31389从群集外部访问Pod1
  • Pod2(带有containerPort 11194),用于Pod2的Service2(类型为NodePort,具有端口31194和targetPort 11194)
  • 可以通过主机的IP(公用和专用)+端口31194从群集外部访问Pod2

但是,我的目标是让Pod1仅可通过专用网络从群集外部访问,而Pod2仅可通过公用网络从群集外部访问。我在Services上查看了k8s的官方文档,上面写着:

  

如果要指定特定的IP代理端口,则可以将kube-proxy中的--nodeport-addresses标志设置为特定的IP块; ....例如,如果您使用--nodeport-addresses=127.0.0.0/8标志启动kube-proxy,则kube-proxy仅选择NodePort Services的环回接口。

似乎--nodeport-addresses设置是针对全局的,不能按Pod / Services应用。有人知道如何配置k8来实现我的目标吗?

0 个答案:

没有答案