保护Nginx-Ingress> Istio-入口

时间:2017-11-15 23:40:42

标签: kubernetes istio

我有Istio Ingress正在处理流入微服务和微服务之间的流量正在ISTIO域内加密。但我不想公开ISTIO入口。

因此尝试部署NGINX或HAPROXY入口(使用https证书)并将它们指向ISTIO入口,一切都运行良好。

我现在唯一担心的是NGINX INGRESS(https term)>之间的流量。 ISTIO INGRESS未加密。

通过使用NGINX / HAPROXY入口,Istio获得流量完全加密的常用方法是什么。

我想有一种方法是使用ISEPO进入ISTIO进入HAPROXY tcp模式。没有尝试过,但它应该工作。狂野的想法是在ISTIO mash中运行NGINX ingress但是我会失去一些Istio Ingress功能。

建议的方式或建议是什么。如何将Istio暴露在一些真实的Prod env例子中。

1 个答案:

答案 0 :(得分:0)

由于我不在voyager实例上使用云负载均衡器,但在主机端口上暴露Voyager / Haproxy

我在名为frontend的同一台机器上通过DeamonSet / node-selector(和taints)并置了Voyager(HostPort)和Istio(HostPort)。然后只是指出Voyager用我指定的Istio HostPort端口对loopback / localhost进行负载均衡。

 backendRule:
 - 'server local-istio localhost:30280'

这样,Voyager / Haproxy和Istio Ingress之间的网络没有通过网络,因为它们现在在同一台主机上进行通信。我有2个前端节点,因为我有冗余。但它的即兴和打破kubernetes逻辑。另一方面,它很有效。

其他解决方案是在Istio上使用自签名证书,而不仅仅是将Voyager / Haproxy指向Istio实例。但这需要多次终止,因为Voyager也在终止Https。 Advanteg,你可以将Voyager和Istio实例留给Kubernetes分发。无需将它们绑定到特定的机器上。