3장. 자동화 실행 환경 게시
3.1. 기존 자동화 실행 환경 이미지 사용자 정의
Ansible Controller에는 다음 세 가지 기본 실행 환경이 제공됩니다.
-
Ansible 2.9- Controller 모듈 이외의 컬렉션이 설치되지 않음 -
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_BASE_IMAGE필드에 원래ee-minimal컨테이너의 URL 및 태그를 지정합니다. 이렇게 하면 최종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
- 자동화 컨트롤러 인스턴스로 새 이미지를 가져옵니다.
- 자동화 컨트롤러로 이동합니다.
- side-navigational 표시줄에서 Administration → Execution Environments 를 클릭합니다.
- 추가를 클릭합니다.
적절한 정보를 입력하고 저장을 클릭하여 새 이미지를 가져옵니다.
참고자동화 허브 인스턴스가 암호 또는 토큰 보호인 경우 적절한 컨테이너 레지스트리 인증 정보를 설정해야 합니다.