Поиск по сайту:

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 ». Эта функция позволяет пользователям устанавливать определенный IP-адрес в пространстве имен контейнера, который указывает на фактический IP-адрес хоста в пространстве имен хоста.

Начиная с 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 ноября. Как вы знаете, программа перешла на новую схему временных релизов, о которой мы сообщали вам буквально несколько дней назад.

Более подробную информацию обо всех изменениях по теме выше можно найти в официальном объявлении.

Статьи по данной тематике: