我有一个场景,在单个kubernetes集群中,多个mysql服务器在不同的名称空间中运行。所有mysql服务器都属于不同的部门。
我的要求是我应该能够使用主机名连接到不同的mysql服务器,即,
在mysqlServerA命名空间中运行的ServerA应该可以通过以下方法从集群外部访问:
mysql -h mysqlServerA.mydomain.com -A
在mysqlServerB命名空间中运行的ServerB应该可以通过以下方法从集群外部访问:
mysql -h mysqlServerB.mydomain.com -A
诸若此类。
我尝试过使用Nginx Ingress控制器的配置
我们使用HAProxy (1.5)将mysql代理到4个Galera节点。我们使用roundrobin,对高可用性和负载平衡有很好的效果。
见/etc/haproxy/haproxy.cfg
global
user haproxy
group haproxy
defaults
mode http
log global
retries 2
timeout connect 3000ms
timeout server 10h
timeout client 10h
listen stats
bind *:8404
stat
MySQL有许多不同的高度可用的解决方案,我想知道所有当前实现之间的区别是什么,下面是最新的实现:
MySQL组复制(由Oracle)
MySQL NDB集群(由Oracle编写)
Galera集群(加雷拉)
XtraDB集群( Percona)
MySQL Fabric集群(由Oracle编写)
MySQL Orchestrator (吉特布)
对于具有自动故障转移的高可用设置,建议的选项(或任何其他选项)是什么?(对于与具有同步复制的Server镜像等效的内容)