В Kubernetes също е лесно. Можете да го направите, както следва,
- Поставете своя
init.sqlфайл в том на Kubernetes . - Монтирайте този том в
/docker-entrypoint-initdb.dдиректория на вашия mysql модул.
Ето примерен yaml файл:mysql-init-demo.yaml
Можете също да използвате init-container за да изтеглите init.sql файл в том Kubernetes, който е монтиран на /docker-entrypoint-initdb.d директория на контейнера mysql.
UPD: Както сте посочили в актуализацията, че препоръчаното от вас решение няма да работи за вас. Мисля, че init-container подходът ще бъде най-подходящ за вас. Ето как можете да направите:
- Създайте pvc. Нека името му е
init-script. -
Сега добавете
init-containerкъм вашия mysql pod. Монтирайте тозиinit-scriptpvc в някаква директория на тозиinit-container. Конфигурирайте вашияinit-containerтака че да изтегли вашияinit.sqlфайл в тази директория. -
Монтирайте
init-scriptв контейнера mysql в/docker-entrypoint-initdb.d
Кажете ми, ако имате нужда от проба с init-container подход.
UPD-2: Добавих проба за init-container Приближаване. Можете да го намерите тук
.