【问题标题】:The difference between Istio's `DestinationRule` vs Kubernetes `Service`?Istio 的 `DestinationRule` 与 Kubernetes `Service` 的区别?
【发布时间】:2019-01-14 03:21:01
【问题描述】:

我刚刚阅读了 istio 1.0.0 的文档,尤其是它的概念。我想了解一件事,尤其是DestinationRule 的存在。因此,在使用 Istio 之前,暴露 pod 的唯一方法是通过 Kubernetes 的 Service 对象。现在,使用 Istio,有 DestinationRuleVirtualService

据我了解,在 Kubernetes 的服务中,我们可以定义 service 路由流量的 pod 的标签。在 istio 中,我们也可以通过使用 DestionationRulespec.subsets.label 字段来做到这一点。如果我们在同一个命名空间中有ServiceDestinationRule 对象会发生什么?会不会互相冲突?

【问题讨论】:

    标签: kubernetes istio


    【解决方案1】:

    它们相互补充。您仍然需要定义 Kubernetes 服务,但 Istio DestinationRules 将允许您通过标签细化该服务中的“子集”,然后在 VirtualService 对象中使用的子集之间智能地路由流量。您仍然可以将 Kubernetes 服务视为全局入口点,但 Istio 将通过让您声明可能指向不同部署的“版本”来进一步路由。

    在 istio 文档 (https://istio.io/docs/reference/config/networking/virtual-service/) 中查看 VirtualService 定义与 DestinationRules 中声明的子集的关系。

    您可以在子集中看到的标签必须与您的部署/pod 上设置的标签相匹配。

    猜你喜欢
    • 2023-03-26
    • 2019-05-13
    • 2018-07-03
    • 2018-10-03
    • 2021-02-02
    • 2020-08-09
    • 2020-10-30
    • 2019-01-17
    • 1970-01-01
    相关资源
    最近更新 更多