linux-system-roles.podman

Podman

この役割は、podmanの設定、コンテナ、およびpodmanコンテナを実行するsystemdサービスを管理します。

要件

  • この役割は、podmanバージョン4.2以上を必要とします。
  • quadletサポートと秘密管理のためには、podmanバージョン4.4以上が必要です。
  • 健康チェックのサポートには、podmanバージョン4.5以上が必要です(quadletコンテナタイプを使用する場合のみサポート)。

コレクションの要件

この役割は以下のコレクションを必要とします:

  • containers.podman
  • fedora.linux_system_roles

コレクションをインストールするには、次のコマンドを使用します:

ansible-galaxy collection install -vv -r meta/collection-requirements.yml

ユーザー、グループ、subuid、subgid

podman_run_as_userpodman_run_as_group、およびkube仕様のrun_as_userrun_as_groupに指定されるユーザーおよびグループには、以下の制限があります:

  • システムに既に存在している必要があります - この役割はユーザーやグループを作成しません。存在しないユーザーやグループが指定された場合、エラーが発生します。
  • /etc/subuidおよび/etc/subgidにすでに存在するか、アイデンティティ管理システムによって提供される必要があります。指定されたユーザーが/etc/subuidに存在しない場合や、指定されたグループが/etc/subgidに存在しない場合、役割はエラーを返します。役割は、利用可能な場合はgetsubidsを使用してユーザーとグループを確認し、利用できない場合はファイルを直接チェックします。

役割の変数

podman_kube_specs

これはリストです。リストの各要素は、管理するpodmanポッドと対応するsystemdユニットを説明するディクショナリです。

例:

podman_kube_specs:
  - state: started
    kube_file_content:
      apiVersion: v1
      kind: Pod
      metadata:
        name: myappname

この設定は、管理ノードの/etc/containers/ansible-kubernetes.d/myappname.ymlにコピーされます。

podman_quadlet_specs

[Quadlet仕様]のリスト。これらはユニークな名前とタイプで識別され、タイプはコンテナ、kube、ネットワーク、ボリュームなどのユニットのタイプの一つです。

podman_secrets

秘密仕様のリストで、podman_secretモジュールで使用される形式とほぼ同じです。

podman_create_host_directories

これはブール値で、デフォルトはfalseです。trueの場合、Kubernetes YAML内のホストマウントに指定されたホストディレクトリが作成されます。

podman_firewall

ファイアウォールで管理したいポートを指定するためのリストです。

podman_run_as_user

ルートレスコンテナに使用するユーザーの名前です。

podman_activate_systemd_units

各systemdユニットを作成と同時にアクティブにします。デフォルトはtrueです。

podman_pull_image

各イメージが使用される前に存在することを確認します。デフォルトはtrueです。

例のプレイブック

ルートレスコンテナを作成する例:

- name: Podmanコンテナとサービスを管理
  hosts: all
  vars:
    podman_create_host_directories: true
    podman_kube_specs:
      - state: started
        kube_file_content:
          apiVersion: v1
          kind: Pod
          metadata:
            name: db
  roles:
    - linux-system-roles.podman

ルートで実行するコンテナを作成する例:

- name: Podmanルートコンテナとサービスを管理
  hosts: all
  vars:
    podman_kube_specs:
      - state: started
        kube_file_content:
          apiVersion: v1
          kind: Pod
          metadata:
            name: ubi8-httpd
  roles:
    - linux-system-roles.podman

ライセンス

MIT。

著者情報

著者: Ilkka Tengvall、Thom Carlin、Rich Megginson、Adam Miller、Valentin Rothberg

プロジェクトについて

Role for managing podman

インストール
ansible-galaxy install linux-system-roles.podman
ライセンス
mit
ダウンロード
5.7k