我正试图在我的Kubernetes集群上部署Postgres,我已经成功地做到了这一点,但我不知道如何导入csv格式的数据。我已经有了获取数据路径并在postgres的本地实例中创建数据库的脚本,但当我在Kubernetes集群上部署postgres时,这些脚本将无法工作,因为我在pod中看不到这些脚本。
我一直在寻找一种解决方案,从主机到pod内部执行脚本,或者我可以将脚本和数据的目录公开给postgres pod。我已经找到了主机路径解决方案,但我不知道如何为部署定义多个卷。(我正在使用Rook集群来配置卷)也许有一种方法可以在Rook卷旁边定义一个主机路径卷,这样我就可以访问主机路径中的脚本和csv文件,然后在Room卷中创建数据库。我不知道这有什么道理,但如果有人帮我,我会很感激。
如果您使用的是官方docker映像,或者是从它派生但没有破坏其入口点的映像,那么他们有关于/docker-entrypoint-initdb.d/*.sql
的文档,带有tl;dr作为
kind: ConfigMap
spec:
import_csv.sql: |
COPY my_table FROM '/whatever/path/you/want.csv' FORMAT csv /* etc */
---
kind: Pod
spec:
containers:
- volumeMounts:
- name: my-initdb-configmap
mountPath: /docker-entrypoint-initdb.d
readOnly: true
# ...
类型交易