从头盔图访问/docker-entrypoint-initdb.d

问题描述 投票:1回答:2

我正在尝试使用https://github.com/helm/charts/tree/master/stable/mariadb#initialize-a-fresh-instance上的官方头盔图初始化Mariadb的新实例(将我的.sql文件放在/docker-entrypoint-initdb.d中)。

但我发现说明不太清楚。 “为了执行脚本,它们必须位于图表文件夹文件/ 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。但主pod具有“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

这是日志:


Aaditi:

我创建了一个名为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

Mariadb启动但没有我的sql表。

kubernetes mariadb kubernetes-helm
2个回答
0
投票

该图表有点尴尬,但让我解释一下,他们将创建this configmap,它读取该文件夹的信息(相对于values.yaml路径)。

为了您的运气,您还有两个选择:

  • 将您想要内联的脚本传递给您的values.yaml(Line 122
  • 使用您的脚本创建一个configmap,并在您的values.yaml(Line 129)上引用该名称

0
投票

我的问题比看起来更复杂: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
© www.soinside.com 2019 - 2024. All rights reserved.