【问题标题】:how to connect mysql master outside of k8s如何在k8s之外连接mysql master
【发布时间】:2021-03-24 09:52:54
【问题描述】:

https://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/ 部署了一个复制的 MySQL 拓扑。
医生说:
该客户端服务用于连接到任何 MySQL 实例以进行读取。 对于写入,您必须改为连接到主节点:mysql-0.mysql。
我可以连接master:mysql-0.mysql in k8s

但是如何使用DBeaver工具连接到master:mysql-0.mysql 在k8s之外进行写入

为了方便起见,我希望用 DBeaver 操作 mysql。

我可以使用它通过“A-Worker-IP:NodePort”查询数据。如果我用同样的方法创建一个数据库,这个数据库只能在一个节点中看到,而不是在其他 2 个节点(1 个主节点和 2 个从节点)中。

【问题讨论】:

  • 你能从类似的问题中尝试this solution吗?
  • 我在其他机器上使用 Kubernetes 集群。我无法使用localhost 作为连接字符串。

标签: mysql kubernetes dbeaver


【解决方案1】:

我可以使用它通过“A-Worker-IP:NodePort”查询数据。如果我用同样的方法创建一个数据库,这个数据库只能在一个节点中看到,而不是在其他 2 个节点(1 个主节点和 2 个从节点)中。

这是不正确的:由于iptables S/DNAT,即使您使用的是运行服务的节点的 IP,节点端口也会执行 NAT。

可以使用externalTrafficPolicy=Local 禁用此行为。

【讨论】:

    猜你喜欢
    • 2020-07-12
    • 2019-09-27
    • 2021-08-24
    • 1970-01-01
    • 2021-02-20
    • 2019-08-31
    • 1970-01-01
    • 2021-09-16
    • 2010-10-30
    相关资源
    最近更新 更多