A.5. コンテナー化された Ansible Automation Platform のリファレンス


コンテナー化された Ansible Automation Platform デプロイメントのアーキテクチャーを理解するには、この情報を使用してください。

Ansible Automation Platform のコンテナー化設計のアーキテクチャーを詳しく教えていただけますか?

基盤となる Red Hat Enterprise Linux テクノロジーを可能な限り活用します。コンテナーランタイムとサービスの管理には Podman を使用します。

システムで実行中のコンテナーをリスト表示するには、podman ps を使用します。

$ podman ps

CONTAINER ID  IMAGE                                                                        COMMAND               CREATED         STATUS         PORTS       NAMES
88ed40495117  registry.redhat.io/rhel8/postgresql-13:latest                                run-postgresql        48 minutes ago  Up 47 minutes              postgresql
8f55ba612f04  registry.redhat.io/rhel8/redis-6:latest                                      run-redis             47 minutes ago  Up 47 minutes              redis
56c40445c590  registry.redhat.io/ansible-automation-platform-24/ee-supported-rhel8:latest  /usr/bin/receptor...  47 minutes ago  Up 47 minutes              receptor
f346f05d56ee  registry.redhat.io/ansible-automation-platform-24/controller-rhel8:latest    /usr/bin/launch_a...  47 minutes ago  Up 45 minutes              automation-controller-rsyslog
26e3221963e3  registry.redhat.io/ansible-automation-platform-24/controller-rhel8:latest    /usr/bin/launch_a...  46 minutes ago  Up 45 minutes              automation-controller-task
c7ac92a1e8a1  registry.redhat.io/ansible-automation-platform-24/controller-rhel8:latest    /usr/bin/launch_a...  46 minutes ago  Up 28 minutes              automation-controller-web

ローカルに保存されているイメージに関する情報を表示するには、podman images を使用します。

$ podman images

REPOSITORY                                                            TAG         IMAGE ID      CREATED      SIZE
registry.redhat.io/ansible-automation-platform-24/ee-supported-rhel8  latest      b497bdbee59e  10 days ago  3.16 GB
registry.redhat.io/ansible-automation-platform-24/controller-rhel8    latest      ed8ebb1c1baa  10 days ago  1.48 GB
registry.redhat.io/rhel8/redis-6                                      latest      78905519bb05  2 weeks ago  357 MB
registry.redhat.io/rhel8/postgresql-13                                latest      9b65bc3d0413  2 weeks ago  765 MB

コンテナー化された Ansible Automation Platform は、セキュリティーを強化するために、デフォルトでルートレスコンテナーとして実行されます。つまり、ローカルの権限のないユーザーアカウントを使用して、コンテナー化された Ansible Automation Platform をインストールできます。権限の昇格は、特定の root レベルのタスクにのみ必要であり、デフォルトでは root を直接使用する場合には必要ありません。

インストールプログラムは、基盤となる Red Hat Enterprise Linux ホスト上でインストールプログラムを実行するファイルシステムに、次のファイルを追加します。

$ tree -L 1
    .
    ├── aap_install.log
    ├── ansible.cfg
    ├── collections
    ├── galaxy.yml
    ├── inventory
    ├── LICENSE
    ├── meta
    ├── playbooks
    ├── plugins
    ├── README.md
    ├── requirements.yml
    ├── roles

インストールルートディレクトリーには、Podman ボリュームを使用する他のコンテナー化されたサービスが含まれています。

詳細な参照情報として、以下にいくつかの例を示します。

containers ディレクトリーには、実行プレーンに使用およびインストールされる Podman の詳細の一部が含まれています。

    containers/
    ├── podman
    ├── storage
    │   ├── defaultNetworkBackend
    │   ├── libpod
    │   ├── networks
    │   ├── overlay
    │   ├── overlay-containers
    │   ├── overlay-images
    │   ├── overlay-layers
    │   ├── storage.lock
    │   └── userns.lock
    └── storage.conf

controller ディレクトリーには、インストールされた設定とランタイムデータポイントの一部が含まれています。

    controller/
    ├── data
    │   ├── job_execution
    │   ├── projects
    │   └── rsyslog
    ├── etc
    │   ├── conf.d
    │   ├── launch_awx_task.sh
    │   ├── settings.py
    │   ├── tower.cert
    │   └── tower.key
    ├── nginx
    │   └── etc
    ├── rsyslog
    │   └── run
    └── supervisor
        └── run

receptor ディレクトリーには、自動化メッシュの設定があります。

    receptor/
    ├── etc
    │   └── receptor.conf
    └── run
        ├── receptor.sock
        └── receptor.sock.lock

また、インストール後、ローカルユーザーの /home ディレクトリーには、.cache ディレクトリーなどの他のファイルがあります。

    .cache/
    ├── containers
    │   └── short-name-aliases.conf.lock
    └── rhsm
        └── rhsm.log

サービスはデフォルトでルートレス Podman を使用して実行されます。そのため、非特権ユーザーとして systemd を実行するなど、他のサービスを使用できます。systemd では、利用可能なコンポーネントサービスコントロールの一部を以下のように確認できます。

以下は、.config ディレクトリーです。

    .config/
    ├── cni
    │   └── net.d
    │       └── cni.lock
    ├── containers
    │   ├── auth.json
    │   └── containers.conf
    └── systemd
        └── user
            ├── automation-controller-rsyslog.service
            ├── automation-controller-task.service
            ├── automation-controller-web.service
            ├── default.target.wants
            ├── podman.service.d
            ├── postgresql.service
            ├── receptor.service
            ├── redis.service
            └── sockets.target.wants

これは Podman に固有のものであり、Open Container Initiative (OCI) 仕様に準拠しています。Podman を root ユーザーとして実行すると、デフォルトで /var/lib/containers が使用されます。標準ユーザーの場合、$HOME/.local の下の階層が使用されます。

以下は、.local ディレクトリーです。

    .local/
    └── share
        └── containers
            ├── cache
            ├── podman
            └── storage

たとえば、.local/storage/volumes には、podman volume ls の出力に表示される内容が含まれています。

$ podman volume ls

DRIVER      VOLUME NAME
local       d73d3fe63a957bee04b4853fd38c39bf37c321d14fdab9ee3c9df03645135788
local       postgresql
local       redis_data
local       redis_etc
local       redis_run

実行プレーンは、メインサービスに影響を与えないように、コントロールプレーンのメインサービスから分離されています。

コントロールプレーンサービスは、標準の Podman 設定で実行され、~/.local/share/containers/storage にあります。

実行プレーンサービス (Automation Controller、Event-Driven Ansible、実行ノード) は、~/aap/containers/storage.conf にある専用の設定を使用します。この分離により、実行プレーンコンテナーがコントロールプレーンサービスに影響を与えることが防止されます。

実行プレーンの設定は、次のいずれかのコマンドで表示できます。

CONTAINERS_STORAGE_CONF=~/aap/containers/storage.conf podman <subcommand>
CONTAINER_HOST=unix://run/user/<user uid>/podman/podman.sock podman <subcommand>

ホストリソースの使用率統計情報を確認するにはどうすればよいですか?

ホストリソースの使用率統計情報を表示するには、次のコマンドを実行します。

$ podman container stats -a

Dell が販売および提供しているコンテナー化された Ansible Automation Platform ソリューション (DAAP) のインストールに基づく出力例 (約 1.8 GB の RAM を使用):

ID            NAME                           CPU %       MEM USAGE / LIMIT  MEM %       NET IO      BLOCK IO    PIDS        CPU TIME    AVG CPU %
0d5d8eb93c18  automation-controller-web      0.23%       959.1MB / 3.761GB  25.50%      0B / 0B     0B / 0B     16          20.885142s  1.19%
3429d559836d  automation-controller-rsyslog  0.07%       144.5MB / 3.761GB  3.84%       0B / 0B     0B / 0B     6           4.099565s   0.23%
448d0bae0942  automation-controller-task     1.51%       633.1MB / 3.761GB  16.83%      0B / 0B     0B / 0B     33          34.285272s  1.93%
7f140e65b57e  receptor                       0.01%       5.923MB / 3.761GB  0.16%       0B / 0B     0B / 0B     7           1.010613s   0.06%
c1458367ca9c  redis                          0.48%       10.52MB / 3.761GB  0.28%       0B / 0B     0B / 0B     5           9.074042s   0.47%
ef712cc2dc89  postgresql                     0.09%       21.88MB / 3.761GB  0.58%       0B / 0B     0B / 0B     21          15.571059s  0.80%

