15장. RHEL 시스템 역할을 사용하여 컨테이너 관리


podman RHEL 시스템 역할은 Red Hat Enterprise Linux 시스템에서 컨테이너를 관리합니다. 이 역할은 Ansible을 사용하여 Podman 을 구성하고, 컨테이너 라이프사이클을 관리하며, 컨테이너화된 애플리케이션을 systemd 서비스로 배포합니다.

15.1. Podman 및 기타 컨테이너 툴의 이미지 레지스트리 관리 구성

podman RHEL 시스템 역할을 사용하면 여러 RHEL 시스템에서 레지스트리 구성을 포함하여 Podman 관리를 자동화할 수 있습니다. 파일을 수동으로 편집하는 대신 Ansible 플레이북에서 원하는 레지스트리 구성을 정의합니다.

podman RHEL 시스템 역할은 레지스트리 설정이 포함된 사전을 허용하는 podman_registries_conf 변수를 사용합니다. 그런 다음 역할은 시스템 구성 관리에 대한 모범 사례에 따라 /etc/containers/registries.conf.d/ 에 드롭인 파일을 생성합니다.

사전 요구 사항

  • 컨트롤 노드와 관리형 노드를 준비했습니다.
  • 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
  • 관리 노드에 연결하는 데 사용하는 계정에는 이러한 노드에 대한 sudo 권한이 있습니다.

프로세스

  1. 다음 콘텐츠를 사용하여 플레이북 파일(예: ~/playbook.yml )을 생성합니다.

    ---
    - name: Configure Podman registries with RHEL system roles
      hosts: managed-node-01.example.com
      vars:
        podman_registries_conf:
          unqualified-search-registries:
            - "registry.access.redhat.com"
            - "docker.io"
            - "my-company-registry.com"
          registry:
            - location: "my-company-registry.com"
            - location: "my-local-registry:5000"
              insecure: true
      tasks:
        - name: Include the podman system role
          ansible.builtin.include_role:
            name: redhat.rhel_system_roles.podman

    예제 플레이북에 지정된 설정은 다음과 같습니다.

    • unqualified-search-registries: 짧은 이미지 이름을 사용할 때 Podman 레지스트리 목록을 확장합니다(예: podman pull <my-image>). Podman은 기본 레지스트리 이후 my-company-registry.com에서 이미지를 검색합니다.
    • [registry]: 지정된 레지스트리에 대한 특정 속성을 정의합니다. 예를 들어 insecure=true 를 my-local-registry:5000에서 실행되는 로컬 레지스트리로 설정하여 비보안 연결을 활성화할 수 있습니다.

    podman_use_new_toml_formatter 변수는 Podman과 호환되는 TOML 호환 구성 파일을 생성합니다. 이 변수는 이전에 사용된 Jinja 템플릿 대신 실제 TOML 포맷터를 통해 테이블 및 인라인 테이블을 포함한 모든 TOML 기능을 지원하여 Podman 역할을 향상시킵니다.

    새 포맷터는 이전 포맷터의 동작과의 호환성을 유지하기 위해 기본적으로 비활성화되어 있습니다. 새 포맷터를 활성화하려면 구성에서 podman_use_new_toml_formatter: true 를 설정합니다.

    podman_use_new_toml_formatter: true
    podman_containers_conf:
      containers:
        annotations:
          - environment=production
          - status=tier2
  2. 플레이북 구문을 확인합니다.

    $ ansible-playbook --syntax-check ~/playbook.yml

    이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.

  3. Playbook을 실행합니다.

    $ ansible-playbook ~/playbook.yml

검증

  1. 호스트에서 podman info 명령을 실행합니다.

    $ ansible managed-node-01.example.com -m command -a 'podman info'
  2. registeries 섹션을 확인합니다.

    registries:
      my-company-registry.com:
        Blocked: false
        Insecure: false
        Location: my-company-registry.com
        MirrorByDigestOnly: false
        Mirrors: null
        Prefix: my-company-registry.com
        PullFromMirror: ""
      my-local-registry:5000:
        Blocked: false
        Insecure: true
        Location: my-local-registry:5000
        MirrorByDigestOnly: false
        Mirrors: null
        Prefix: my-local-registry:5000
        PullFromMirror: ""
      search:
      - registry.access.redhat.com
      - docker.io
      - my-company-registry.com
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

보다 포괄적 수용을 위한 오픈 소스 용어 교체

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동