Доступ к /docker-entrypoint-initdb.d из рулевой диаграммы - PullRequest
1 голос
/ 17 апреля 2019

Я пытаюсь инициализировать свежий экземпляр Mariadb (поместив мой файл .sql в /docker-entrypoint-initdb.d), используя официальную диаграмму руля на https://github.com/helm/charts/tree/master/stable/mariadb#initialize-a-fresh-instance.

Но я нахожу инструкции довольно неясными. «Для выполнения сценариев они должны находиться внутри папки с файлами схемы / docker-entrypoint-initdb.d, чтобы их можно было использовать как ConfigMap.»

Поскольку единственное, что я делаю для настройки кластера Mariadb, это использование их helm install --name my-release stable/mariadb -f values-production.yaml, то я в замешательстве.

Где эта папка?


Изменить:

Я скачал https://github.com/helm/charts/tree/master/stable/mariadb и поместил (всю папку) и поместил свой файл sql в files/docker-entrypoint-initdb.d.

Затем я использовал helm package ./mariadb, затем helm install ./mariadb -f ./mariadb/values-production.yaml. Но основной модуль имеет статус CrashLoopBackOff.

Вот основные журналы

==> ** Starting MariaDB setup **
==> Validating settings in MYSQL_*/MARIADB_* env vars..
==> Initializing mariadb database...
==> Persisted data detected. Restoring...
==> Loading user's custom files from /docker-entrypoint-initdb.d ...
==> Stopping mariadb...

Я тоже так пробовал, но БД продолжает падать

kubectl create configmap db-scheme --from-file=db.sql
helm install --name db-test stable/mariadb -f .values-production.yml --set rootUser.password=ROOT_PASSWORD --set replication.password=REPLICATION_PASSWORD --set initdbScriptsConfigMap=db-scheme

Вот журналы:

image


Edit2:

Я создал папку с именем files/docker-entrypoint-initdb.d

Мой текущий каталог . ├── values-production.yml │ ├── files │ └── docker-entrypoint-initdb.d │ └── db.sql И запустить эту команду из текущего каталога

helm install --name test stable/mariadb -f .\values-production.yml --set rootUser.password=ROOT_PASSWORD --set replication.password=REPLICATION_PASSWORD

Мариадб загружается, но без моих таблиц sql.

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Моя проблема сложнее, чем кажется: https://github.com/bitnami/bitnami-docker-mariadb/issues/182

Что-то особенное, создание configmap действительно работает:

kubectl create configmap db-scheme --from-file=db.sql

helm install --name db-test stable/mariadb -f .values-production.yml --set rootUser.password=ROOT_PASSWORD --set replication.password=REPLICATION_PASSWORD --set initdbScriptsConfigMap=db-scheme
0 голосов
/ 17 апреля 2019

Эта диаграмма немного неловкая, но позвольте мне объяснить, они создадут эту конфигурационную карту , которая считывает информацию об этой папке (относительно пути values.yaml).

К счастью, у вас есть еще две альтернативы:

  • Передайте скрипты, которые вы хотите встроить в ваши values.yaml ( Строка 122 )
  • Создает в стороне карту конфигурации с вашими сценариями и ссылается на имя в вашем values.yaml ( Строка 129 )
...