我仍然围绕着Kubernetes,以及它应该如何运作.目前,我正在努力理解如何像用流复制,向外扩展和自动故障转移/故障恢复PostgreSQL的集群模式(pgpool-II,repmgr,挑选你的毒药).
我对该方法的主要问题是PostgreSQL实例的双重性质,配置方面 - 它是主服务器或冷/热/热备用服务器.如果我增加了副本的数量,我希望它们都能作为备用数据库出现,所以我想要创建一个postgresql-standby独立于postgresql-masterpod 的复制控制器.但是我也希望其中一个备用数据库能够在当前主服务器关闭的情况下成为主服务器,所以它postgresql毕竟是一个常见的复制控制器.
到目前为止,我唯一的想法是将复制配置放在外部卷上,并管理容器外的状态和状态更改.
(在PostgreSQL的情况下,配置可能已经在其data目录中的一个卷上,这本身显然是我想要的卷,但这不是重点)
这是正确的接近,还是有其他更清洁的方式?
我有一个由10个Swarm节点组成的集群,通过docker swarm join命令启动
如果我想将docker实例扩展为15
docker service create --replicas 15
Run Code Online (Sandbox Code Playgroud)
docker swarm如何知道启动容器的位置?
它是循环还是考虑到计算资源(使用了多少cpu/mem)?