ストレージは、どのくらいの量がどこで使用されていますか?

コンテナーボリュームストレージは、ローカルユーザー配下の $HOME/.local/share/containers/storage/volumes にあります。

  1. 各ボリュームの詳細を表示するには、次のコマンドを実行します。

    $ podman volume ls
  2. 特定のボリュームに関する詳細情報を表示するには、次のコマンドを実行します。

    $ podman volume inspect <volume_name>

以下に例を示します。

$ podman volume inspect postgresql

出力例:

[
    {
        "Name": "postgresql",
        "Driver": "local",
        "Mountpoint": "/home/aap/.local/share/containers/storage/volumes/postgresql/_data",
        "CreatedAt": "2024-01-08T23:39:24.983964686Z",
        "Labels": {},
        "Scope": "local",
        "Options": {},
        "MountCount": 0,
        "NeedsCopyUp": true
    }
]

インストールプログラムによって作成されたいくつかのファイルは $HOME/aap/ にあり、実行中のさまざまなコンテナーにバインドマウントされます。

  1. コンテナーに関連付けられたマウントを表示するには、次のコマンドを実行します。

    $ podman ps --format "{{.ID}}\t{{.Command}}\t{{.Names}}"

    出力例:

    89e779b81b83	run-postgresql	postgresql
    4c33cc77ef7d	run-redis	redis
    3d8a028d892d	/usr/bin/receptor...	receptor
    09821701645c	/usr/bin/launch_a...	automation-controller-rsyslog
    a2ddb5cac71b	/usr/bin/launch_a...	automation-controller-task
    fa0029a3b003	/usr/bin/launch_a...	automation-controller-web
    20f192534691	gunicorn --bind 1...	automation-eda-api
    f49804c7e6cb	daphne -b 127.0.0...	automation-eda-daphne
    d340b9c1cb74	/bin/sh -c nginx ...	automation-eda-web
    111f47de5205	aap-eda-manage rq...	automation-eda-worker-1
    171fcb1785af	aap-eda-manage rq...	automation-eda-worker-2
    049d10555b51	aap-eda-manage rq...	automation-eda-activation-worker-1
    7a78a41a8425	aap-eda-manage rq...	automation-eda-activation-worker-2
    da9afa8ef5e2	aap-eda-manage sc...	automation-eda-scheduler
    8a2958be9baf	gunicorn --name p...	automation-hub-api
    0a8b57581749	gunicorn --name p...	automation-hub-content
    68005b987498	nginx -g daemon o...	automation-hub-web
    cb07af77f89f	pulpcore-worker	automation-hub-worker-1
    a3ba05136446	pulpcore-worker	automation-hub-worker-2
  2. 以下のコマンドを実行します。

    $ podman inspect <container_name> | jq -r .[].Mounts[].Source

    出力例:

    /home/aap/.local/share/containers/storage/volumes/receptor_run/_data
    /home/aap/.local/share/containers/storage/volumes/redis_run/_data
    /home/aap/aap/controller/data/rsyslog
    /home/aap/aap/controller/etc/tower.key
    /home/aap/aap/controller/etc/conf.d/callback_receiver_workers.py
    /home/aap/aap/controller/data/job_execution
    /home/aap/aap/controller/nginx/etc/controller.conf
    /home/aap/aap/controller/etc/conf.d/subscription_usage_model.py
    /home/aap/aap/controller/etc/conf.d/cluster_host_id.py
    /home/aap/aap/controller/etc/conf.d/insights.py
    /home/aap/aap/controller/rsyslog/run
    /home/aap/aap/controller/data/projects
    /home/aap/aap/controller/etc/settings.py
    /home/aap/aap/receptor/etc/receptor.conf
    /home/aap/aap/controller/etc/conf.d/execution_environments.py
    /home/aap/aap/tls/extracted
    /home/aap/aap/controller/supervisor/run
    /home/aap/aap/controller/etc/uwsgi.ini
    /home/aap/aap/controller/etc/conf.d/container_groups.py
    /home/aap/aap/controller/etc/launch_awx_task.sh
    /home/aap/aap/controller/etc/tower.cert
  3. jq RPM がインストールされていない場合は、次のコマンドを実行してインストールします。

    $ sudo dnf -y install jq
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る