Podman 5.3 обещает улучшенную безрутовую сеть
Podman 5.3 принесет улучшенную работу в сети без root-прав с помощью Pasta, улучшенный доступ к хостам в контейнерах и исправления запуска Quadlet.
Пользователи Podman, приготовьтесь к впечатляющим улучшениям в сети! В предстоящем выпуске Podman 5.3 будут представлены улучшения, которые упростят работу сети контейнеров, особенно для контейнеров без root-доступа, использующих макаронные изделия. Вот в чем дело.
Начиная с версии 5.0, Podman использует пасту (passt) в качестве сетевого инструмента без root-доступа по умолчанию для обеспечения подключения контейнеров без root-доступа. В отличие от предыдущего значения по умолчанию, slirp4netns, Pasta по умолчанию работает без NAT (подробнее об этом здесь), предоставляя хосту и пространству имен контейнера один и тот же IP-адрес.
Однако, хотя этот подход упрощает некоторые сетевые аспекты, он также создает путаницу для пользователей, которые пытаются подключиться из контейнера к хосту. В этих случаях использование IP-адреса хоста внутри контейнера фактически указывает на себя, а не на хост.
Чтобы решить эту проблему, разработчики пасты добавили новую опцию: «–map-guest-addr
Начиная с Podman 5.3, для этой цели по умолчанию будет использоваться адрес 169.254.1.2. В результате пользователям будет намного проще устанавливать соединение между своими контейнерами и хостами.
Более того, Podman автоматически гарантирует, что для записи «host.containers.internal» в контейнерах правильно указан этот IP-адрес. Это изменение означает, что связь между хостами и контейнерами будет работать — больше никаких ручных настроек или пропущенных записей.
Для тех, кто предпочитает больше настроек, есть и хорошие новости. Вы по-прежнему можете указать другой IP-адрес, передав его непосредственно в Podman, используя параметры пасты. Система соответствующим образом настроится, гарантируя, что имя хоста использует правильный IP-адрес.
Теперь перейдем к другой серьезной проблеме, которая беспокоила пользователей — невозможности запуска модулей systemd без root, созданных Quadlet (функция, которая помогает преобразовать файлы конфигурации Podman в файлы модулей обслуживания systemd) во время загрузки.
Раньше модули systemd, сгенерированные Quadlet, включали строку «After=network-online.target», но это было неэффективно, поскольку пользовательский сеанс systemd не мог видеть системные модули, такие как « network-online.target».
Следовательно, контейнеры запускались до того, как сеть была готова, что приводило к случайным сбоям при запуске. Но это уже не так.
В Podman 5.3 новый файл модуля «podman-user-wait-network-online.service» теперь будет включен в каталог пользователя, а не в системный каталог. Это устройство опрашивает состояние сети каждые полсекунды, гарантируя, что Quadlet ждет, пока сеть полностью заработает, прежде чем запускать контейнеры.
В результате директива «After=network-online.target» для пользовательских единиц была заменена на «After=podman-user-wait-network-online.service». », эффективно предотвращая преждевременный запуск контейнеров.
Все эти изменения будут в Podman 5.3, выпуск которого запланирован на 11 ноября. Как вы знаете, программа перешла на новую схему временных релизов, о которой мы сообщали вам буквально несколько дней назад.
Более подробную информацию обо всех изменениях по теме выше можно найти в официальном объявлении.