如何将Kubernetes或Docker Swarm服务置于防火墙之后

我已经和Kubernetes和Docker Swarm一起玩了两个替代scheme来pipe理自我托pipe解决scheme中的容器。 我无法find一个简单的答案,我应该如何在每个防火墙后面放置一个服务。

从我在Docker Swarm和Kubernetes中看到的(使用NodePort时),最终服务暴露在集群中运行的主机的IP地址上,并且请求被路由到集群中运行的服务,而不pipe你打的主机。

现在假设我想把一个服务放在防火墙后面。我需要一个IP地址在FW中configuration为目标IP地址,对不对? 我不想使用任何特定的主机IP地址,因为最终主机可能会来去,我不希望单个主机作为单点故障。

任何指针,高度赞赏!

从技术上讲,你放在防火墙后面的不是你的服务,而是整个Kubernetes集群。 如果您对LoadBalancertypes的服务有坚实的支持,那么它将通过LB公开IP地址,因此stream量将通过Client > LB > ClusterNodes 。 如你所见,所有yopu需要允许从负载平衡器到群集节点的连接。

在某些供应商/环境中,您将默认获得这种行为。 例如,当configuration了private拓扑结构时,KOPS会将您的集群节点放在一个内部networking中,该networkingclosures来自世界各地的连接,然后通过LB(或堡垒)