对于 istio 1.8
nats 和 nats 流媒体 ymal 可以在
https://github.com/nats-io/nats-operator
https://github.com/nats-io/nats-streaming-operator
如果您不通过 kubernetes 集群外部的节点端口进行连接。您只需使用默认的 istio 设置并为 nats pod 注入 sidecar。有用。但是如果你想从外部通过节点端口连接 nats。您需要禁用 mtls。我的设置是默认的 mtls,nats 和 nats 流注入边车的 pod。并且 nats 只接受纯文本的流量,而 nats 只发送纯文本的流量。
添加以下对等身份验证:
apiVersion: "security.istio.io/v1beta1"
kind: "PeerAuthentication"
metadata:
name: "nats"
spec:
selector:
matchLabels:
app: nats
mtls:
mode: DISABLE
---
apiVersion: "security.istio.io/v1beta1"
kind: "PeerAuthentication"
metadata:
name: "nats-streaming"
spec:
selector:
matchLabels:
app: nats-streaming
mtls:
mode: DISABLE
添加以下目标规则:
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: nats
spec:
host: "nats-server.acm.svc.cluster.local"
trafficPolicy:
tls:
mode: DISABLE
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: nats-server-nodeport
spec:
host: "nats-server-nodeport.acm.svc.cluster.local"
trafficPolicy:
tls:
mode: DISABLE
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: nats-server-mgmt
spec:
host: "nats-server-mgmt.acm.svc.cluster.local"
trafficPolicy:
tls:
mode: DISABLE