Вы должны смонтировать файл SQL как файл из конфигурации и использовать psql
cli для выполнения команд из смонтированного файла.
Для выполнения комманд из файла вы можете изменить параметр команды наyaml следующим образом:
psql -a -f sqlCommand.sql
Конфигурационную карту необходимо создать, используя файл, который вы притворяетесь смонтировать для получения более подробной информации здесь
kubectl create configmap sqlCommands.sql --from-file=sqlCommands.sql
Затем необходимо добавитьconfigmap и оператор mount в yaml вашего задания и измените команду для использования смонтированного файла.
apiVersion: batch/v1
kind: Job
metadata:
name: init-db
spec:
template:
metadata:
name: init-db
labels:
app: init-postgresdb
spec:
containers:
- image: "docker.io/bitnami/postgresql:11.5.0-debian-9-r60"
name: init-db
command: [ "bin/sh", "-c", "psql -a -f /sqlCommand.sql" ]
volumeMounts:
- name: sqlCommand
mountPath: /sqlCommand.sql
env:
- name: DB_HOST
value: "knotted-iguana-postgresql"
- name: DB_DATABASE
value: "postgres"
volumes:
- name: sqlCommand
configMap:
# Provide the name of the ConfigMap containing the files you want
# to add to the container
name: sqlCommand.sql
restartPolicy: OnFailure