Red Hat Training

A Red Hat training course is available for RHEL 8

14.4. podman generated systemd コマンドではなく Quadlet を使用する利点

通常の systemd ユニットファイルと同様の形式でコンテナーを実行する方法を記述する Quadlets ツールを使用できます。

注記

Quadlet は、Podman v4.6 以降で利用可能です。

Quadlet には、podman generated systemd コマンドを使用してユニットファイルを生成する場合に比べて、次のような多くの利点があります。

  • メンテナンスが簡単: コンテナーの記述は、関連するコンテナーの詳細を中心に行うため、systemd でのコンテナー実行に関する技術的詳細を意識せずに済みます。
  • 自動更新: Quadlet では、更新後にユニットファイルを手動で再生成する必要はありません。Podman の新しいバージョンがリリースされた場合、起動時などに systemclt daemon-reload コマンドを実行すると、サービスが自動的に更新されます。
  • シンプルなワークフロー: 簡素化された構文のおかげで、Quadlet ファイルをゼロから作成して、どこにでもデプロイできます。
  • 標準の systemd オプションのサポート: Quadlet は、既存の systemd-unit 構文を新しいテーブル (コンテナーを設定するテーブルなど) で拡張します。
注記

Quadlet は Kubernetes YAML 機能のサブセットをサポートします。詳細は、サポートされる YAML フィールドのサポートマトリックス を参照してください。次のツールのいずれかを使用して YAML ファイルを生成できます。

  • Podman: podman generate kube コマンド
  • OpenShift: oc generated コマンドと --dry-run オプション
  • Kubernetes: kubectl create コマンドと --dry-run オプション

Quadlet は次のユニットファイルタイプをサポートします。

  • コンテナーユニット: podman run コマンドを実行してコンテナーを管理するために使用します。

    • ファイル拡張子: .container
    • セクション名: [Container]
    • 必須フィールド: サービスによって実行されるコンテナーイメージを記述する Image
  • Kube ユニット: podman kube play コマンドを実行して、Kubernetes YAML ファイルで定義したコンテナーを管理するために使用します。

    • ファイル拡張子: .kube
    • セクション名: [Kube]
    • 必須フィールド: Kubernetes YAML ファイルへのパスを定義する Yaml
  • ネットワークユニット: .container または .kube ファイルで参照できる Podman ネットワークを作成するために使用します。

    • ファイル拡張子: .network
    • セクション名: [Network]
    • 必須フィールド: なし
  • ボリュームユニット: .container ファイルで参照できる Podman ボリュームを作成するために使用します。

    • ファイル拡張子: .volume
    • セクション名: [Volume]
    • 必須フィールド: なし