【问题标题】:How to connect between one service sidecar in Istio with NATS cluster如何在 Istio 中的一个服务边车与 NATS 集群之间连接
【发布时间】:2020-02-08 16:51:51
【问题描述】:

我创建了一个没有注入到 Istio 的 NATS 集群。

apiVersion: nats.io/v1alpha2
kind: NatsCluster
metadata:
  name: nats
spec:
  size: 2
pod:
  annotations:
    sidecar.istio.io/inject: "false"
version: "2.0.0"

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

【问题讨论】:

    标签: istio nats.io nats-streaming-server


    【解决方案1】:

    对于 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 的 pod 和 nats 流式注入 sidecar。 并且 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-29
      • 2018-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-21
      • 2019-11-04
      相关资源
      最近更新 更多