我的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和我的初始化文件是几千兆字节,所以任何帮助将不胜感激。
1条答案
按热度按时间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
接近。你可以在这里找到它。