在Istio(服务到服务的通信)中,需要Kubernetes服务进行设置吗?

时间:2020-03-14 16:31:22

标签: kubernetes istio

你好,我是Istio的新手,目前正在学习Istio。

据我了解,Envoy代理将解析目标的IP地址,而不是Kube DNS服务器。 Envoy会根据从控制面板收到的信息将流量直接发送到健康的pod。

所以...如果我使用的是Istio,是否需要Kubernetes service进行设置?

如果我错了,请纠正我。

谢谢!

1 个答案:

答案 0 :(得分:2)

docs

为了在网状网络内引导流量,Istio需要知道哪里 您所有的端点,以及它们属于哪些服务。填充 Istio自己的服务注册表连接到服务发现 系统。例如,如果您在Kubernetes上安装了Istio 群集,然后Istio自动检测服务和端点 在那个集群中。

因此istio需要Kubernetes服务才能实现服务发现,即知道POD IP。但是kubernetes服务(L4)不能用于负载平衡和路由通信,因为L7使节代理在istio中做到了。

来自docs

一个Pod必须至少属于一个Kubernetes服务 不公开任何端口。如果一个Pod属于多个Kubernetes 服务,这些服务不能将相同的端口号用于不同的服务 协议,例如HTTP和TCP。