【问题标题】:Istio - weighted routing for TLS routesIstio - TLS 路由的加权路由
【发布时间】:2020-07-12 23:08:44
【问题描述】:

我们有两个微服务 A 和 B。A 通过 istio-proxy side car 调用 B。

我们创建了一个虚拟服务。 yaml请看下面

创建虚拟服务后,当我们使用istioctl proxy-config routes a-75768cc7bc-ghzsr -o json这个命令检查 pod A 中的路由时,我们看不到加权路由

如果我们将 tls 替换为 http,则会添加加权路由。我们可以使用带 tls 的加权路由吗?

apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: b
  namespace: default  
spec:
  hosts:
  - b
  tls:
  - match:
    - port: 443
    route:
    - destination:
        host: b
        subset: v1
      weight: 50
    - destination:
        host: b
        subset: v2
      weight: 50

添加服务定义

apiVersion: v1
kind: Service
metadata:          
 labels:        
  svc: b
 name: b
 namespace: default      
spec:
  clusterIP: x.x.x.x
  ports:
  - name: https-b
    port: 443
    protocol: TCP
    targetPort: 8080
  selector:
    svc: b
  sessionAffinity: None
  type: ClusterIP
status:
  loadBalancer: {}

添加目标规则,

apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:  
  name: b
  namespace: default
spec:
  host: b
  subsets:
  - labels:
      version: v1
    name: v1
  - labels:
      version: v2
    name: v2

【问题讨论】:

    标签: kubernetes istio


    【解决方案1】:

    服务定义的端口名称是否可能为http-service-a

    VirtualService documentation,HTTP 和 TLS 有不同的规范。

    http

    HTTP 路由将应用于名为 'http-'/'http2-'/'grpc-*' 的平台服务端口、协议 HTTP/HTTP2/GRPC/ TLS-terminated-HTTPS 的网关端口和使用 HTTP 的服务入口端口/HTTP2/GRPC 协议。

    tls

    TLS 路由将应用于名为“https-”、“tls-”的平台服务端口、使用 HTTPS/TLS 协议(即使用“直通”TLS 模式)的未终止网关端口和使用 HTTPS/TLS 协议的服务入口端口。

    鉴于上述差异,它可以解释不同的行为。

    您使用的是哪个版本的 Istio?也可以看看 K8s 的定义。

    【讨论】:

    • Istio 版本为 1.6.1。我已编辑问题以添加服务定义
    • 对不起,我误解了这里涉及的服务,有问题的服务定义应该是B,因为那是目的地。另外,你有 DestinationRules 吗?
    • 编辑问题以添加目标规则。
    • 对不起,我现在不太确定,但您似乎没有配置来指示 TLS 设置。您是否尝试过添加一些traffic policy and client TLS settings?您在集群中需要哪种 TLS 路由,是基于 Isito 的 mTLS,还是其他一些自定义设置?您还可以通过运行istioctl analyze -A 找到更多详细信息
    猜你喜欢
    • 2018-10-23
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 2020-04-02
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多