2.5. 정의 파일 콘텐츠 분석


자동화 실행 환경 컨테이너 이미지에 포함된 콘텐츠를 지정하므로 정의 파일은 Ansible Builder를 사용하여 자동화 실행 환경을 빌드하는 데 필요합니다.

다음 섹션에서는 정의 파일의 여러 부분을 나눕니다.

2.5.1. 빌드 args 및 기본 이미지

정의 파일의 build_arg_defaults 섹션은 키가 Ansible Builder에 대한 인수의 기본값을 제공할 수 있는 사전입니다. build_arg_defaults 에서 사용할 수 있는 값 목록은 다음 표를 참조하십시오.

Expand
현재의설명

ANSIBLE_GALAXY_CLI_COLLECTION_OPTS

사용자가 컬렉션 설치 단계에서 ansible-galaxy CLI에 임의의 인수를 전달할 수 있습니다. 예를 들어 -pre 플래그는 사전 릴리스 컬렉션 설치를 활성화하거나 -c를 사용하여 서버의 SSL 인증서 확인을 비활성화합니다.

EE_BASE_IMAGE

자동화 실행 환경의 상위 이미지를 지정하여 기존 이미지를 기반으로 하는 새 이미지를 빌드할 수 있도록 합니다. 일반적으로 ee-minimal 또는 ee-supported와 같이 지원되는 실행 환경 기본 이미지이지만 이전에 생성한 후 추가로 사용자 정의하려는 실행 환경 이미지일 수도 있습니다.

기본 이미지는 registry.redhat.io/ansible-automation-platform-23/ee-minimal-rhel8:latest 입니다.

EE_BUILDER_IMAGE

Python 종속성 수집 및 컴파일에 사용되는 중간 빌더 이미지를 지정합니다. EE_BASE_IMAGE 와 일치하는 Python 버전을 포함하고 ansible-builder가 설치되어 있어야 합니다.

기본 이미지는 registry.redhat.io/ansible-automation-platform-23/ansible-builder-rhel8:latest 입니다.

build_arg_defaults 내부에 지정된 값은 컨테이너 파일에 하드 코딩되므로 podman 빌드 를 수동으로 호출하면 이러한 값이 유지됩니다.

참고

CLI --build-arg 플래그에 동일한 변수가 지정된 경우 CLI 값이 우선 순위가 높습니다.

2.5.2. Ansible 구성 파일 경로

ansible_config 지시문을 사용하면 빌드의 Collection 설치 단계에서 개인 계정의 토큰 및 기타 설정을 자동화 허브 서버에 전달할 ansible.cfg 파일의 경로를 지정할 수 있습니다. 구성 파일 경로는 정의 파일 위치와 상대적이어야 하며 생성된 컨테이너 빌드 컨텍스트로 복사됩니다.

ansible.cfg 파일은 다음 예제와 같이 포맷해야 합니다.

예 2.2. ansible.cfg 파일

[galaxy]
server_list = automation_hub

[galaxy_server.automation_hub]
url=https://cloud.redhat.com/api/automation-hub/
auth_url=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token
token=my_ah_token
Copy to Clipboard Toggle word wrap

자동화 허브에서 컬렉션을 다운로드하는 방법에 대한 자세한 내용은 관련 Ansible 설명서 페이지를 참조하십시오.

2.5.3. 종속 항목

자동화 실행 환경 이미지 문제를 방지하려면 Galaxy, Python 및 system 항목이 유효한 요구 사항 파일을 가리키는지 확인하십시오.

2.5.3.1. Galaxy

이 항목은 ansible- galaxy collection install -r …​ 명령에 대한 유효한 요구 사항 파일을 가리킵니다.

항목 requirements.yml 은 자동화 실행 환경 정의 폴더의 디렉터리 또는 절대 경로의 상대 경로일 수 있습니다.

requirements.yml 파일의 내용은 다음과 같을 수 있습니다.

예 2.3. Galaxy에 대한 requirements.yml 파일

collections:
  - community.aws
  - kubernetes.core
Copy to Clipboard Toggle word wrap

2.5.3.2. Python

정의 파일의 python 항목은 pip install -r …​ 명령에 대한 유효한 요구 사항 파일을 가리킵니다.

항목 requirements.txt 는 Collections가 이미 Python 종속 항목으로 나열된 추가 Python 요구 사항을 설치하는 파일입니다. 자동화 실행 환경 정의 폴더 또는 절대 경로의 디렉터리에서 상대 경로로 나열될 수 있습니다. pip 동결 명령의 표준 출력과 유사하게 requirements.txt 파일의 내용은 다음 예제와 같이 포맷해야 합니다.

예 2.4. Python용 requirements.txt 파일

boto>=2.49.0
botocore>=1.12.249
pytz
python-dateutil>=2.7.0
awxkit
packaging
requests>=2.4.2
xmltodict
azure-cli-core==2.11.1
python_version >= '2.7'
collection community.vmware
google-auth
openshift>=0.6.2
requests-oauthlib
openstacksdk>=0.13
ovirt-engine-sdk-python>=4.4.10
Copy to Clipboard Toggle word wrap

2.5.3.3. 시스템

정의의 시스템 항목은 바인딩 요구 사항 파일을 가리킵니다. 이 파일은 컬렉션 외부에 이미 포함된 시스템 수준 종속 항목을 종속 항목으로 설치합니다. 자동화 실행 환경 정의 폴더 또는 절대 경로의 디렉터리에서 상대 경로로 나열할 수 있습니다. 최소한의 기대치는 컬렉션이 [platform:rpm] 에 필요한 요구 사항을 지정한다는 것입니다.

이를 설명하기 위해 다음은 libxml2subversion 패키지를 컨테이너에 추가하는 bindep.txt 파일 예제입니다.

예 2.5. bindep.txt 파일

libxml2-devel [platform:rpm]
subversion [platform:rpm]
Copy to Clipboard Toggle word wrap

여러 컬렉션의 항목이 단일 파일로 결합됩니다. 바인딩에 의해 처리되고 dnf 로 전달됩니다. 프로필이 없거나 런타임 요구 사항이 없는 요구 사항만 이미지에 설치됩니다.

2.5.4. 추가적인 사용자 지정 빌드 단계

prependappend 명령은 additional_build_steps 섹션에 지정할 수 있습니다. 이러한 명령은 기본 빌드 단계가 실행되기 전이나 후에 실행되는 Containerfile 에 명령을 추가합니다.

additional_build_steps 의 구문은 다음 중 하나여야 합니다.

  • 여러 줄 문자열

    예 2.6. 다중 줄 문자열 항목

    prepend: |
       RUN whoami
       RUN cat /etc/os-release
    Copy to Clipboard Toggle word wrap
  • 목록

    예 2.7. 목록 항목

    append:
    - RUN echo This is a post-install command!
    - RUN ls -la /etc
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat