【发布时间】:2020-06-11 16:31:58
【问题描述】:
我们已经在裸机服务器上配置了 Kubernetes 集群,使用 v1.15.1 和启用了 mTLS 的 Istio-1.4.0(演示)。 我们的 mysql 服务器位于 Azure VM 上的 K8s 集群之外。 现在,当我们在部署应用程序时注入 istio-proxy 时,我们无法通过 jdbc 连接到 mysql 服务器,并且还尝试了我的 mysql 客户端。但是,当通过重新部署删除 istio-proxy 时,我们能够立即连接而不会出现任何问题。
当通过许多关于 istio 和 mysql 的博客时,尝试删除默认的网格策略,但没有奏效。 istio faq 中的情况是 mysql 在 k8s 集群中注入了 istio。
【问题讨论】:
-
考虑为外部 MySQL 添加一个 ServiceEntry(参见this post here)。
-
嗨,就像@char 提到的使用
ServiceEntry是更简单的解决方案,而不是使mysql连接mTLS友好。但是我建议改用当前的documentation 示例。 2018 年的博客文章可能已经过时。你有什么 istio 版本? -
尝试同时设置
values.global.mtls.auto=true这将仅在可能的情况下使用 mtls -
@char .. 我们尝试使用 ServiceEntry。首先,我们为我们的 mysql 服务器创建了一个服务和端点,并添加了 serviceentry 和 destinationrule (tls disabled)
-
@AnkitSaxena:使用
istioctl manifest apply --set profile=demo \ --set values.global.mtls.auto=true启用所讨论的设置。您是否尝试过仅使用 ServiceEntry、没有 DestinationRule 并在添加所有内容后重新启动 pod?
标签: kubernetes istio