Istio 无法识别 Postgres 流量

问题描述 投票:0回答:1

我正在使用从 istio 服务网格中的 bitnami helm 图表安装的 postgres。我正在尝试从集群外部访问该数据库。当我点击已配置为允许 TCP 流量到达 postgres 的 istio 网关时(使用 go postgres 驱动程序,使用我的 postgres 数据库编辑器进行测试),连接被拒绝。

Postgres 连接没有显示在 istio 网关代理日志中,这表明它们没有被 istio 作为 TCP 读取(因此 istio 没有进行管理)。

如何让 istio 识别此流量并将其发送到我的 postgres 服务?

Istio 正在将 http 流量正确路由到我的其他服务。 Postgres 可以在 Nodeport 或 portforward 上访问,所以我知道它正在运行。

istio 网关

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: my-app-gateway
spec:
  selector:
    istio: ingressgateway
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*"
  - port:
      number: 5432
      name: tcp-postgresql
      protocol: TCP
    hosts:
    - "*"
  - port:
      number: 443
      name: https
      protocol: HTTPS
    tls:
      mode: SIMPLE
      credentialName: my-tls
    hosts:      
    - "*"

postgres 虚拟服务

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: postgres-vs
spec:
  hosts:
  - "*"
  gateways:
  - my-app-gateway
  tcp:
  - match:
    - port: 5432
    route:
    - destination:
        port:
          number: 5432
        host: my-postgresql

Postgres 及其使用的服务是根据 bitnami helm 图表 创建的。我已经验证他们已注入并运行 Istio 代理 sidecar。

我读到Istio 无法为 Postgres 提供 TLS 发起,这是否意味着它根本无法通过 TCP 为 postgres 提供连接?

postgresql istio
1个回答
0
投票

我也面临同样的问题。有没有人解答一下?

© www.soinside.com 2019 - 2024. All rights reserved.