我有Istio Ingress,它正在处理进入微服务的流量,微服务之间的流量在ISTiO域中被加密。但是我不想把ISTIO入口暴露给公众。
所以尝试部署NGINX或HAPROXY入口(使用https证书),并将它们指向ISTIO入口,一切都很好。
我现在唯一担心的是NGINX入口(https术语)> ISTIO入口之间的流量没有加密。
在Istio上,使用NGINX/HAPROXY入口进行流量完全加密的通常方式是什么?
我猜一种方法是HAPROXY tcp模式到ISTIO入口,并在Istio入口上使用证书。我还没试过,但应该可以用。野心勃勃的想法是在ISTIO mash中运行NGINX入口,但这样我就会失去一些Istio ingress功能。
推荐的方式或建议是什么?在一些真实的Prod环境示例中,Istio通常是如何暴露的。
发布于 2017-11-20 21:38:34
因为我不在voyager实例上使用负载均衡器,而是在Host-Port上公开Voyager/Haproxy
我通过DeamonSet/node-selector(和污点)将Voyager(HostPort)和Istio(HostPort)配置在同一台称为前端的机器上。然后让航海家用我指定的Istio HostPort端口对环回/本地主机进行负载均衡。
backendRule:
- 'server local-istio localhost:30280'这样,Voyager/Haproxy和Istio Ingress之间就不会有未加密的流量流经网络,因为它们现在在同一主机上通信。我有2个前端节点,它们正在进行负载均衡,所以我有冗余。但这是一种即兴创作,打破了库伯内斯的逻辑。另一方面,它工作得很好。
其他解决方案是在Istio上使用自签名证书,而不仅仅是将Voyager/Haproxy指向Istio实例。但这需要多次终止,因为Voyager也会终止Https。改进之处在于,您可以将Voyager和Istio实例留给Kubernetes分发。不需要将它们绑定到特定的机器。
https://stackoverflow.com/questions/47319185
复制相似问题