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 이미지를 사용하여 로컬에 저장된 이미지에 대한 정보를 표시합니다.

$ 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은 기본적으로 강화된 보안을 위해 rootless 컨테이너로 실행됩니다. 즉, 권한이 없는 로컬 사용자 계정을 사용하여 컨테이너화된 Ansible Automation Platform을 설치할 수 있습니다. 권한 에스컬레이션은 특정 루트 수준 작업에만 필요하며 기본적으로 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/
    ├── 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/
    ├── etc
    │   └── receptor.conf
    └── run
        ├── receptor.sock
        └── receptor.sock.lock

설치 후 로컬 사용자의 /home 디렉터리에서 .cache 디렉터리와 같은 다른 파일도 찾을 수 있습니다.

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

서비스는 기본적으로 rootless 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에 한정되며 OCI(Open Container Initiative) 사양을 준수합니다. 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 에서 확인할 수 있습니다.

실행 플레인 서비스(자동화 컨트롤러, 이벤트 기반 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을 기반으로 하는 출력의 예는 ~1.8GB RAM을 활용하는 DAAP(Ansible Automation Platform 솔루션) 설치를 제공합니다.

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은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동