kubernetes安装Istio服务及其使用问题

幸福回忆 发表于: 2019-09-16   最后更新时间: 2019-11-16 13:06:42   2,561 游览

我使用helm安装了Istio:

helm template --set kiali.enabled=true --set tracing.enabled=true --set pilot.traceSampling=100 --set grafana.enabled=true --set sidecarInjectorWebhook.enabled=true install/kubernetes/helm/istio --name istio --namespace istio-system > istio.yaml

当我在istio-system命名空间下检查运行的服务时,我看到多个服务。

jaeger-agent             ClusterIP      None      <none>     5775/UDP,6831/UDP,6832/UDP                                                                         
jaeger-collector         ClusterIP      10.100.66.107    <none>  14267/TCP,14268/TCP
tracing                  ClusterIP      10.100.81.123    <none>   80/TCP                                                                                       
zipkin                   ClusterIP      10.100.64.9      <none>   9411/TCP

由于Jaeger是默认设置,我只知道jaeger-collector。目前我不清楚jaeger-agent,tracing和zipkin的作用是什么?

发表于 2019-09-16

之前说过(你可能也知道),Kubernetes Service不是一段代码中的“服务”。这是Kubernetes组件和部署通过始终保持不变的接口相互通信的一种方式,无论有多少个pod或服务器。

当Istio部署它的跟踪机制时,它以模块化部署,以便可以独立部署它们,并且还可以独立扩展它们,就像微服务一样。

  • jaeger-agent - 这是将从你的节点上收集所有流量和跟踪的组件。

  • jaeger-collector - 这是所有jaeger-agent将推送他们在节点上收集的日志和跟踪的地方,并且收集器将聚合这些,因为跟踪可能跨越多个节点。

  • tracing - 将跟踪ID注入网络流量以供代理监听的组件。

  • zipkin - 用于跟踪调试或重放请求等的UI。

跟我们分别部署mysql和容器的方式相同,Kubernetes将其部署组件分为一组deployment或pod。

幸福回忆 -> 半兽人 5年前

感谢回复,补充一些我刚才找到的。
tracing与jaeger-query是相同的,解释可以在这里:
https://github.com/jaegertracing/jaeger-kubernetes#jaeger-components

它基本上是Jaeger的UI(您可以在其上创建 ingress/port-forward,可以在Jaeger UI上查看)。它在Istio helm charts已被重命名为tracing了。

你的答案

查看istio相关的其他问题或提一个您自己的问题