Init Container to Image Volume Batch Migrator
Найти и предложить замену init-контейнеров на Image Volumes (Kubernetes 1.35) сразу в нескольких манифестах.
Как это работает
Кластер с десятками подов, использующих init-контейнеры для копирования статичных данных, — типичная картина для организации, которая ещё не успела перейти на Image Volumes, стабилизированные в Kubernetes 1.35. Проверять каждый манифест вручную на предмет того, подходит ли конкретный init-контейнер под замену, долго. Init Container to Image Volume Batch Migrator online сканирует сразу несколько манифестов и находит кандидатов на миграцию.
Инструмент ищет характерный паттерн: init-контейнер с командой копирования (cp, rsync) из своего образа в shared volume, который потом монтируется в основной контейнер только на чтение — это ровно тот сценарий, который Image Volumes заменяют без единой строчки логики копирования.
Полезно применять при плановой модернизации манифестов кластера после обновления до Kubernetes 1.35, при аудите технического долга перед переходом на новую практику, или просто чтобы понять объём работы по миграции заранее, прежде чем обещать конкретные сроки команде.
Частые вопросы
Все ли init-контейнеры подходят под замену Image Volume?
Нет, только те, что копируют статичные read-only данные без дополнительной логики обработки — init-контейнеры с реальной бизнес-логикой (миграции базы, генерация конфигов на лету) под эту замену не подходят и остаются нужны как есть.
Как инструмент определяет кандидата на замену?
По характерному паттерну команды копирования (cp, rsync) из образа init-контейнера в volume, который затем читается основным контейнером только на чтение — это эвристика, а не гарантированный вердикт, финальное решение стоит проверить вручную.
Требует ли миграция на Image Volumes изменения самого образа?
Обычно нет, если данные уже лежат в отдельном образе, который сейчас используется как init-контейнер, тот же образ можно смонтировать как Image Volume напрямую, без выполнения его как процесса.
Нужно ли проверять поддержку container runtime перед массовой миграцией?
Да, обязательно — Image Volumes требуют совместимого runtime, стоит проверить это на одном кластере перед тем, как переносить миграцию на весь парк манифестов организации.