想象一下以下情况:服务网格内部的应用程序A和应用程序B是应用程序A的外部服务。应用A应该向应用B发送一个TCP请求。
在简单的情况下,我们用ServiceEntry
和hosts
设置了一个resolution: DNS
,效果很好。
但是在连接出口网关时如何路由请求? Istio网站上的教程说要应用ServiceEntry,DestinationRule,Gateway,VirtualService配置。我认为请求路径如下:
appA -> Mesh Gateway -> VirtualService -> Egress Gateway -> VirtualService -> ServiceEntry -> appB
在此过程中使用DestinationRule的原因为何?
在我的情况下,应用程序B的角色由一堆kafka经纪人执行。因此,我需要使用SSL配置与所有代理的TCP连接。我拥有代理的所有主机,配置与代理的连接的正确方法是什么?我尝试对所有主机使用一个ServiceEntry,但错误为"multiple hosts provided with non-HTTP,non-TLS ports"
。
这是否意味着我需要1)为每个主机创建一个ServiceEntry,或2)直接指定主机的IP地址?