TGViewer
DevOps не горит DevOps не горит @devops_not_burn · 505 subscribers
Post #74 962
Коллеги, всем привет! =)

Небольшой экскурс про то как катить миграции баз данных приложений которые развернуты в k8s.
Очень часто на просторах интернетов вы можете столкнуться к тем, что катить миграции предлагают при помощи инит контайнеров в подах. План надежный как швейцарские часы, но есть одно большое НО😤
Миграции в случае использования инит контейнеров будут прокатываться всегда, например когда вы поскейлили количество подов или отработал HPA. И потенциально миграции могут приводить к локам таблиц БД, что в проде, да еще в рабочее время максимально не весело.
Как еще есть варианты?
Конечно же использовать jobs в k8s.
Суть заключается в том, что “джоба” эта такая сущность, которая может отработать только один раз. Соотвественно у нас не будет проблем с повторной накаткой миграций.
Ну сделали мы джобу, а дальше то что? Как сделать так что бы джоба отрабатывала перед началом, к примеру обновления, самого приложения?
В случае с helm нам на помощь придут helm hooks
В нашем случае, нам прекрасно подойдет pre-install и pre-upgrade.
И если вы проставите эти хуки в аннотация соотвествующих ресурсов, а мы с вами говорим про джобы, то эти ресурсы будут задеплоины первыми и уже после них будут задеплоины оставшиеся ресурсы.

Зачем я это пишу - обновлял я тут defectdojo в k8s и что-то пошло не так. Посмотрел, хуки на месте, install и upgrade. Посмотрел внимательно, а хуки то post-install и post-upgrade, то есть миграции defectdojo исходя из конфига должны отрабатывать после всех действий. И все благополучно падало =)
  • 🔥 7
  • ❤ 3
  • 😁 2
  • 👍 1
More from @devops_not_burn
  1. Sep 22, 2026Коллеги, всем привет! =) Открываю рубрику «Мама, твой сын вайб-кодер!» =) У меня давно в г…
  2. Sep 18, 2026Коллеги, всем привет! =) Сегодня продолжаем записывать наш DevOops Podcast, внезапно! =) В…
  3. Sep 14, 2026DevOops 2026 Коллеги, всем привет! =) Возможно, вы знаете, что я член программного комитет…
  4. Sep 11, 2026Обновление k8s 1.33⇒1.34 Коллеги, всем привет! =) По старой доброй традиции раз в квартал…
  5. Aug 26, 2026Коллеги, всем привет! =) На подходе очередной выпуск DevOops Podcast, к слову, пятый по сч…
  6. Aug 19, 2026Коллеги, всем привет! =) В продолжение темы про обновление Harbor и про хранение артефакто…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →