跳到主要内容

无法访问不带 sidecar 的 Pod

问题现象

不能从一个带 sidecar proxy 的 pod 访问到 Redis 服务。

问题分析

Redis是一个 Headless 服务,而 istio 1.6 之前的版本对 Headless 服务的处理有问题,会缺省启用 mTLS。

解决方案

在 1.6 之前可以采用DR规则禁用该服务的 mTLS 来规避:

apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
name: mysql-service
namespace: test
spec:
host: redis-service
trafficPolicy:
loadBalancer:
simple: ROUND_ROBIN
tls:
mode: DISABLE

该问题在 isitio 1.6 中已经修复: https://github.com/istio/istio/pull/24319