[英]Kubernetes MySQL replication - Master service host inquiry
我目前在Kubernetes集群上设置了具有异步复制功能的可工作的MySQL主服务器和从服务器。
我正在尝试计划一个紧急情况,如果主机崩溃了,从机将接走松弛,而其他情况则不会。 我认为第一步是检查Dockerfile和在Dockerfile中定义ENTRYPOINT
的脚本。
当我kubectl get svc
,这就是我获得的有关服务的信息。
这告诉我在群集上,主服务器具有IP 10.0.156.209
。
现在,当我docker-entrypoint.sh
MySQL 奴隶 Docker映像的帮助脚本docker-entrypoint.sh
,我注意到这一行有助于设置主从场景(我将其剪裁以突出显示这一点)
当我启动到Kubernetes上的slave pod时,环境变量$MYSQL_MASTER_SERVICE_HOST
设置为10.0.156.209
我的问题: MySQL从属容器如何知道使用主服务器的群集IP作为$MYSQL_MASTER_SERVICE_HOST
的值? 这是Kubernetes还是SQL?
谢谢 :)
这些环境变量由Kubernetes为每个服务自动创建。 请参阅: https : //kubernetes.io/docs/concepts/services-networking/connect-applications-service/#environment-variables
当Pod在节点上运行时,kubelet为每个活动的Service添加一组环境变量。
另外,Kubernetes上的mysql是一个复杂的话题。 您可能不想推出自己的解决方案。 您看过Vitess吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.