【发布时间】:2023-01-11 23:58:36
【问题描述】:
我试图理解 Istio 配置模型,但我读得越多就越感到困惑,尤其是在 hosts 和 host 字段周围。在他们的示例中,他们都使用相同的短名称,我不确定他们是指虚拟服务名称、Kubernetes 服务主机名还是dns 服务地址。
假设我有以下配置:
- 我的 Kubernetees 项目命名空间称为
poc-my-ns - 在
poc-my-ns内,我有我的 pod(版本 1 和 2)Kubernetes路由和Kubernetes服务。 - 服务主机名是:
poc-my-ns.svc.cluster.local,路由是https://poc-my-ns.orgdevcloudapps911.myorg.org。 - 一切都已启动并正在运行,服务选择器从所有版本中获取所有 pod。 (
Istio虚拟服务假设按版本进行最终选择)。
预期的 Istio 配置如下所示:
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: poc-my-dr
spec:
host: poc-my-ns.svc.cluster.local # ???
subsets:
- name: v1
labels:
version: 1.0
- name: v2
labels:
version: 2.0
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: poc-my-vs
spec:
hosts:
- poc-my-ns.svc.cluster.local # ???
http:
- route:
- destination:
host: poc-my-dr # ???
subset: v1
weight: 70
- destination:
host: poc-my-dr # ???
subset: v2
weight: 30
我的问题是:
- 目标规则
spec/host是否引用Kubernetes服务主机名? - 虚拟服务
spec/hosts是指Kubernetes服务主机名,是路由https://poc-my-ns.orgdevcloudapps911.myorg.org还是别的? - 虚拟服务
spec/http/route/destination/host是指目标规则名称还是它应该指向Kubernetes服务主机名或者它应该是虚拟服务metadata/name?我真的很感激澄清。
【问题讨论】:
标签: istio