概括
我有一个简单的启用 Istio 的 k8s 集群,仅包含:
- Java 网络服务器。
- Redis 主实例。
通常,Web 服务器可以从 Redis 读取和写入。然而,Kiali 显示了一个类似于 ( https://kiali.io/documentation/latest/faq/#disconnected-tcp ) 的断开连接图。因此,我尝试使用 STRICT 模式显式打开 mTLS。但是,Kiali 似乎继续显示断开连接的图形
设置:
- Kubernetes 版本 1.18.0
- Minikube 版本 1.18.0
- Istio 1.9 版
- 我按照 Istio 的入门页面安装 Istio。
$ istioctl install --set profile=demo -y
$ kubectl apply -f samples/addons
- Java 服务器代码片段 (redis.clients.jedis.Jedis)
Jedis redis = new Jedis("redis-master");
redis.set(key, value);
- mTLS
apiVersion: "security.istio.io/v1beta1"
kind: "PeerAuthentication"
metadata:
name: "default"
spec:
mtls:
mode: STRICT
问题
- 我的理解是,默认情况下,mTLS应该是默认开启的。非 HTTP TCP 流量不是这种情况吗?
- 我需要做些什么来为非 HTTP TCP 流量启用 mTLS 吗?(例如,将Service 上的端口从6379 更改为443?设置一个VirtualService?)。