如何在 Kubernetes 中传递 .sql 文件?

How to pass .sql file in Kubernetes?

我们想在k8s中部署laravel项目。对于数据库,我们有一个 data.sql 文件。当我们为这个项目创建 docker 图像时,data.sql 很容易像这样传入:

数量:

  - ./data.sql:/docker-entrypoint-initdb.d/data.sql

但在 k8s 中我无法在数据库和 .sql 文件之间建立连接 那么请告诉我,如何在 kubernetes 卷中传递 .sql 文件?

在.sql文件中我们有大量的数据,当我们使用configmap时会报错

"command terminated with exit code 137"

使用ConfigMap存储sql文件。您应该将 ConfigMap 作为卷安装在 pod 中。

考虑到 configmaps 的 1MB 限制,我将启动一个 sidecar,将空目录中的这个 sql 文件拉到数据库的主容器中。当然 git 方法已被弃用,但这应该有所帮助: