kubernetes有状态的连接

时间:2017-01-05 05:57:55

标签: java mysql docker kubernetes google-kubernetes-engine

我开始体验状态设置,我在kubernetes网站上关注此链接

http://kubernetes.io/docs/tutorials/stateful-application/run-replicated-stateful-application/

如何将我的java应用程序连接到mysql数据库statefulset(它们都在同一个kubernetes集群节点和namesapce中)?我应该连接什么服务?我应该使用哪个地址? 我试过mysql-read.default.svc.cluster.local:3306没用!!! //

2 个答案:

答案 0 :(得分:2)

这个问题被交叉发布到the Vitess mailing list并在那里得到了解决。事实证明这是因为用户修改了教程设置以为mysql-read用户添加密码。因此,预期无密码登录工作的准备情况探测失败,并且install_name_tool服务没有有效的端点。

答案 1 :(得分:1)

您需要更改以下服务,

StatefulSet成员的稳定DNS条目的无头服务。

apiVersion:v1 亲切:服务 元数据:   名称:mysql   标签:     app:mysql 规格:   端口:    - 名称:mysql     港口:3306   选择:     app:mysql

类型:LoadBalancer

用于连接任何MySQL实例以进行读取的客户端服务。

对于写入,您必须连接到master:mysql-0.mysql。

apiVersion:v1 亲切:服务 元数据:   name:mysql-read   标签:     app:mysql 规格:   端口:    - 名称:mysql     港口:3306   选择:     app:mysql   类型:LoadBalancer

因此,您将使用外部IP连接您的mysql主/从

在命令提示符下:mysql -uroot -h30.12.11.21 -P3306(用你的loadbalancer ip替换主机)