我刚刚阅读了istio 1.0.0的文档,尤其是它的概念。我想了解一件事,尤其是的存在DestinationRule。因此,在使用Istio之前,暴露容器的唯一方法是通过Kubernetes的Service对象。现在,使用Istio,有DestinationRule和VirtualService。
我知道在Kubernetes的服务中,我们可以定义应该service路由流量的pod的标签。在istio,我们也能够做到这一点使用DestionationRule的spec.subsets.label领域。如果我们Service和DestinationRule对象在同一个命名空间中,会发生什么?是否彼此冲突?
他们互相补充。您仍然必须定义Kubernetes服务,但是Istio DestinationRules将允许您通过标签来优化该服务中的“子集”,然后在VirtualService对象中使用的子集之间智能地路由流量。您仍然可以将Kubernetes服务视为全局入口点,但是Istio将允许您声明可能指向不同部署的“版本”,从而进一步推进路由。
请参阅istio docs(https://istio.io/docs/reference/config/networking/virtual-service/)中的VirtualService定义如何与中声明的子集相关DestinationRules。
您在子集中看到的标签必须与在部署/吊舱中设置的标签匹配。
| 归档时间: |
|
| 查看次数: |
801 次 |
| 最近记录: |