Podman 6.0 это мажорный релиз с ломающими изменениями. Убраны устаревшие компоненты, переработана конфигурация, обновлён сетевой стек.
Если вы используете Podman в продакшене или на локальной машине, стоит знать, что изменится и к чему готовиться.
Удаление устаревших компонентов
Всё, что было deprecated в пятой ветке, в шестой удалено окончательно.
slirp4netns больше нет. Начиная с Podman 5.0 для rootless-сетей по умолчанию использовался Pasta. Теперь это единственный вариант, slirp4netns вырезан из кода вместе с флагом --network-cmd-path.CgroupsV1 больше не поддерживается. Весь связанный код и тесты удалены. Если у вас система на cgroups v1, Podman 6 работать не будет.BoltDB тоже убран. SQLite стал дефолтным бэкендом ещё в Podman 4.8. В 5.7 добавили предупреждение, в 6.0 поддержку BoltDB убрали полностью. Если вы не мигрировали базу, после обновления состояние контейнеров окажется недоступным.Перед обновлением до Podman 6 рекомендуется сначала обновиться до 5.8 и перезагрузиться. Это запустит автоматическую миграцию с BoltDB на SQLite.
Переработка конфигурации
Одно из заметных изменений. Файлы конфигурации
containers.conf и storage.conf переделывают с нуля. Проблема была в том, что удалённые клиенты на Windows и macOS использовали те же конфиги, что и серверная часть. Это приводило к путанице и ошибкам.Новый подход разделяет конфигурацию на клиентскую и серверную части. Логика парсинга
containers.conf и storage.conf унифицируется. Если вы работаете с Podman через удалённый клиент, возможно, придётся обновить свои конфиги.Изменения в сетевом стеке
Netavark, сетевой бэкенд Podman, тоже получил обновления.
Поддержка
iptables убрана. Остаётся только nftables. Это затронет тех, кто вручную настраивал iptables для контейнеров.Логика создания сетей перенесена внутрь Netavark, а внутренние структуры данных изменены, чтобы сохранять порядок подключённых сетей для контейнеров.
Новый conmon
Ведётся работа над новой версией
conmon. Подробностей пока мало, но обещают улучшения в производительности и пользовательском опыте.Как проверить готовность к обновлению
Убедитесь, что ваша система использует cgroups v2. Проверить можно так:
stat -fc %T /sys/fs/cgroup/
Если в ответе
cgroup2fs, всё в порядке.Проверьте, на каком бэкенде работает ваша база Podman:
podman info --format '{{.Host.DatabaseBackend}}'Если ответ
sqlite, миграция не нужна. Если boltdb, обновитесь сначала до Podman 5.8 и перезагрузитесь.Убедитесь, что для rootless-сетей используется Pasta, а не slirp4netns:
podman info --format '{{.Host.Pasta.Executable}}'Podman 6.0 убирает всё устаревшее и приводит кодовую базу к единому стандарту. Миграция для большинства пользователей должна пройти гладко, потому что Pasta, nftables и SQLite уже были дефолтами.
Но если вы работаете на нестандартных конфигурациях с iptables, BoltDB или cgroups v1, нужно подготовиться заранее.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии
