Как выполнить сценарии для импорта CSV-файлов внутри Postgres, развернутого в кластере Kubernetes? - PullRequest
0 голосов
/ 15 января 2019

Я пытаюсь развернуть Postgres в моем кластере Kubernetes, и мне это удалось, но я не знаю, как мне импортировать мои данные в формате csv. У меня уже есть сценарии, которые получают путь к данным и создают базу данных в локальном экземпляре postgres, но когда я развертываю postgres в кластере Kubernetes, эти сценарии не будут работать, потому что я не вижу эти сценарии в модуле.

Я искал решение для выполнения сценариев с хоста внутрь модуля, или я могу открыть каталог сценариев и данных для модуля postgres. Я нашел решение hostpath, но я не знаю, как определить несколько томов для развертывания. (Я использую кластер Rook для предоставления тома) Может быть, это способ определить том hostpath вместе с томом Rook, чтобы у меня был доступ к сценариям и файлам csv внутри hostpath, а затем создать базу данных внутри тома Rook. Я не знаю, в этом есть смысл, но я был бы признателен, если бы кто-нибудь помог мне с этим.

1 Ответ

0 голосов
/ 16 января 2019

Если вы используете официальный образ докера или изображение, которое получено из него, но не разрушило его точку входа, то у них есть документация о /docker-entrypoint-initdb.d/*.sql, с тл; др как

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
    # ...

тип сделки

...