ウェブサイト検索

Podman 5.3 は強化されたルートレス ネットワーキングを約束します


Podman 5.3 では、パスタを使用したルートレス ネットワーキングの改善、コンテナ内のホスト アクセスの向上、Quadlet 起動の修正が行われます。

Podman ユーザーの皆さん、エキサイティングなネットワークの改善に備えてください!次期 Podman 5.3 リリースでは、コンテナ ネットワーキング、特にパスタを使用するルートレス コンテナを簡素化する機能強化が導入されます。その内容は次のとおりです。

バージョン 5.0 以降、Podman はルートレス コンテナーに接続を提供するデフォルトのルートレス ネットワーキング ツールとしてパスタ (passt) を使用してきました。以前のデフォルトの slirp4netns とは異なり、pasta はデフォルトで NAT なしで動作し (詳細についてはこちらを参照)、ホストとコンテナーの名前空間の両方に同じ IP アドレスを与えます。

ただし、このアプローチではネットワークの一部の側面が簡素化されますが、コンテナーからホストに接続しようとするユーザーにとっては混乱も生じます。このような場合、コンテナ内からホスト IP アドレスを使用すると、実際にはホストではなくコンテナ自体がポイントされます。

これに対処するために、パスタ開発者は新しいオプション「–map-guest-addr 」を追加しました。この機能を使用すると、ユーザーは、ホスト名前空間内の実際のホスト IP を指す、コンテナ名前空間内に特定の IP アドレスを設定できます。

Podman 5.3 以降、この目的にはアドレス 169.254.1.2 がデフォルトで使用されます。その結果、ユーザーはコンテナとホスト間の接続を確立するのがはるかに簡単になるでしょう。

さらに、Podman は、コンテナ内の「host.containers.internal」エントリがこの IP アドレスに正しく設定されていることを自動的に確認します。この変更は、ホストとコンテナー間の接続が正常に機能することを意味し、手動による調整やエントリの欠落がなくなりました。

さらにカスタマイズしたい人にとっては朗報です。 pasta のオプションを使用して、Podman に直接渡すことで、別の IP アドレスを指定することもできます。システムはそれに応じて調整し、ホスト名が正しい IP を使用するようにします。

次に、ユーザーを悩ませているもう 1 つの大きな問題に移ります。Quadlet (Podman 構成ファイルを systemd サービス ユニット ファイルに変換するのに役立つ機能) によって作成されたルートレス systemd ユニットが起動時に起動できないという問題です。

以前は、Quadlet によって生成された systemd ユニットには「After=network-online.target」という行が含まれていましたが、systemd ユーザー セッションでは「ネットワークオンライン. ターゲット」。

その結果、ネットワークの準備が整う前にコンテナが起動し、ランダムな起動エラーが発生することになります。しかし、もうそうではありません。

Podman 5.3 では、新しいユニット ファイル「podman-user-wait-network-online.service」がシステム ディレクトリではなくユーザー ディレクトリに含まれるようになりました。このユニットはネットワーク ステータスを 0.5 秒ごとにポーリングし、ネットワークが完全に起動して実行されるまで Quadlet が待機してからコンテナが開始されるようにします。

その結果、ユーザーユニットの「After=network-online.target」ディレクティブは「After=podman-user-wait-network-online.service」に置き換えられました。 」により、コンテナーの早期起動が効果的に防止されます。

これらの変更はすべて、11 月 11 日の週にロールアウトされる予定の Podman 5.3 に含まれます。ご存知のとおり、このソフトウェアは時限リリースの新しいスキームに切り替わりました。これについては、つい数日前にお知らせしました。

上記のトピックに関するすべての変更の詳細については、公式発表をご覧ください。

関連記事: