【问题标题】:Istio breaks MySQL connectionIstio 断开 MySQL 连接
【发布时间】:2018-11-16 02:49:47
【问题描述】:

我有一个在常规 K8s 上部署时运行良好的应用程序。我在 K8s 上安装了 Istio 以及我的应用程序。我配置了网关和虚拟服务。除了与 MySQL 的内部连接外,大多数事情似乎都可以正常工作。

有一些服务使用 MySQL,它们无法再使用 Istio 连接到数据库。

知道是什么坏了?我猜这与自动注入的 sidecar 代理混淆流量有关。我是 Istio 的新手,有些地方的文档有点稀缺。我需要为 MySQL 配置任何特殊的东西吗?有趣的是,对 MongoDB 和 Redis 的调用似乎正在发挥作用。困惑:-(

【问题讨论】:

  • 您能否详细说明 MySQL 连接到底出了什么问题?您遇到了什么样的异常/错误?
  • 我有一个 PHP 和一个 Java 服务应该连接到 MySQL,他们都报告说他们无法连接。连接被拒绝,他们只是看不到数据库。我已经检查并且 MySQL 正在运行,我可以从容器内的 shell 连接到它。
  • @SteveWW 嘿! MySql 也不能与我的 Istio (1.5) 一起使用......你找到修复了吗?
  • 看起来这是 Istio 的一个错误,请参阅下面的答案。目前我没有将 Istio 与 MySQL 一起使用。

标签: kubernetes istio


【解决方案1】:

istio 1.0.3 中有多个错误阻止了这一点。一个是名称中的 /,开发人员似乎并不认为这有什么大不了的,但是当他们在名称中使用斜杠时会破坏所有状态集。解决此问题后,您可以启动有状态的 mysql,但连接是 fubar,它连接但立即给出MySQL has gone away。较新的 1.1 版本看起来同样糟糕。我认为 1.0.2 是 Istio 的最后一个“工作”版本,但仍有一些重大问题让我尝试更新版本。

您可以在此处找到 istio.yaml 更改:https://github.com/istio/istio/issues/9982

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 2018-10-23
    • 2015-10-25
    • 2016-09-03
    相关资源
    最近更新 更多