3장. 자동화 실행 환경 게시

3.1. 기존 자동화 실행 환경 이미지 사용자 정의

Ansible Controller는 세 가지 기본 실행 환경과 함께 제공됩니다.

  • Ansible 2.9 - 컨트롤러 모듈 이외의 컬렉션도 설치되지 않습니다.
  • minimal - Ansible Runner와 함께 최신 Ansible 2.13 릴리스가 포함되어 있지만 컬렉션이나 기타 추가 콘텐츠가 포함되어 있지 않습니다.
  • EE 지원 - 최소 지원 및 모든 Red Hat 지원 컬렉션 및 종속 항목

이러한 환경은 많은 자동화 사용 사례를 다루지만 추가 항목을 추가하여 특정 요구에 맞게 이러한 컨테이너를 사용자 지정할 수 있습니다. 다음 절차에서는 kubernetes.core 컬렉션을 ee-minimal 기본 이미지에 추가합니다.

절차

  1. Podman을 통해 registry.redhat.io 에 로그인합니다.

    $ podman login -u="[username]" -p="[token/hash]" registry.redhat.io
  2. 원하는 자동화 실행 환경 기본 이미지를 가져올 수 있는지 확인합니다.

    podman pull registry.redhat.io/ansible-automation-platform-22/ee-minimal-rhel8:latest
  3. 원하는 기본 이미지와 새 실행 환경 이미지에 추가할 추가 콘텐츠를 지정하도록 Ansible Builder 파일을 구성합니다.

    1. 예를 들어 Galaxy의 Kubernetes Core Collection 을 이미지에 추가하려면 다음과 같이 requirements.yml 파일을 작성합니다.

      collections:
        - kubernetes.core
    2. 정의 파일 및 콘텐츠에 대한 자세한 내용은 정의 파일 분석 섹션을 참조하십시오.
  4. 실행 환경 정의 파일에서 원래 ee-minimal 컨테이너의 URL과 EE_BASE_IMAGE 필드에 태그를 지정합니다. 이렇게 하면 최종 execution-environment.yml 파일이 다음과 같이 표시됩니다.

    예 3.1. 사용자 정의된 execution-environment.yml 파일

    version: 1
    
    build_arg_defaults:
      EE_BASE_IMAGE: 'registry.redhat.io/ansible-automation-platform-22/ee-minimal-rhel8:latest'
    
    dependencies:
      galaxy: requirements.yml
    참고

    이 예제에서는 자동화 허브의 인증된 컬렉션이 아닌 kubernetes.core 커뮤니티 버전을 사용하므로 정의 파일에서 ansible.cfg 파일 또는 참조를 생성할 필요가 없습니다.

  5. 다음 명령을 사용하여 새 실행 환경 이미지를 빌드합니다.

    $ ansible-builder build -t registry.redhat.io/[username]/new-ee

    여기서 [username] 은 사용자 이름을 지정하고 new-ee 는 새 컨테이너 이미지의 이름을 지정합니다.

참고

빌드에 -t 를 사용하지 않는 경우 ansible-execution-env 라는 이미지가 생성되어 로컬 컨테이너 레지스트리에 로드됩니다.

  1. podman images 명령을 사용하여 새 컨테이너 이미지가 해당 목록에 있는지 확인합니다.

    예 3.2. 이미지 new-ee를 사용한 podman images 명령 출력

    REPOSITORY          TAG     IMAGE ID      CREATED        SIZE
    localhost/new-ee    latest  f5509587efbb  3 minutes ago  769 MB
    1. 컬렉션이 설치되었는지 확인합니다.

      $ podman run registry.redhat.io/[username]/new-ee ansible-doc -l kubernetes.core
    2. 자동화 허브에 사용할 이미지를 태그합니다.

      $ podman tag registry.redhat.io/[username]/new-ee [automation-hub-IP-address]/[username]/new-ee
    3. Podman을 사용하여 자동화 허브에 로그인합니다.

      참고

      자동화 허브가 컨테이너를 푸시하려면 관리자 또는 적절한 컨테이너 리포지토리 권한이 있어야 합니다. 자세한 내용은 Red Hat Ansible Automation Platform 설명서 의 프라이빗 자동화 허브에서 컨테이너 관리를 참조하십시오.

      $ podman login -u="[username]" -p="[token/hash]" [automation-hub-IP-address]
    4. 자동화 허브에서 컨테이너 레지스트리로 이미지를 푸시합니다.

      $ podman push [automation-hub-IP-address]/[username]/new-ee
    5. 새 이미지를 자동화 컨트롤러 인스턴스로 가져옵니다.
  2. 자동화 컨트롤러로 이동합니다.
  3. 사이드-navig#188 표시줄에서 AdministrationExecution Environments 를 클릭합니다.
  4. 추가 를 클릭합니다.
  5. 적절한 정보를 입력한 다음 저장 을 클릭하여 새 이미지를 가져옵니다.

    참고

    자동화 허브 인스턴스가 암호 또는 토큰으로 보호되는 경우 적절한 컨테이너 레지스트리 인증 정보를 설정해야 합니다.