我有一个容器在一个pod中运行,它在不同的端口上运行几个jar。具体来说,它运行的是java应用程序和Artemis服务器。
该应用程序通过rpc与Artemis服务器通信。
一切正常,直到我安装Istio并注入一辆边车。只是想知道是否有人有任何想法Istio如何影响容器/ pod内的通信。
如果您已将sidecar注入Pod或特定名称空间,则意味着到目前为止Istio Envoy proxy将负责流量管理操作,例如拦截嵌套Kubernetes服务的传入和传出调用。因此,根据Istio Architecture方面,微服务之间的通信将受到Istio Control平面的责任。
通常,Istio代表自己的资源用于交通管理。必须使用这些来建立与目标微服务的安全连接:
Istio中有四种流量管理配置资源:VirtualService,DestinationRule,ServiceEntry和Gateway:
- VirtualService定义了控制如何在Istio服务网格中路由服务请求的规则。
- DestinationRule配置在发生VirtualService路由后应用于请求的策略集。
- ServiceEntry通常用于启用对Istio服务网格之外的服务的请求。
- Gateway为HTTP / TCP流量配置负载均衡器,最常见的是在网状网边缘运行,以启用应用程序的入口流量。
我鼓励您通过一些好的Examples了解更多有关Istio网格特征的信息。