istio 可以使用现有的服务吗?

Can istio use existing services?

我的 k8s 集群中已经有一些服务,想单独维护它们。示例:

是否可以使用现有实例而不是创建特定于 istio 的实例? istio 可以与他们通信还是硬编码?

Kubernetes 开箱即用地提供了种类繁多的网络和负载平衡功能。然而,简化和扩展 Istio sidecars 功能的想法是一个不错的选择,因为它们用于自动注入 Pods 以代理内部 Kubernetes 服务之间的流量。

您可以手动或自动实施 sidecars。如果选择手动方式,请确保在 Pod 的注释字段下添加适当的参数:

annotations:
        sidecar.istio.io/inject: "true"

自动 sidecar 注入需要 Mutating Webhook admission controller,自 Kubernetes 版本 1.9 发布后可用,因此 sidecars 也可以集成到 Pod 的创建过程中。

让自己熟悉这个 Article 以阐明在 Istio 中使用不同的监控和流量管理工具。

是 - 可以通过 istio 使用外部服务。您可以通过在 istio helm chart 的 values.yaml 中设置适当的标志(grafana.enabled=false 等)来禁用 grafana 和 prometheus。 您可以检查 kyma-project 项目以了解 istio 如何与 prometheus-operator 集成、使用自定义仪表板进行 grafana 部署以及自定义 jaeger 部署。从您的列表中只缺少 certmanager。