首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用NATS集群连接Istio中的一个服务sidecar

如何使用NATS集群连接Istio中的一个服务sidecar
EN

Stack Overflow用户
提问于 2019-10-11 15:45:47
回答 1查看 642关注 0票数 0

我在没有注入到Istio的情况下创建了NATS集群。

代码语言:javascript
复制
apiVersion: nats.io/v1alpha2
kind: NatsCluster
metadata:
  name: nats
spec:
  size: 2
pod:
  annotations:
    sidecar.istio.io/inject: "false"
version: "2.0.0"

现在我有一个侧面的istio,连接到上面的Nats集群,但似乎是切断了连接。我的nats客户端在应用程序上关闭,并且Nats服务器注意到:“客户端解析器错误,state=0 ...”原因是在nats集群和sidecar之间没有mtls吗?我如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2020-03-13 14:33:28

对于istio 1.8

nats和nats流ymal可以在

https://github.com/nats-io/nats-operator

https://github.com/nats-io/nats-streaming-operator

如果您不是通过kubernetes集群外部的节点端口连接。您只需使用默认的istio设置并为nats注入sidecar即可。它起作用了。但是如果您想通过节点端口从外部连接nats。您需要禁用mtls。我的设置是默认mtls、nats的pods和nats inject sidecar。nats只接受明文流量,nats只发送明文流量。

添加以下对等身份验证:

代码语言:javascript
复制
    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

添加以下目标规则:

代码语言:javascript
复制
    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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58336530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档