linux-system-roles.podman
Podman
この役割は、podmanの設定、コンテナ、およびpodmanコンテナを実行するsystemdサービスを管理します。
要件
- この役割は、podmanバージョン4.2以上を必要とします。
- quadletサポートと秘密管理のためには、podmanバージョン4.4以上が必要です。
- 健康チェックのサポートには、podmanバージョン4.5以上が必要です(quadletコンテナタイプを使用する場合のみサポート)。
コレクションの要件
この役割は以下のコレクションを必要とします:
containers.podmanfedora.linux_system_roles
コレクションをインストールするには、次のコマンドを使用します:
ansible-galaxy collection install -vv -r meta/collection-requirements.yml
ユーザー、グループ、subuid、subgid
podman_run_as_user、podman_run_as_group、およびkube仕様のrun_as_user、run_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
