Я пытаюсь инициализировать свежий экземпляр 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
Вот журналы:
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.