【发布时间】:2019-08-01 14:01:42
【问题描述】:
当尝试将 Postgresql 数据源(在服务网格内运行/带有 sidecar)添加到 Grafana(在服务网格外部运行/不带 sidecar)时,无法建立连接,但它能够翻译完全限定的域名({app}.{namespace}.svc.cluster.local) 到服务的正确 IP 地址中。
我尝试通过 exec-ing in 从 Postgres pod ping grafana pod,虽然超时但正确地将 FQDN 转换为 IP 地址。
Postgres 日志不显示任何错误或连接尝试,grafana 日志在尝试在 grafana 仪表板中“保存并测试”数据源时显示 500 错误。
预期的行为是成功连接到数据源,我是否必须配置某个 istio 对象以使服务外网格仪表板/pod 能够访问服务网格数据源/pod。
【问题讨论】:
-
也许您正在使用 Istio 和双向 TLS 身份验证?如果是这样,您将无法访问网格之外的 Postgresql 实例。
-
你说得对,我们目前正在使用双向 TLS 身份验证,我们的另一个选择是将 postgres 实例移到服务网格之外,但如果是这样,对于我们的应用程序 pod 如何与是吗?
-
我认为 Istio 正在正确处理服务网格之外的服务,以检查您是否可以连接到 PostgreSQL pod 并尝试通过 HTTP 获取内容,我一切正常,您可以安全地从中删除 PostgreSQL服务网格。
标签: postgresql kubernetes datasource grafana istio