初始化部署在aws eks中的mysql数据库

pw136qt2  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(382)

我的aws eks集群中有一个运行的podmysql:5.7. 我有一个sql文件,它初始化并填充它的数据。在普通docker compose中,我将在docker compose文件中为其使用装入点:

volumes:
  - ./<path-to-my-config-directory>:/etc/mysql/conf.d
  - ./<path-to-my-persistence-directory>:/var/lib/mysql
  - ./<path-to-my-init.sql>:/docker-entrypoint-initdb.d/init.sql

在eks中,我可以创建一个存储类来保存mysql数据。
如何使用init.sql文件(约8gb)初始化eks集群中运行的mysql pods?
更新:如果您有一个小的init文件或者可以访问kubernetes主机,那么还有一个问题可以解释如何做到这一点:在kubernetes上创建mysql容器时如何初始化?
在我的情况下,虽然,我在aws eks和我的初始化文件是几千兆字节,所以任何帮助将不胜感激。

yb3bgrhw

yb3bgrhw1#

在Kubernetes也很容易。你可以这样做,
把你的 init.sql 文件到kubernetes卷中。
将此卷装入 /docker-entrypoint-initdb.d mysql pod的目录。
这里是一个样例yaml文件:mysql-init-demo.yaml
你也可以使用 init-container 下载 init.sql 文件到一个kubernetes卷中 /docker-entrypoint-initdb.d mysql容器的目录。
upd:正如您在update中指定的那样,您所引用的解决方案将不适用于您。我想 init-container 这种方法最适合你。以下是您可以做的:
创建一个pvc。让它的名字是 init-script .
现在,添加一个 init-container 到你的mysql播客。装上这个 init-script 在这个目录的某个地方 init-container . 配置您的 init-container 这样它就可以下载你的 init.sql 此目录中的文件。
安装 init-script 在mysql容器中 /docker-entrypoint-initdb.d 如果您需要任何样品,请告诉我 init-container 接近。
upd-2:我已经添加了一个 init-container 接近。你可以在这里找到它。

相关问题