Рейтинг:0

Как запустить файл sql при создании модуля kubernetes?

флаг uz

У нас есть наша база данных либо в aws rds, либо в azure postgres, либо даже на другом онлайн-сервере в зависимости от клиента.

Но наш продукт будет работать в azure kubernetes как модуль и служба с информацией о базе данных в configmap.

Прежде чем мы запустим наше приложение, необходимо, чтобы файл sql был запущен в базе данных в качестве предварительной настройки.

Каков наилучший подход, который мы можем установить, чтобы мы могли автоматизировать это?

Рейтинг:1
флаг cn

Для этого есть много возможных решений, и это будет зависеть от того, как вы выполняете развертывание и какие инструменты используете для развертывания.

Прежде всего имейте в виду, что это антипаттерн для запуска модуля и выполнения SQL (скрипт инициализации или миграции). Контейнеры должны делать что-то одно, и вы не должны предполагать, как контейнеры будут выполняться. Например, что произойдет, если вы запустите несколько контейнеров одновременно? Если все они запускают миграцию при запуске, они будут спотыкаться друг о друга. Так, initcontainers также следует отказаться от решения.

Самое простое решение - запустить как отдельный работа как часть конвейера CI/CD. Вы выполняете файл init/migration. После его применения вы развертываете свой код.

Если вы используете шлем, ты можешь использовать хук перед установкой или обновлением

Как я пытался объяснить, есть много альтернатив, чтобы сделать именно то, что вы хотите.Главное, вам нужно контролировать, «когда» изменения базы данных применяются специально, потому что вы не можете контролировать, «как» они будут работать.

uday kiran avatar
флаг uz
Мы еще не создали шлем. Проект находится в начальной стадии, будет очень полезно, если вы предложите больше таких точек.
Ezequiel Gonzalez Rial avatar
флаг cn
Чем проще пойти с https://kubernetes.io/docs/concepts/workloads/controllers/job/

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.