3장. 자동화 실행 환경 게시
3.1. 기존 자동화 실행 환경 이미지 사용자 정의
Ansible Controller는 세 가지 기본 실행 환경과 함께 제공됩니다.
-
Ansible 2.9- 컨트롤러 모듈 이외의 컬렉션도 설치되지 않습니다. -
minimal- Ansible Runner와 함께 최신 Ansible 2.13 릴리스가 포함되어 있지만 컬렉션이나 기타 추가 콘텐츠가 포함되어 있지 않습니다. -
EE 지원- 최소 지원 및 모든 Red Hat 지원 컬렉션 및 종속 항목
이러한 환경은 많은 자동화 사용 사례를 다루지만 추가 항목을 추가하여 특정 요구에 맞게 이러한 컨테이너를 사용자 지정할 수 있습니다. 다음 절차에서는 kubernetes.core 컬렉션을 ee-minimal 기본 이미지에 추가합니다.
절차
Podman을 통해
registry.redhat.io에 로그인합니다.$ podman login -u="[username]" -p="[token/hash]" registry.redhat.io
원하는 자동화 실행 환경 기본 이미지를 가져올 수 있는지 확인합니다.
podman pull registry.redhat.io/ansible-automation-platform-22/ee-minimal-rhel8:latest
원하는 기본 이미지와 새 실행 환경 이미지에 추가할 추가 콘텐츠를 지정하도록 Ansible Builder 파일을 구성합니다.
예를 들어 Galaxy의 Kubernetes Core Collection 을 이미지에 추가하려면 다음과 같이
requirements.yml파일을 작성합니다.collections: - kubernetes.core
- 정의 파일 및 콘텐츠에 대한 자세한 내용은 정의 파일 분석 섹션을 참조하십시오.
실행 환경 정의 파일에서 원래
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파일 또는 참조를 생성할 필요가 없습니다.다음 명령을 사용하여 새 실행 환경 이미지를 빌드합니다.
$ ansible-builder build -t registry.redhat.io/[username]/new-ee
여기서
[username]은 사용자 이름을 지정하고new-ee는 새 컨테이너 이미지의 이름을 지정합니다.
빌드에 -t 를 사용하지 않는 경우 ansible-execution-env 라는 이미지가 생성되어 로컬 컨테이너 레지스트리에 로드됩니다.
podman images명령을 사용하여 새 컨테이너 이미지가 해당 목록에 있는지 확인합니다.예 3.2. 이미지
new-ee를 사용한podman images명령 출력REPOSITORY TAG IMAGE ID CREATED SIZE localhost/new-ee latest f5509587efbb 3 minutes ago 769 MB
컬렉션이 설치되었는지 확인합니다.
$ podman run registry.redhat.io/[username]/new-ee ansible-doc -l kubernetes.core
자동화 허브에 사용할 이미지를 태그합니다.
$ podman tag registry.redhat.io/[username]/new-ee [automation-hub-IP-address]/[username]/new-ee
Podman을 사용하여 자동화 허브에 로그인합니다.
참고자동화 허브가 컨테이너를 푸시하려면
관리자또는 적절한 컨테이너 리포지토리 권한이 있어야 합니다. 자세한 내용은 Red Hat Ansible Automation Platform 설명서 의 프라이빗 자동화 허브에서 컨테이너 관리를 참조하십시오.$ podman login -u="[username]" -p="[token/hash]" [automation-hub-IP-address]
자동화 허브에서 컨테이너 레지스트리로 이미지를 푸시합니다.
$ podman push [automation-hub-IP-address]/[username]/new-ee
- 새 이미지를 자동화 컨트롤러 인스턴스로 가져옵니다.
- 자동화 컨트롤러로 이동합니다.
- 사이드-navig#188 표시줄에서 Administration → Execution Environments 를 클릭합니다.
- 추가 를 클릭합니다.
적절한 정보를 입력한 다음 저장 을 클릭하여 새 이미지를 가져옵니다.
참고자동화 허브 인스턴스가 암호 또는 토큰으로 보호되는 경우 적절한 컨테이너 레지스트리 인증 정보를 설정해야 합니다.