需要公开支持AK中SSL终止的TCP端点。
Azure的负载均衡器是第四层均衡器,可以平衡TCP和UDP流量。因此,它不支持SSL卸载。Nginx ingress控制器不支持我们的需求,因为Kubernetes Ingress只支持HTTP和HTTPS服务,我们可以配置Nginx传递tcp,但它不会终止SSL。
我们的解决方案是创建一个sidecar容器,负责SSL终止并将所有内容转发到我们的应用程序,我们选择Envoy,因为它支持TLS终止与第4层通信。
然而,这个解决方案会影响系统性能。在AWS LB控制器用于SSL终止的设置中,性能测试需要40 ms才能完成,在没有Envoy的Azure设置中,它需要相同的时间,但是使用Envoy需要80 ms。我们正在寻找一个更好的解决方案,可以通过TCP暴露端点,并且也可以使用SSL进行安全保护,如果你知道任何更好的解决方案或有任何想法,我会很高兴听到它。
我们正在寻找一个更好的解决方案,可以通过tcp暴露端点,也可以通过ssl安全,如果你知道任何更好的解决方案或有任何想法,我会很高兴听到它。
1条答案
按热度按时间unhi4e5o1#
若要使用Azure Application Gateway在AKS中公开具有SSL终止的TCP终结点,您需要执行以下步骤。
创建AKS群集
字符串
的数据
使用CLI创建应用程序网关
型
或者您也可以通过门户网站
执行此操作
在您的AKS集群中安装AGIC。您可以使用Helm:
型
的
创建一个Ingress资源来公开你的应用。下面是一个简单的Ingress定义:
型
在AKS.
中部署应用程序
'For SSL termination at the Application Gateway:'* 您需要为证书创建一个Kubernetes secret,如下所示
型
下面是如何修改SSL的Ingress:
型
此过程将应用程序网关设置为AKS中的入口控制器,该入口控制器处理SSL终止。
参考文件:MS Doc