【问题标题】:Can istio use existing services?istio 可以使用现有的服务吗?
【发布时间】:2018-08-07 09:55:16
【问题描述】:

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

  • 带有自定义仪表板和自定义 dockerfile 的 grafana
  • prometheus-operator 代替基本的 prometheus
  • jaeger 指向 elasticsearch 作为内部存储
  • certmanager 在我自己的命名空间中(我也将它用于 nginx-ingress 遗留路由)

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

【问题讨论】:

    标签: kubernetes istio


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

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

      熟悉此Article,以了解如何在 Istio 中使用不同的监控和流量管理工具。

      【讨论】:

      • 感谢您的回复,但我指出了另一个问题。 Istio 安装了 自己的 组外部服务,例如 prometheus,但我没有找到如何重用现有的方式。假设我已经从官方图表安装了普罗米修斯。它定制的很可爱,符合我的集群愿景 :) 但是,Istio 安装了自己的(自定义?)prometheus 实例和镜像。除非我想将 Istio 的指标用于自己的目的,否则没关系。我必须处理两个 prometheus 实例、它们消耗的资源等。
      • 查看Doc,了解如何在 Istio 中收集指标和日志。
      猜你喜欢
      • 1970-01-01
      • 2020-03-27
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      • 2020-12-23
      相关资源
      最近更新 更多