我想启动两个具有相同持久存储的 maria-db pod,并且我应该能够访问实例的任何时间点和它们之间的数据应该是同步的。
我正在尝试在 kubernetes 中使用相同的卷持久存储启动两个 mariadb 实例。我能够启动这两个实例。我正在执行以下步骤。
- 创建持久卷
- 创建持久卷声明
- 使用相同的声明名称从 mariadb-instance-1 开始。
- 使用相同的存储声明名称启动 mariadb-instance-2。
- 为两个实例创建两个服务以从外部访问。
我可以访问 instance-1,但是当我尝试访问 instance-2 时出现错误。 MySQL 错误:无法通过套接字“/var/run/mysqld/mysqld.sock”连接到本地 MySQL 服务器。
请找到附件中的 dockerfiles。
我们将不胜感激。
请在下面找到我用于创建部署的数据库和存储 yaml 文件的 git 存储库。
最佳答案
您不能在同一个存储上运行两个 MariaDB 引擎,如果我没理解错的话,这就是您所期望的。即使您将 RWX 卷挂载在两个 pod 上,如果您将容器的/var/lib/mysql 放在同一个位置的两个单独的 MaraiaDB pod 中,也会导致数据库引擎之间发生冲突。对于 MariaDB 集群查找 MariaDB Galera
- MariaDB 的几乎完全同步的复制。但是您需要运行三个数据库引擎才能使它有意义。
关于mysql - 两个 mariadb 实例在 docker 中使用相同的持久存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49361811/