Red Hat Ansible Automation Platform 설치 가이드

Red Hat Ansible Automation Platform 2.1

이 가이드에서는 Red Hat Ansible Automation Platform에서 지원되는 설치 시나리오에 대한 절차 및 참조 정보를 제공합니다.

Red Hat Customer Content Services

초록

피드백 제공:
이 문서를 개선하기 위한 제안이 있거나 오류를 발견한 경우, Docs 구성 요소를 사용하여 Ansible Automation Platform Jira 프로젝트에서 문제를 생성하기 위해 기술 지원에 문의하십시오 https://access.redhat.com.

머리말

Red Hat Ansible Automation Platform에 관심을 가져 주셔서 감사합니다. Ansible Automation Platform은 Ansible 기반 환경에 제어, 지식 및 위임을 추가하여 팀이 복잡한 다중 계층 배포를 관리하는 데 도움이 되는 상용 서비스입니다.

이 가이드를 통해 Ansible Automation Platform 설치 후의 설치 요구 사항 및 프로세스를 이해하는 데 도움이 됩니다. 이 문서는 Ansible Automation Platform의 최신 릴리스에 대한 정보를 포함하도록 업데이트되었습니다.

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

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.

1장. Red Hat Ansible Automation Platform 설치 계획

이 섹션을 사용하여 Red Hat Ansible Automation Platform 설치를 계획할 수 있습니다. 설치하기 전에 설치 관리자, 시스템 요구 사항 및 지원되는 설치 시나리오에 대한 정보를 검토하십시오.

1.1. Red Hat Ansible Automation Platform 시스템 요구 사항

Red Hat Ansible Automation Platform 설치를 계획하고 사용 사례에 맞는 자동화 메시 토폴로지를 설계할 때 이 정보를 사용하십시오.

Red Hat Ansible Automation Platform을 설치하고 실행하려면 시스템에서 다음과 같은 최소 시스템 요구 사항을 충족해야 합니다.

표 1.1. 기본 시스템

 필수 항목참고

서브스크립션

유효한 Red Hat Ansible Automation Platform

 

OS

Red Hat Enterprise Linux 8.4 이상 64비트(x86)

 

Ansible

버전 2.11 필수

Ansible이 시스템에 없는 경우 설정 플레이북에서 ansible-core 2.12를 설치합니다.

Python

3.8 이상

 

다음은 프로젝트 업데이트 및 컬렉션을 사용하려면 다음과 같습니다.

  • 다음 도메인 이름이 방화벽 또는 프록시의 허용 목록에 성공적으로 연결하고 자동화 허브 또는 Galaxy 서버에서 컬렉션을 다운로드하는지 확인합니다.

    • galaxy.ansible.com
    • cloud.redhat.com
    • console.redhat.com
    • sso.redhat.com
  • 자체 서명된 인증서를 사용하는 경우 또는 Red Hat 도메인에 대해 SSL 검사를 비활성화해야 합니다.

1.1.1. 자동화 컨트롤러

자동화 컨트롤러는 여러 컴퓨팅 노드에 서로 다른 소프트웨어 구성 요소를 함께 배치하거나 배포할 수 있는 분산 시스템입니다. 설치 프로그램에서 컨트롤, 하이브리드, 실행 및 홉의 노드 유형은 사용자가 사용 사례에 적합한 토폴로지를 설계하는 데 도움이 되도록 추상화로 제공됩니다. 다음 표에서는 노드 크기 조정에 대한 권장 사항을 제공합니다.

참고

홉 노드를 제외한 모든 노드에서 실행 환경 스토리지를 위해 최소 20GB를 /home/awx 에 할당합니다.

실행 노드

필수 항목

참고

RAM

16GB

 

CPU

4

  • 자동화 실행. 메모리 및 CPU 증가로 더 많은 포크를 실행하기 위한 용량 증가

컨트롤 노드

필수 항목

참고

RAM

16GB

 

CPU

4

  • 프로젝트 업데이트 및 정리 작업을 포함하여 이벤트를 처리하고 클러스터 작업을 실행합니다. CPU 및 메모리를 늘리면 작업 이벤트 처리에 도움이 될 수 있습니다.

하이브리드 노드

필수 항목

참고

RAM

16GB

  • 실행 및 제어 노드의 RAM에 대한 참고 사항은 이 노드 유형에도 적용됩니다.

CPU

4

  • 자동화 및 클러스터 작업을 모두 실행합니다. 실행 및 제어 노드의 CPU에 대한 노트는 이 노드 유형에도 적용됩니다.

홉 노드

필수 항목

참고

RAM

16GB

 

CPU

4

  • Automation Mesh의 한 부분에서 다른 부분으로 트래픽을 라우팅하는 역할을 합니다(예: 베스천 호스트가 다른 네트워크로 사용 가능). RAM은 처리량에 영향을 미칠 수 있으며 CPU 활동이 낮을 수 있습니다. 네트워크 대역폭과 대기 시간은 일반적으로 RAM/CPU보다 더 중요한 요소입니다.

disk: 서비스 노드

40GB의 전용 하드 디스크 공간

  • Automation Controller: 파일 및 작업 디렉터리 스토리지의 경우 최소 20GB ~ /var/
  • 스토리지 볼륨은 최소 1500 IOPS 기준으로 평가되어야 합니다.
  • 프로젝트는 제어 및 하이브리드, 작업 기간 동안 실행 노드에도 저장됩니다. 클러스터에 많은 대규모 프로젝트가 있는 경우 디스크 공간 오류를 방지하려면 /var/lib/awx/projects에 두 번 GB를 갖는 것이 좋습니다.

데이터베이스 노드

필수 항목

참고

RAM

16GB

 

CPU

4

 

디스크

20GB 전용 하드 디스크 공간

  • 최소 전용 하드 디스크 공간은 20GB입니다.
  • 150GB 이상 권장
  • 스토리지 볼륨은 높은 기준 IOPS (1500 이상)로 평가되어야 합니다.

브라우저

현재 지원되는 Mozilla FireFox 버전 또는 Google Chrome

 

데이터베이스

PostgreSQL 버전 12

 

추가 리소스

표 1.2. 자동화 허브

 필수 항목참고

RAM

최소 8GB

  • 8GB RAM (최소 및 gRPC 평가판 설치 시 권장)
  • 8GB RAM(외부 독립 실행형 PostgreSQL 데이터베이스의 경우 최소 용량)
  • 구성의 포크 기반 용량은 추가 리소스를 참조하십시오.

CPU

최소 2개

  • 구성의 포크 기반 용량은 추가 리소스를 참조하십시오.

disk: 서비스 노드

60GB 전용 하드 디스크 공간

  • 스토리지 볼륨은 최소 1500 IOPS 기준으로 평가되어야 합니다.

데이터베이스 노드

필수 항목

참고

RAM

16GB

 

CPU

4

 

디스크

20GB 전용 하드 디스크 공간

  • 최소 전용 하드 디스크 공간은 20GB입니다.
  • 150GB 이상 권장
  • 스토리지 볼륨은 높은 기준 IOPS (1500 이상)로 평가되어야 합니다.

브라우저

현재 지원되는 Mozilla FireFox 버전 또는 Google Chrome

 

데이터베이스

PostgreSQL 버전 12

 
참고
  • 모든 자동화 컨트롤러 데이터는 데이터베이스에 저장됩니다. 데이터베이스 스토리지는 관리되는 호스트 수, 실행 횟수, 사실 캐시에 저장된 팩트 수 및 개별 작업의 작업 수를 늘립니다. 예를 들어, 플레이북은 호스트 250개(하루 24회)마다 실행되는 작업을 통해 매주 데이터베이스에 800000개 이상의 이벤트를 저장합니다.
  • 데이터베이스에 공간이 충분하지 않은 경우 이전 작업이 실행되고 팩트를 정기적으로 정리해야 합니다. 자세한 내용은 자동화 컨트롤러 관리 가이드의 관리 작업을 참조하십시오.

Amazon EC2

  • m5.large 이상의 인스턴스 크기
  • 호스트 수가 100개 이상인 경우 m4.xlarge의 인스턴스 크기

Red Hat Ansible Automation Platform 요구 사항에 대한 추가 노트

  • 실제 RAM 요구 사항은 동시에 관리할 호스트 자동화 컨트롤러 수(작업 템플릿 또는 시스템 ansible.cfg 파일의 forks 매개변수에 의해 제어됨)에 따라 달라집니다. 가능한 리소스 충돌을 방지하기 위해 Ansible은 10개의 포크 + 2GB 예약 컨트롤러당 1GB의 메모리를 권장합니다. 자세한 내용은 자동화 컨트롤러 용량 제거 및 작업 영향을 참조하십시오. 포크 가 400으로 설정되면 42GB의 메모리가 권장됩니다.
  • 물론 많은 수의 호스트를 처리할 수 있지만 포크 번호가 총 호스트 수보다 작으면 호스트 전체에서 더 많은 패스가 필요합니다. 롤링 업데이트를 사용하거나 자동화를 요청하는 각 시스템이 대기열을 입력하고 가능한 한 빨리 처리되는 경우 또는 자동화 컨트롤러가 AMI와 같은 이미지를 생성하거나 배포하는 경우 이러한 RAM 제한은 방지됩니다. 이러한 방법은 모두 대규모 환경을 관리하기 위한 좋은 접근 방식입니다. 자세한 내용은 https://access.redhat.com/ 에서 Red Hat 고객 포털을 통해 Ansible 지원에 문의하십시오.
  • Ansible Automation Platform에서 관리하는 시스템에 대한 요구 사항은 Ansible과 동일합니다. Ansible 사용자 가이드의 시작하기 를 참조하십시오.

주요 PostgreSQL 변경

Red Hat Ansible Automation Platform에서는 PostgreSQL 12를 사용합니다.

  • 이제 PostgreSQL 사용자 암호는 데이터베이스에 저장하기 전에 SCRAM-SHA-256 보안 해시 알고리즘으로 해시됩니다.
  • PostgreSQL 12는 사용자 암호를 보다 안전하게 저장할 수 있으므로 설치 시 인벤토리 파일에 pg_hashed_password 를 더 이상 제공할 필요가 없습니다. 사용자가 설치 프로그램의 인벤토리 파일에 암호를 제공하는 경우 (pg_password), 해당 암호는 설치 프로세스의 일부로 PostgreSQL에 의해 SCRAM-SHA-256 해시가 됩니다. pg_password 에서 특수 문자를 사용하지 마십시오. 이로 인해 설정이 실패할 수 있습니다.
  • 자동화 컨트롤러 및 자동화 허브는 3.8에서 Software Collections 버전의 PostgreSQL을 사용하므로 데이터베이스에 액세스하려면 rh-postgresql10 scl을 활성화해야 합니다. 관리자는 awx-manage dbshell 명령을 사용하면 PostgreSQL SCL이 자동으로 활성화됩니다.
  • 자동화 컨트롤러 인스턴스에서 데이터베이스에 액세스할 수 있는지 여부를 결정해야 하는 경우 awx-manage check_db 명령을 사용하여 이를 수행할 수 있습니다.

PostgreSQL 구성

선택적으로 PostgreSQL 데이터베이스를 Red Hat Ansible Automation Platform 설치 프로그램에서 관리하지 않는 별도의 노드로 구성할 수 있습니다. Ansible Automation Platform 설치 프로그램에서 데이터베이스 서버를 관리할 때 대부분의 워크로드에 일반적으로 권장되는 기본값을 사용하여 서버를 구성합니다. 그러나 독립 실행형 데이터베이스 서버 노드에 대해 이러한 PostgreSQL 설정을 조정할 수 있습니다. 여기서 ansible_memtotal_mb 는 데이터베이스 서버의 총 메모리 크기입니다.

max_connections == 1024
shared_buffers == ansible_memtotal_mb*0.3
work_mem == ansible_memtotal_mb*0.03
maintenance_work_mem == ansible_memtotal_mb*0.04

PostgreSQL 서버 조정에 대한 자세한 내용은 PostgreSQL 문서를 참조하십시오.

Ansible 소프트웨어 요구 사항

Red Hat Ansible Automation Platform은 Ansible 플레이북에 따라 달라지지만 자동화 컨트롤러를 설치하기 전에 안정적인 최신 버전의 Ansible을 설치해야 하지만 Ansible 수동 설치는 더 이상 필요하지 않습니다.

새로 설치하는 경우 자동화 컨트롤러에서 Ansible 2.11의 최신 릴리스 패키지를 설치합니다.

번들 Ansible Automation Platform 설치를 수행하는 경우 설치 프로그램은 번들에서 Ansible(및 해당 종속 항목)을 설치하려고 합니다.

Ansible을 자체적으로 설치하도록 선택하면 Ansible Automation Platform 설치 프로그램에서 Ansible이 설치되었음을 감지하고 다시 설치하지 않습니다. yum 과 같은 패키지 관리자를 사용하여 Ansible을 설치해야 하며 Red Hat Ansible Automation Platform이 제대로 작동하려면 안정적인 최신 버전을 설치해야 합니다. |at| 버전 3.8 이상에는 Ansible 버전 2.9가 필요합니다.

1.2. Red Hat Ansible Automation Platform 설치 프로그램 선택 및 가져오기

Red Hat Enterprise Linux 환경 인터넷 연결을 기반으로 필요한 Red Hat Ansible Automation Platform 설치 프로그램을 선택합니다. 아래 시나리오를 검토하고 Red Hat Ansible Automation Platform 설치 프로그램이 요구 사항을 충족하는지 확인합니다.

참고

Red Hat 고객 포털에서 Red Hat Ansible Automation Platform 설치 프로그램에 액세스하려면 유효한 Red Hat 고객 계정이 필요합니다.

인터넷으로 설치

Red Hat Enterprise Linux 환경이 인터넷에 연결되어 있는 경우 Red Hat Ansible Automation Platform 설치 프로그램을 선택합니다. 인터넷 액세스가 포함된 설치는 최신 필수 리포지토리, 패키지 및 종속성을 검색합니다.

  1. https://access.redhat.com/downloads/content/480로 이동합니다.
  2. Ansible Automation Platform <latest-version> 설정에 대해 지금 다운로드를 클릭합니다.
  3. 파일을 추출합니다.

    $ tar xvzf ansible-automation-platform-setup-<latest-version>.tar.gz

인터넷 액세스없이 설치

인터넷에 액세스할 수 없거나 온라인 리포지토리와 별도의 구성 요소 및 종속성을 설치하지 않는 경우 Red Hat Ansible Automation Platform Bundle 설치 프로그램을 사용합니다. Red Hat Enterprise Linux 리포지토리에 대한 액세스는 여전히 필요합니다. 기타 모든 종속 항목은 tar 아카이브에 포함되어 있습니다.

  1. https://access.redhat.com/downloads/content/480로 이동합니다.
  2. Ansible Automation Platform <latest-version> 설치 번들로 지금 다운로드를 클릭합니다.
  3. 파일을 추출합니다.

    $ tar xvzf ansible-automation-platform-setup-bundle-<latest-version>.tar.gz

1.3. Red Hat Ansible Automation Platform 서브스크립션 연결

Red Hat Ansible Automation Platform을 설치하기 전에 모든 노드에 유효한 서브스크립션이 연결되어 있어야 합니다. Ansible Automation Platform 서브스크립션을 연결하면 설치를 진행하는 데 필요한 subcription 전용 리소스에 액세스할 수 있습니다.

참고

Red Hat 계정에서 Simple Content Access 모드를 활성화하면 서브스크립션을 연결할 필요가 없습니다. 활성화되면 Ansible Automation Platform을 설치하기 전에 RHSM(Red Hat Subscription Management) 또는 Satellite에 시스템을 등록해야 합니다. 자세한 내용은 간단한 콘텐츠 액세스 모드를 참조하십시오.

절차

  1. Red Hat Ansible Automation Platform 서브스크립션의 pool_id 를 가져옵니다.

    # subscription-manager list --available --all | grep "Ansible Automation Platform" -B 3 -A 6

    예제

    subsciption-manager list 명령의 출력 예. Pool ID: 섹션에 표시된 대로 pool_id 를 가져옵니다.

    Subscription Name: Red Hat Ansible Automation, Premium (5000 Managed Nodes)
      Provides: Red Hat Ansible Engine
      Red Hat Ansible Automation Platform
      SKU: MCT3695
      Contract: ````
      Pool ID: <pool_id>
      Provides Management: No
      Available: 4999
      Suggested: 1
  2. 서브스크립션을 연결합니다.

    # subscription-manager attach --pool=<pool_id>

이제 Red Hat Ansible Automation Platform 서브스크립션을 모든 노드에 연결했습니다.

검증

  • 서브스크립션이 성공적으로 연결되었는지 확인합니다.
# subscription-manager list --consumed

문제 해결

  • Ansible Automation Platform 설치 프로그램과 함께 번들로 제공된 특정 패키지를 찾을 수 없거나 구성 메시지에 의해 비활성화된 리포지토리 가 표시되는 경우 명령을 사용하여 리포지토리를 활성화해 보십시오.

    subscription-manager repos --enable ansible-automation-platform-2.1-for-rhel-8-x86_64-rpms

1.4. 지원되는 설치 시나리오

Red Hat은 Red Hat Ansible Automation Platform에 대해 다음과 같은 설치 시나리오를 지원합니다.

1.4.1. 동일한 노드 또는 비installer 관리 데이터베이스의 데이터베이스가 있는 독립 실행형 자동화 컨트롤러

이 시나리오에는 단일 시스템에 웹 프런트 엔드, REST API 백엔드 및 데이터베이스를 포함한 자동화 컨트롤러의 설치가 포함됩니다. PostgreSQL을 설치하고 이를 데이터베이스로 사용하도록 자동화 컨트롤러를 구성합니다. 이는 표준 자동화 컨트롤러 설치 시나리오로 간주됩니다.

시작하기 위해 단일 머신에 Red Hat Ansible Automation Platform 구성 요소 설치에서 동일한 노드에 데이터베이스를 사용하여 자동화 컨트롤러 설치를 참조하십시오.

1.4.2. 외부 관리 데이터베이스가 있는 독립형 자동화 컨트롤러

이 시나리오에는 단일 시스템에 자동화 컨트롤러 서버를 설치하는 작업과 원격 PostgreSQL 인스턴스와의 통신을 해당 데이터베이스로 구성하는 작업이 포함됩니다. 이 원격 PostgreSQL은 사용자가 관리하는 서버이거나 Amazon RDS와 같은 클라우드 서비스에서 제공할 수 있습니다.

시작하기 위해 Red Hat Ansible Automation Platform 구성 요소 설치에서 외부 관리 데이터베이스를 사용하여 자동화 컨트롤러 설치를 참조하십시오.

1.4.3. 동일한 노드 또는 비installer 관리 데이터베이스의 데이터베이스가 있는 독립 실행형 자동화 허브

이 시나리오에는 단일 시스템에 웹 프런트 엔드, REST API 백엔드 및 데이터베이스를 포함한 자동화 허브의 설치가 포함됩니다. PostgreSQL을 설치하고 이를 데이터베이스로 사용하도록 자동화 허브를 구성합니다.

시작하기 위해 단일 시스템에 Red Hat Ansible Automation Platform 구성 요소를 설치할 때 동일한 노드에 데이터베이스를 사용하여 자동화 허브 설치를 참조하십시오.

1.4.4. 외부 관리 데이터베이스가 있는 독립형 자동화 허브

이 시나리오에는 단일 시스템에 자동화 허브 서버를 설치하고 Red Hat Ansible Automation Platform 설치 프로그램에서 관리하는 원격 PostgreSQL 데이터베이스를 설치하는 작업이 포함됩니다.

시작하기 위해 Red Hat Ansible Automation Platform 구성 요소 설치에서 외부 데이터베이스를 사용하여 자동화 허브 설치를 참조하십시오.

1.4.5. 자동화 컨트롤러 노드 또는 비installer 관리 데이터베이스에 데이터베이스를 사용한 플랫폼 설치

이 시나리오에는 자동화 컨트롤러 노드 또는 설치 프로그램이 아닌 관리형 데이터베이스의 데이터베이스가 있는 자동화 컨트롤러 및 자동화 허브의 설치가 포함됩니다.

시작하기 위해 Red Hat Ansible Automation Platform 설치의 자동화 컨트롤러 노드 또는 비installer 관리 데이터베이스에 데이터베이스를 사용하여 Red Hat Ansible Automation Platform 설치를 참조하십시오.

1.4.6. 외부 관리 데이터베이스를 사용한 플랫폼 설치

이 시나리오에는 자동화 컨트롤러 및 자동화 허브 설치를 포함하며 원격 PostgreSQL 인스턴스와의 통신을 해당 데이터베이스로 구성합니다. 이 원격 PostgreSQL은 사용자가 관리하는 서버이거나 Amazon RDS와 같은 클라우드 서비스에서 제공할 수 있습니다.

시작하기 위해 Red Hat Ansible Automation Platform 설치의 외부 관리 데이터베이스를 사용하여Red Hat Ansible Automation Platform 설치를 참조하십시오.

1.4.7. 외부 관리 데이터베이스를 사용한 다중 시스템 클러스터 설치

이 시나리오에는 여러 자동화 컨트롤러 노드 및 자동화 허브 인스턴스를 설치하는 작업이 포함되며, 데이터베이스로 원격 PostgreSQL 인스턴스와의 통신을 구성합니다. 이 원격 PostgreSQL은 사용자가 관리하는 서버이거나 Amazon RDS와 같은 클라우드 서비스에서 제공할 수 있습니다. 이 시나리오에서는 모든 자동화 컨트롤러가 활성 상태이며 작업을 실행할 수 있으며 모든 노드에서 HTTP 요청을 수신할 수 있습니다.

참고
  • 클러스터 설정에서 실행하려면 자동화 컨트롤러가 외부 ®PostgreSQL이 되는 데 사용하는 모든 데이터베이스가 기본 또는 보조 Tower 노드 중 하나가 아닌 컴퓨터에 설치해야 합니다. 중복 설정에서 원격 PostgreSQL 버전 요구 사항은 PostgreSQL 12 입니다.

  • [automationhub] 호스트의 액세스 가능한 IP 주소를 제공하여 사용자가 다른 노드에서 Private Automation Hub에서 콘텐츠를 동기화할 수 있도록 합니다.

시작하려면 멀티 노드 Red Hat Ansible Automation Platform설치를 참조하십시오.

2장. 단일 머신에 Red Hat Ansible Automation Platform 구성 요소 설치

다음과 같은 지원되는 시나리오 중 하나로 Red Hat Ansible Automation Platform 구성 요소를 단일 머신에 설치할 수 있습니다.

2.1. 동일한 노드에 데이터베이스를 사용하여 자동화 컨트롤러 설치

이러한 지침을 사용하여 동일한 노드에 데이터베이스가 있는 자동화 컨트롤러의 독립 실행형 인스턴스 또는 비installer 관리형 데이터베이스를 설치할 수 있습니다. 이 시나리오에는 단일 시스템에 웹 프런트 엔드, REST API 백엔드 및 데이터베이스를 포함한 자동화 컨트롤러의 설치가 포함됩니다. PostgreSQL을 설치하고 이를 데이터베이스로 사용하도록 자동화 컨트롤러를 구성합니다. 이는 표준 자동화 컨트롤러 설치 시나리오로 간주됩니다.

2.1.1. 사전 요구 사항

2.1.2. Red Hat Ansible Automation Platform 설치 프로그램 인벤토리 파일 편집

Red Hat Ansible Automation Platform 설치 프로그램 인벤토리 파일을 사용하여 설치 시나리오를 지정할 수 있습니다.

참고
  • Using external databases: 인벤토리 파일의 데이터베이스 섹션이 올바르게 설정되어 있는지 확인합니다.
  • [automationhub] 그룹에 자동화 허브 정보를 추가합니다.
  • Automation hub 및 Automation Controller는 동일한 노드에 설치할 수 없습니다.
  • 자동화 컨트롤러는 사용하는 데이터베이스에 대한 복제 또는 장애 조치(failover)를 구성하지 않습니다. 자동화 컨트롤러는 사용자가 보유한 복제와 함께 작동해야 합니다.
  • 데이터베이스 서버는 성능상의 이유로 자동화 컨트롤러 서버와 동일한 네트워크 또는 데이터 센터에 있어야 합니다.
  • Ansible Automation Platform을 설치하려면 컨테이너 레지스트리 서비스가 필요합니다. 컨테이너 레지스트리에 액세스하면 Ansible Automation Platform에 자동화 실행 환경을 로드하여 Ansible 플레이북 및 역할을 실행할 수 있는 일관되고 컨테이너화된 환경을 제공할 수 있습니다. 기본적으로 Ansible Automation Platform은 Red Hat 레지스트리 서비스 계정이 필요한 registry.redhat.io 를 사용합니다. 레지스트리 서비스 계정을 생성하려면 레지스트리 서비스 계정 생성 가이드를 참조하십시오.
  • 기존 클러스터 업그레이드 의 경우 : 클러스터를 업그레이드할 때 기존 인스턴스 또는 인스턴스 그룹을 생략하도록 클러스터를 재구성할 수도 있습니다. 인벤토리 파일에서 인스턴스 또는 인스턴스 그룹을 생략하는 것만으로는 클러스터에서 제거되지 않습니다. 인벤토리 파일에서 인스턴스 또는 인스턴스 그룹을 생략하는 것 외에도 업그레이드를 시작하기 전에 인스턴스 또는 인스턴스 그룹을 프로비저닝 해제 해야 합니다. 그러지 않으면 생략된 인스턴스 또는 인스턴스 그룹이 클러스터와 계속 통신하므로 업그레이드하는 동안 Tower 서비스에 문제가 발생할 수 있습니다.
  • 클러스터형 설치 의 경우: 클러스터형 설정을 생성하는 경우 localhost 를 모든 인스턴스의 호스트 이름 또는 IP 주소로 교체해야 합니다. 모든 노드/인스턴스는 이 호스트 이름 또는 주소를 사용하여 다른 노드/인스턴스에 도달할 수 있어야 합니다. 즉, 노드 중 하나에서 localhost ansible_connection=local 을 사용할 수 없으며 모든 노드는 호스트 이름에 동일한 형식을 사용해야 합니다.
중요
  • 원격 시스템에 대한 루트 액세스가 필요합니다. Ansible을 사용하면 다음과 같이 다양한 방법으로 루트 액세스 권한을 얻을 수 있습니다.
  • ansible_user=root ansible_ssh_pass="your_password_here" 인벤토리 호스트 또는 그룹 변수
  • ansible_user=root ansible_ssh_private_key_file="path_to_your_keyfile.pem" 인벤토리 호스트 또는 그룹 변수
  • ANSIBLE_BECOME_METHOD=’sudo’ ANSIBLE_BECOME=True ./setup.sh

become 플러그인에 대한 자세한 내용은 권한 에스컬레이션 이해를 참조하십시오.

절차

  1. 설치 프로그램으로 이동합니다.

    1. [bundled installer]

      $ cd ansible-automation-platform-setup-bundle-<latest-version>
    2. [online installer]

      $ cd ansible-automation-platform-setup-<latest-version>
  2. 텍스트 편집기를 사용하여 인벤토리 파일을 엽니다.
  3. 인벤토리 파일 매개변수를 편집하여 설치 시나리오를 지정합니다. 아래 예를 따르십시오.

2.1.3. Red Hat Ansible Automation Platform 단일 노드 인벤토리 파일의 예

이 예제에서는 자동화 컨트롤러의 단일 노드 설치를 위해 인벤토리 파일을 채울 수 있는 방법을 설명합니다.

중요
  • pg_password 에 특수 문자를 사용하지 마십시오. 이로 인해 설정이 실패할 수 있습니다.
  • registry_usernameregistry_password 에 Red Hat Registry Service 계정 자격 증명을 입력하여 Red Hat 컨테이너 레지스트리에 연결합니다.
[automationcontroller]
127.0.0.1 ansible_connection=local 1

[database]

[all:vars]
admin_password='<password>'

pg_host=''
pg_port=''

pg_database='awx'
pg_username='awx'
pg_password='<password>'

registry_url='registry.redhat.io'
registry_username='<registry username>'
registry_password='<registry password>'
1
이는 FQDN/IP로 설정해야 합니다.

2.1.4. 추가 인벤토리 파일 변수

인벤토리 파일에 추가 변수를 포함하여 Red Hat Ansible Automation Platform 설치를 추가로 구성할 수 있습니다. 이러한 구성은 Red Hat Ansible Automation Platform을 관리하기 위한 다양한 선택적 기능을 추가합니다. 텍스트 편집기를 사용하여 인벤토리 파일을 편집하여 이러한 변수를 추가합니다.

표 2.1. 추가 인벤토리 파일 변수

Variable설명Default

GALAXY_ENABLE_API_ACCESS_LOG

True 로 설정하면 사용자 이름 및 IP 주소를 포함하여 플랫폼에 수행된 모든 사용자 작업을 기록하는 /var/log/gal#178y_api_access.log 에 로그 파일을 생성합니다.

False

예제

  • api 액세스 로그를 활성화하려면 인벤토리에 변수를 추가하고 true 로 플래그를 추가합니다.
[all:vars:]
admin_password = 'password'

pg_host=''
pg_port=''

GALAXY_ENABLE_API_ACCESS_LOG=true

2.1.5. 설정 스크립트 플래그 및 추가 변수

설정 스크립트를 실행하여 자동화 컨트롤러를 설치할 때 플래그 및 추가 변수를 전달할 수도 있습니다.

표 2.2. 플래그

인수설명

-h

이 도움말 메시지 표시 및 종료

-i INVENTORY_FILE

Ansible 인벤토리 파일의 경로(기본값: 인벤토리)

-e EXTRA_VARS

추가 Ansible 변수를 key=value 또는 YAML/JSON으로 설정

-b

설치 대신 데이터베이스 백업 수행

-r

설치 대신 데이터베이스 복원 수행

-k

SECRET_KEY를 생성하고 dsitribute

적용할 Ansible 인수를 추가하려면 -- separator를 사용합니다. 예: ./setup.sh -i my_awesome_inventory.yml -e rotationburt_is_country_gold=TrueECDHE-ECDHE-K.

참고
  • EXTRA_VARS가 기본이 아닌 경로를 제공하지 않는 한 -r 을 전달하여 데이터베이스 복원 기본 복원 경로를 수행합니다. 복원 경로를 지정하는 EXTRA_VAR을 통과한 아래 예제를 참조하십시오.

    ./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r
  • -e bundle_install=false 를 전달하여 온라인 설치를 강제 수행할 수 있습니다.

    $ ./setup.sh -e bundle_install=false

표 2.3. 추가 변수

Variable설명Default

upgrade_ansible_with_tower

자동화 컨트롤러를 설치할 때 Ansible도 최신 상태인지 확인합니다.

False

create_preload_data

Tower를 설치할 때 demonstration Org, 프로젝트, 자격 증명, 작업 템플릿 등도 생성합니다.

True

bundle_install_folder

번들에서 설치할 때 번들 리포지터리를 배치할 때

var/lib/tower-bundle

nginx_disable_https

nginx를 통한 HTTPS 트래픽을 비활성화합니다. 이는 로드 밸런서에 HTTPS를 오프로드하는 경우 유용합니다.

False

nginx_disable_hsts

HSTS 웹 보안 정책 메커니즘 비활성화

False

nginx_http_port

HTTP를 수신 대기하도록 nginx를 구성하도록 포트

80

nginx_https_port

HTTPS를 수신 대기하도록 nginx 구성

443

backup_dir

백업 시 사용할 임시 위치

/var/backups/tower/

restore_backup_file

복원할 대체 백업 파일 지정

없음

required_ram

Tower를 설치하는 데 필요한 최소 RAM(테스트 설치만 변경)

3750

min_open_fds

최소 오픈 파일 설명 (테스트 설치에 대해서만 변경)

없음

ignore_preflight_errors

템플릿 또는 기타 시스템 이외의 이미지에 설치할 때 유용합니다(overrides required_rammin_open_fds).

False

  • 코어를 업그레이드하려면 다음을 수행합니다.
./setup.sh -e upgrade_ansible_with_tower=1
  • nginx에서 https 처리를 비활성화하려면 다음을 수행합니다.
./setup.sh -e nginx_disable_https=true
  • 백업 파일에서 복원할 때 기본이 아닌 경로를 지정하려면 다음을 수행합니다.
./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r

2.1.6. Red Hat Ansible Automation Platform 설치 프로그램 설정 스크립트 실행

Private Automation Hub 설치에 필요한 매개변수로 인벤토리 파일 업데이트를 완료한 후 설정 스크립트를 실행할 수 있습니다.

절차

  1. setup.sh 스크립트 실행

    $ ./setup.sh

설치가 시작됩니다.

2.1.7. 자동화 컨트롤러 설치 확인

설치가 완료되면 인벤토리 파일에 삽입한 admin 인증 정보로 로그인하여 자동화 컨트롤러가 설치되었는지 확인할 수 있습니다.

절차

  1. 인벤토리 파일에서 자동화 컨트롤러 노드에 지정된 IP 주소로 이동합니다.
  2. 인벤토리 파일에서 설정한 Admin 자격 증명으로 로그인합니다.
참고

자동화 컨트롤러 서버는 포트 80(https://<TOWER_SERVER_NAME>/)에서 액세스할 수 있지만 포트 443으로 리디렉션되므로 443도 사용할 수 있어야 합니다.

중요

설치에 실패하고 Red Hat Ansible Automation Platform에 대한 유효한 라이센스를 구매한 고객인 경우 https://access.redhat.com/ 에서 Red Hat 고객 포털을 통해 Ansible에 문의하십시오.

자동화 컨트롤러에 성공적으로 로그인하면 Red Hat Ansible Automation Platform 2.1 설치가 완료되었습니다.

2.1.7.1. 추가 자동화 컨트롤러 구성 및 리소스

추가 자동화 컨트롤러 구성을 보려면 다음 리소스를 참조하십시오.

표 2.4. 자동화 컨트롤러를 구성하는 리소스

link설명

자동화 컨트롤러 빠른 설정 가이드

자동화 컨트롤러를 설정하고 첫 번째 플레이북을 실행합니다.

자동화 컨트롤러 관리 가이드

고객 스크립트, 관리 작업 등을 통해 자동화 컨트롤러 관리를 구성합니다.

Red Hat Ansible Automation Platform의 프록시 지원 구성

프록시 서버를 사용하여 자동화 컨트롤러 설정

자동화 컨트롤러에서 사용성 분석 및 데이터 수집 관리

Red Hat과 공유하는 자동화 컨트롤러 정보 관리

자동화 컨트롤러 사용자 가이드

자동화 컨트롤러 기능을 자세히 검토합니다.

2.1.8. Ansible Automation Platform 2.1의 다음 단계

자동화를 시작하려는 새로운 Ansible Automation Platform 사용자 또는 이전 Ansible 콘텐츠를 설치된 최신 Red Hat Ansible Automation Platform 버전으로 마이그레이션하려는 기존 관리자이든 Ansible Automation Platform 2.1의 새로운 기능을 활용하는 다음 단계를 살펴보십시오.

2.1.8.1. Ansible Automation Platform 2.1으로 데이터 마이그레이션

Ansible Automation Platform 2.1으로 업그레이드를 완료하려는 플랫폼 관리자의 경우 데이터를 새 인스턴스로 마이그레이션하는 데 필요한 추가 단계가 있을 수 있습니다.

2.1.8.1.1. 레거시 가상 환경(venvs)에서 자동화 실행 환경으로 마이그레이션

Ansible Automation Platform 2.1은 Ansible 자동화를 실행하고 확장하는 데 필요한 구성 요소를 패키징하는 컨테이너화된 이미지 자동화 실행 환경을 사용하므로 사용자 정의 Python 가상 환경(venvs)에서 멀리 이동합니다. 여기에는 Ansible Core, Ansible Content Collections, Python 종속 항목, Red Hat Enterprise Linux UBI 8 및 추가 패키지 종속성이 포함됩니다.

venvs를 실행 환경으로 마이그레이션하려는 경우 (1)는 awx-manage 명령을 사용하여 원래 인스턴스에서 venvs 목록을 나열하고 내보내야 합니다. (2) ansible-builder 를 사용하여 실행 환경을 생성합니다. 자세한 내용은 Upgrading to Automation Execution Environments 가이드Ansible Builder Guide 를 참조하십시오.

2.1.8.1.2. Ansible Builder를 사용하여 Ansible Engine 2.9 이미지로 마이그레이션

Ansible Automation Platform 2.1과 함께 사용할 Ansible Engine 2.9 이미지를 마이그레이션하기 위해 ansible-builder 툴은 자동화 실행 환경에서 사용할 이미지(사용자 정의 플러그인 및 종속 항목 포함)를 다시 빌드하는 프로세스를 자동화합니다. Ansible Builder를 사용하여 실행 환경을 빌드하는 방법에 대한 자세한 내용은 Ansible 빌더 가이드를 참조하십시오.

2.1.8.1.3. Ansible Core 2.12로 마이그레이션

Ansible Core 2.12로 업그레이드할 때 최신 버전의 Ansible Core에서 지원하려면 Ansible 인프라의 플레이북, 플러그인 또는 기타 부분을 업데이트해야 합니다. Ansible 콘텐츠를 Ansible Core 2.12 호환으로 업데이트하는 방법에 대한 자세한 내용은 Ansible-core 2.12 포트 지정 가이드를 참조하십시오.

2.1.8.2. 자동화 메시를 사용하여 자동화 확장

Red Hat Ansible Automation Platform의 자동화 메시 구성 요소는 다중 사이트 배포에 자동화를 배포하는 프로세스를 단순화합니다. 여러 격리된 IT 환경을 보유한 엔터프라이즈의 경우 자동화 메시는 피어 투 피어 메시 통신 네트워크를 사용하여 실행 노드 전반에서 자동화를 일관되고 안정적으로 배포하고 확장할 수 있는 방법을 제공합니다.

버전 1.x에서 최신 버전의 Ansible Automation Platform으로 업그레이드할 때 기존 격리된 노드에서 자동화 메시에 필요한 실행 노드로 데이터를 마이그레이션해야 합니다. 하이브리드 및 제어 노드 네트워크를 계획한 다음 Ansible Automation Platform 설치 프로그램에 있는 인벤토리 파일을 편집하여 각 실행 노드에 메시 관련 값을 할당하는 방식으로 자동화 메시를 구현할 수 있습니다.

격리된 노드에서 실행 노드로 마이그레이션하는 방법에 대한 자세한 내용은 업그레이드 및 마이그레이션 가이드를 참조하십시오.

자동화 메시 및 환경에 대한 자동화 메시를 설계하는 다양한 방법에 대한 자세한 내용은 Red Hat Ansible Automation Platform 자동화 메시 가이드를 참조하십시오.

2.2. 외부 관리 데이터베이스를 사용하여 자동화 컨트롤러 설치

이러한 지침을 사용하여 원격 PostgreSQL 인스턴스와 데이터베이스로 통신하도록 구성된 단일 시스템에 독립 실행형 자동화 컨트롤러 서버를 설치할 수 있습니다. 이 원격 PostgreSQL은 사용자가 관리하는 서버이거나 Amazon RDS와 같은 클라우드 서비스에서 제공할 수 있습니다.

2.2.1. 사전 요구 사항

2.2.2. Red Hat Ansible Automation Platform 설치 프로그램 인벤토리 파일 편집

Red Hat Ansible Automation Platform 설치 프로그램 인벤토리 파일을 사용하여 설치 시나리오를 지정할 수 있습니다.

참고
  • Using external databases: 인벤토리 파일의 데이터베이스 섹션이 올바르게 설정되어 있는지 확인합니다.
  • [automationhub] 그룹에 자동화 허브 정보를 추가합니다.
  • Automation hub 및 Automation Controller는 동일한 노드에 설치할 수 없습니다.
  • 자동화 컨트롤러는 사용하는 데이터베이스에 대한 복제 또는 장애 조치(failover)를 구성하지 않습니다. 자동화 컨트롤러는 사용자가 보유한 복제와 함께 작동해야 합니다.
  • 데이터베이스 서버는 성능상의 이유로 자동화 컨트롤러 서버와 동일한 네트워크 또는 데이터 센터에 있어야 합니다.
  • Ansible Automation Platform을 설치하려면 컨테이너 레지스트리 서비스가 필요합니다. 컨테이너 레지스트리에 액세스하면 Ansible Automation Platform에 자동화 실행 환경을 로드하여 Ansible 플레이북 및 역할을 실행할 수 있는 일관되고 컨테이너화된 환경을 제공할 수 있습니다. 기본적으로 Ansible Automation Platform은 Red Hat 레지스트리 서비스 계정이 필요한 registry.redhat.io 를 사용합니다. 레지스트리 서비스 계정을 생성하려면 레지스트리 서비스 계정 생성 가이드를 참조하십시오.
  • 기존 클러스터 업그레이드 의 경우 : 클러스터를 업그레이드할 때 기존 인스턴스 또는 인스턴스 그룹을 생략하도록 클러스터를 재구성할 수도 있습니다. 인벤토리 파일에서 인스턴스 또는 인스턴스 그룹을 생략하는 것만으로는 클러스터에서 제거되지 않습니다. 인벤토리 파일에서 인스턴스 또는 인스턴스 그룹을 생략하는 것 외에도 업그레이드를 시작하기 전에 인스턴스 또는 인스턴스 그룹을 프로비저닝 해제 해야 합니다. 그러지 않으면 생략된 인스턴스 또는 인스턴스 그룹이 클러스터와 계속 통신하므로 업그레이드하는 동안 Tower 서비스에 문제가 발생할 수 있습니다.
  • 클러스터형 설치 의 경우: 클러스터형 설정을 생성하는 경우 localhost 를 모든 인스턴스의 호스트 이름 또는 IP 주소로 교체해야 합니다. 모든 노드/인스턴스는 이 호스트 이름 또는 주소를 사용하여 다른 노드/인스턴스에 도달할 수 있어야 합니다. 즉, 노드 중 하나에서 localhost ansible_connection=local 을 사용할 수 없으며 모든 노드는 호스트 이름에 동일한 형식을 사용해야 합니다.
중요
  • 원격 시스템에 대한 루트 액세스가 필요합니다. Ansible을 사용하면 다음과 같이 다양한 방법으로 루트 액세스 권한을 얻을 수 있습니다.
  • ansible_user=root ansible_ssh_pass="your_password_here" 인벤토리 호스트 또는 그룹 변수
  • ansible_user=root ansible_ssh_private_key_file="path_to_your_keyfile.pem" 인벤토리 호스트 또는 그룹 변수
  • ANSIBLE_BECOME_METHOD=’sudo’ ANSIBLE_BECOME=True ./setup.sh

become 플러그인에 대한 자세한 내용은 권한 에스컬레이션 이해를 참조하십시오.

절차

  1. 설치 프로그램으로 이동합니다.

    1. [bundled installer]

      $ cd ansible-automation-platform-setup-bundle-<latest-version>
    2. [online installer]

      $ cd ansible-automation-platform-setup-<latest-version>
  2. 텍스트 편집기를 사용하여 인벤토리 파일을 엽니다.
  3. 인벤토리 파일 매개변수를 편집하여 설치 시나리오를 지정합니다. 아래 예를 따르십시오.

2.2.3. 외부 관리 데이터베이스를 사용한 독립 실행형 자동화 컨트롤러의 인벤토리 파일 예

이 예제에서는 외부 데이터베이스로 자동화 컨트롤러 설치를 배포하기 위해 인벤토리 파일을 채우는 방법을 설명합니다.

중요
  • pg_password 에 특수 문자를 사용하지 마십시오. 이로 인해 설정이 실패할 수 있습니다.
  • registry_usernameregistry_password 에 Red Hat Registry Service 계정 자격 증명을 입력하여 Red Hat 컨테이너 레지스트리에 연결합니다.
[automationcontroller]
127.0.0.1 ansible_connection=local


[database]
database.example.com

[all:vars]
admin_password='<password>'
pg_password='<password>'

pg_host='database.example.com'
pg_port='5432'

pg_database='awx'
pg_username='awx'

registry_url='registry.redhat.io'
registry_username='<registry username>'
registry_password='<registry password>'

2.2.4. 추가 인벤토리 파일 변수

인벤토리 파일에 추가 변수를 포함하여 Red Hat Ansible Automation Platform 설치를 추가로 구성할 수 있습니다. 이러한 구성은 Red Hat Ansible Automation Platform을 관리하기 위한 다양한 선택적 기능을 추가합니다. 텍스트 편집기를 사용하여 인벤토리 파일을 편집하여 이러한 변수를 추가합니다.

표 2.5. 추가 인벤토리 파일 변수

Variable설명Default

GALAXY_ENABLE_API_ACCESS_LOG

True 로 설정하면 사용자 이름 및 IP 주소를 포함하여 플랫폼에 수행된 모든 사용자 작업을 기록하는 /var/log/gal#178y_api_access.log 에 로그 파일을 생성합니다.

False

예제

  • api 액세스 로그를 활성화하려면 인벤토리에 변수를 추가하고 true 로 플래그를 추가합니다.
[all:vars:]
admin_password = 'password'

pg_host=''
pg_port=''

GALAXY_ENABLE_API_ACCESS_LOG=true

2.2.5. 설정 스크립트 플래그 및 추가 변수

설정 스크립트를 실행하여 자동화 컨트롤러를 설치할 때 플래그 및 추가 변수를 전달할 수도 있습니다.

표 2.6. 플래그

인수설명

-h

이 도움말 메시지 표시 및 종료

-i INVENTORY_FILE

Ansible 인벤토리 파일의 경로(기본값: 인벤토리)

-e EXTRA_VARS

추가 Ansible 변수를 key=value 또는 YAML/JSON으로 설정

-b

설치 대신 데이터베이스 백업 수행

-r

설치 대신 데이터베이스 복원 수행

-k

SECRET_KEY를 생성하고 dsitribute

적용할 Ansible 인수를 추가하려면 -- separator를 사용합니다. 예: ./setup.sh -i my_awesome_inventory.yml -e rotationburt_is_country_gold=TrueECDHE-ECDHE-K.

참고
  • EXTRA_VARS가 기본이 아닌 경로를 제공하지 않는 한 -r 을 전달하여 데이터베이스 복원 기본 복원 경로를 수행합니다. 복원 경로를 지정하는 EXTRA_VAR을 통과한 아래 예제를 참조하십시오.

    ./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r
  • -e bundle_install=false 를 전달하여 온라인 설치를 강제 수행할 수 있습니다.

    $ ./setup.sh -e bundle_install=false

표 2.7. 추가 변수

Variable설명Default

upgrade_ansible_with_tower

자동화 컨트롤러를 설치할 때 Ansible도 최신 상태인지 확인합니다.

False

create_preload_data

Tower를 설치할 때 demonstration Org, 프로젝트, 자격 증명, 작업 템플릿 등도 생성합니다.

True

bundle_install_folder

번들에서 설치할 때 번들 리포지터리를 배치할 때

var/lib/tower-bundle

nginx_disable_https

nginx를 통한 HTTPS 트래픽을 비활성화합니다. 이는 로드 밸런서에 HTTPS를 오프로드하는 경우 유용합니다.

False

nginx_disable_hsts

HSTS 웹 보안 정책 메커니즘 비활성화

False

nginx_http_port

HTTP를 수신 대기하도록 nginx를 구성하도록 포트

80

nginx_https_port

HTTPS를 수신 대기하도록 nginx 구성

443

backup_dir

백업 시 사용할 임시 위치

/var/backups/tower/

restore_backup_file

복원할 대체 백업 파일 지정

없음

required_ram

Tower를 설치하는 데 필요한 최소 RAM(테스트 설치만 변경)

3750

min_open_fds

최소 오픈 파일 설명 (테스트 설치에 대해서만 변경)

없음

ignore_preflight_errors

템플릿 또는 기타 시스템 이외의 이미지에 설치할 때 유용합니다(overrides required_rammin_open_fds).

False

  • 코어를 업그레이드하려면 다음을 수행합니다.
./setup.sh -e upgrade_ansible_with_tower=1
  • nginx에서 https 처리를 비활성화하려면 다음을 수행합니다.
./setup.sh -e nginx_disable_https=true
  • 백업 파일에서 복원할 때 기본이 아닌 경로를 지정하려면 다음을 수행합니다.
./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r

2.2.6. Red Hat Ansible Automation Platform 설치 프로그램 설정 스크립트 실행

Private Automation Hub 설치에 필요한 매개변수로 인벤토리 파일 업데이트를 완료한 후 설정 스크립트를 실행할 수 있습니다.

절차

  1. setup.sh 스크립트 실행

    $ ./setup.sh

설치가 시작됩니다.

2.2.7. 자동화 컨트롤러 설치 확인

설치가 완료되면 인벤토리 파일에 삽입한 admin 인증 정보로 로그인하여 자동화 컨트롤러가 설치되었는지 확인할 수 있습니다.

절차

  1. 인벤토리 파일에서 자동화 컨트롤러 노드에 지정된 IP 주소로 이동합니다.
  2. 인벤토리 파일에서 설정한 Admin 자격 증명으로 로그인합니다.
참고

자동화 컨트롤러 서버는 포트 80(https://<TOWER_SERVER_NAME>/)에서 액세스할 수 있지만 포트 443으로 리디렉션되므로 443도 사용할 수 있어야 합니다.

중요

설치에 실패하고 Red Hat Ansible Automation Platform에 대한 유효한 라이센스를 구매한 고객인 경우 https://access.redhat.com/ 에서 Red Hat 고객 포털을 통해 Ansible에 문의하십시오.

자동화 컨트롤러에 성공적으로 로그인하면 Red Hat Ansible Automation Platform 2.1 설치가 완료되었습니다.

2.2.7.1. 추가 자동화 컨트롤러 구성 및 리소스

추가 자동화 컨트롤러 구성을 보려면 다음 리소스를 참조하십시오.

표 2.8. 자동화 컨트롤러를 구성하는 리소스

link설명

자동화 컨트롤러 빠른 설정 가이드

자동화 컨트롤러를 설정하고 첫 번째 플레이북을 실행합니다.

자동화 컨트롤러 관리 가이드

고객 스크립트, 관리 작업 등을 통해 자동화 컨트롤러 관리를 구성합니다.

Red Hat Ansible Automation Platform의 프록시 지원 구성

프록시 서버를 사용하여 자동화 컨트롤러 설정

자동화 컨트롤러에서 사용성 분석 및 데이터 수집 관리

Red Hat과 공유하는 자동화 컨트롤러 정보 관리

자동화 컨트롤러 사용자 가이드

자동화 컨트롤러 기능을 자세히 검토합니다.

2.2.8. Ansible Automation Platform 2.1의 다음 단계

자동화를 시작하려는 새로운 Ansible Automation Platform 사용자 또는 이전 Ansible 콘텐츠를 설치된 최신 Red Hat Ansible Automation Platform 버전으로 마이그레이션하려는 기존 관리자이든 Ansible Automation Platform 2.1의 새로운 기능을 활용하는 다음 단계를 살펴보십시오.

2.2.8.1. Ansible Automation Platform 2.1으로 데이터 마이그레이션

Ansible Automation Platform 2.1으로 업그레이드를 완료하려는 플랫폼 관리자의 경우 데이터를 새 인스턴스로 마이그레이션하는 데 필요한 추가 단계가 있을 수 있습니다.

2.2.8.1.1. 레거시 가상 환경(venvs)에서 자동화 실행 환경으로 마이그레이션

Ansible Automation Platform 2.1은 Ansible 자동화를 실행하고 확장하는 데 필요한 구성 요소를 패키징하는 컨테이너화된 이미지 자동화 실행 환경을 사용하므로 사용자 정의 Python 가상 환경(venvs)에서 멀리 이동합니다. 여기에는 Ansible Core, Ansible Content Collections, Python 종속 항목, Red Hat Enterprise Linux UBI 8 및 추가 패키지 종속성이 포함됩니다.

venvs를 실행 환경으로 마이그레이션하려는 경우 (1)는 awx-manage 명령을 사용하여 원래 인스턴스에서 venvs 목록을 나열하고 내보내야 합니다. (2) ansible-builder 를 사용하여 실행 환경을 생성합니다. 자세한 내용은 Upgrading to Automation Execution Environments 가이드Ansible Builder Guide 를 참조하십시오.

2.2.8.1.2. Ansible Builder를 사용하여 Ansible Engine 2.9 이미지로 마이그레이션

Ansible Automation Platform 2.1과 함께 사용할 Ansible Engine 2.9 이미지를 마이그레이션하기 위해 ansible-builder 툴은 자동화 실행 환경에서 사용할 이미지(사용자 정의 플러그인 및 종속 항목 포함)를 다시 빌드하는 프로세스를 자동화합니다. Ansible Builder를 사용하여 실행 환경을 빌드하는 방법에 대한 자세한 내용은 Ansible 빌더 가이드를 참조하십시오.

2.2.8.1.3. Ansible Core 2.12로 마이그레이션

Ansible Core 2.12로 업그레이드할 때 최신 버전의 Ansible Core에서 지원하려면 Ansible 인프라의 플레이북, 플러그인 또는 기타 부분을 업데이트해야 합니다. Ansible 콘텐츠를 Ansible Core 2.12 호환으로 업데이트하는 방법에 대한 자세한 내용은 Ansible-core 2.12 포트 지정 가이드를 참조하십시오.

2.2.8.2. 자동화 메시를 사용하여 자동화 확장

Red Hat Ansible Automation Platform의 자동화 메시 구성 요소는 다중 사이트 배포에 자동화를 배포하는 프로세스를 단순화합니다. 여러 격리된 IT 환경을 보유한 엔터프라이즈의 경우 자동화 메시는 피어 투 피어 메시 통신 네트워크를 사용하여 실행 노드 전반에서 자동화를 일관되고 안정적으로 배포하고 확장할 수 있는 방법을 제공합니다.

버전 1.x에서 최신 버전의 Ansible Automation Platform으로 업그레이드할 때 기존 격리된 노드에서 자동화 메시에 필요한 실행 노드로 데이터를 마이그레이션해야 합니다. 하이브리드 및 제어 노드 네트워크를 계획한 다음 Ansible Automation Platform 설치 프로그램에 있는 인벤토리 파일을 편집하여 각 실행 노드에 메시 관련 값을 할당하는 방식으로 자동화 메시를 구현할 수 있습니다.

격리된 노드에서 실행 노드로 마이그레이션하는 방법에 대한 자세한 내용은 업그레이드 및 마이그레이션 가이드를 참조하십시오.

자동화 메시 및 환경에 대한 자동화 메시를 설계하는 다양한 방법에 대한 자세한 내용은 Red Hat Ansible Automation Platform 자동화 메시 가이드를 참조하십시오.

2.3. 동일한 노드에 데이터베이스를 사용하여 자동화 허브 설치

이러한 지침을 사용하여 동일한 노드의 데이터베이스가 있는 자동화 허브의 독립 실행형 인스턴스 또는 비installer 관리 데이터베이스를 설치할 수 있습니다.

2.3.1. 사전 요구 사항

2.3.2. Red Hat Ansible Automation Platform 설치 설정

자동화 허브를 설치할 때 다음 설정을 사용할 수 있습니다.

  • automationhub_importer_settings: galvncy -importer 에 전달할 설정/구성 사전입니다. 이는 /etc/galxxxy-importer/galxxxy-importer.cfg로 끝납니다.
  • automationhub_require_content_approval: 자동화 허브가 수집이 제공되기 전에 승인 메커니즘을 적용하는지 여부
  • automationhub_disable_https: 자동화 허브가 TLS가 활성화된 상태에서 배포되어야 하는지 여부
  • Automationhub_disable_hsts: 자동화 허브가 HSM(HTTP Strict Transport Security) 웹 보안 정책 메커니즘을 사용하여 배포해야 하는지 여부
  • automationhub_ssl_validate_certs: 기본적으로 Platform이 자체 서명 인증서로 배포되므로 자체(default = False)를 요청할 때 자동화 허브가 인증서의 유효성을 검사해야 하는지 여부
  • automationhub_ssl_cert: web_server_ssl_cert 와 동일하지만 자동화 허브 UI 및 API
  • automationhub_ssl_key: web_server_ssl_key 와 동일하지만 자동화 허브 UI 및 API
  • automationhub_backup_collections: 자동화 허브는 /var/lib/pulp 의 아티팩트를 제공합니다. 기본적으로 이 값은 true 로 설정되므로 자동화 컨트롤러가 기본적으로 아티팩트를 자동으로 백업합니다. 파티션(예: LVM, NFS, CephFS 등)이 마운트된 경우 엔터프라이즈 조직에서 항상 백업되도록 합니다. 이 경우 automationhub_backup_collections = false 를 설정하면 backup/restore /var/lib/pulp 프로세스가 백업/복원 프로세스가 필요하지 않습니다.

2.3.3. Red Hat Ansible Automation Platform 설치 프로그램 인벤토리 파일 편집

Red Hat Ansible Automation Platform 설치 프로그램 인벤토리 파일을 사용하여 설치 시나리오를 지정할 수 있습니다.

참고
  • Using external databases: 인벤토리 파일의 데이터베이스 섹션이 올바르게 설정되어 있는지 확인합니다.
  • [automationhub] 그룹에 자동화 허브 정보를 추가합니다.
  • Automation hub 및 Automation Controller는 동일한 노드에 설치할 수 없습니다.
  • 자동화 컨트롤러는 사용하는 데이터베이스에 대한 복제 또는 장애 조치(failover)를 구성하지 않습니다. 자동화 컨트롤러는 사용자가 보유한 복제와 함께 작동해야 합니다.
  • 데이터베이스 서버는 성능상의 이유로 자동화 컨트롤러 서버와 동일한 네트워크 또는 데이터 센터에 있어야 합니다.
  • Ansible Automation Platform을 설치하려면 컨테이너 레지스트리 서비스가 필요합니다. 컨테이너 레지스트리에 액세스하면 Ansible Automation Platform에 자동화 실행 환경을 로드하여 Ansible 플레이북 및 역할을 실행할 수 있는 일관되고 컨테이너화된 환경을 제공할 수 있습니다. 기본적으로 Ansible Automation Platform은 Red Hat 레지스트리 서비스 계정이 필요한 registry.redhat.io 를 사용합니다. 레지스트리 서비스 계정을 생성하려면 레지스트리 서비스 계정 생성 가이드를 참조하십시오.
  • 기존 클러스터 업그레이드 의 경우 : 클러스터를 업그레이드할 때 기존 인스턴스 또는 인스턴스 그룹을 생략하도록 클러스터를 재구성할 수도 있습니다. 인벤토리 파일에서 인스턴스 또는 인스턴스 그룹을 생략하는 것만으로는 클러스터에서 제거되지 않습니다. 인벤토리 파일에서 인스턴스 또는 인스턴스 그룹을 생략하는 것 외에도 업그레이드를 시작하기 전에 인스턴스 또는 인스턴스 그룹을 프로비저닝 해제 해야 합니다. 그러지 않으면 생략된 인스턴스 또는 인스턴스 그룹이 클러스터와 계속 통신하므로 업그레이드하는 동안 Tower 서비스에 문제가 발생할 수 있습니다.
  • 클러스터형 설치 의 경우: 클러스터형 설정을 생성하는 경우 localhost 를 모든 인스턴스의 호스트 이름 또는 IP 주소로 교체해야 합니다. 모든 노드/인스턴스는 이 호스트 이름 또는 주소를 사용하여 다른 노드/인스턴스에 도달할 수 있어야 합니다. 즉, 노드 중 하나에서 localhost ansible_connection=local 을 사용할 수 없으며 모든 노드는 호스트 이름에 동일한 형식을 사용해야 합니다.
중요
  • 원격 시스템에 대한 루트 액세스가 필요합니다. Ansible을 사용하면 다음과 같이 다양한 방법으로 루트 액세스 권한을 얻을 수 있습니다.
  • ansible_user=root ansible_ssh_pass="your_password_here" 인벤토리 호스트 또는 그룹 변수
  • ansible_user=root ansible_ssh_private_key_file="path_to_your_keyfile.pem" 인벤토리 호스트 또는 그룹 변수
  • ANSIBLE_BECOME_METHOD=’sudo’ ANSIBLE_BECOME=True ./setup.sh

become 플러그인에 대한 자세한 내용은 권한 에스컬레이션 이해를 참조하십시오.

절차

  1. 설치 프로그램으로 이동합니다.

    1. [bundled installer]

      $ cd ansible-automation-platform-setup-bundle-<latest-version>
    2. [online installer]

      $ cd ansible-automation-platform-setup-<latest-version>
  2. 텍스트 편집기를 사용하여 인벤토리 파일을 엽니다.
  3. 인벤토리 파일 매개변수를 편집하여 설치 시나리오를 지정합니다. 아래 예를 따르십시오.

2.3.4. 독립 실행형 자동화 허브 인벤토리 파일 예

이 예제에서는 인벤토리 파일을 채워 자동화 허브의 독립 실행형 인스턴스를 배포하는 방법을 설명합니다.

중요
  • Red Hat Ansible Automation Platform 또는 자동화 허브의 경우: [automationhub] 그룹에 자동화 허브 호스트를 추가합니다. 동일한 노드에 자동화 컨트롤러 및 자동화 허브를 설치할 수 없습니다.
  • 사용자가 다른 노드에서 자동화 허브에서 콘텐츠를 동기화하고 설치할 수 있도록 [automationhub] 호스트에 연결할 수 있는 IP 주소 또는 정규화된 도메인 이름(FDQN)을 제공합니다. 'localhost'를 사용하지 마십시오.
  • registry_usernameregistry_password 에 Red Hat Registry Service 계정 자격 증명을 입력하여 Red Hat 컨테이너 레지스트리에 연결합니다.
[automationcontroller]


[automationhub]
<FQDN> ansible_connection=local

[all:vars]
registry_url='registry.redhat.io'
registry_username='<registry username>'
registry_password='<registry password>'

automationhub_admin_password= <PASSWORD>

automationhub_pg_host=''
automationhub_pg_port=''

automationhub_pg_database='automationhub'
automationhub_pg_username='automationhub'
automationhub_pg_password=<PASSWORD>
automationhub_pg_sslmode='prefer'

# The default install will deploy a TLS enabled Automation Hub.
# If for some reason this is not the behavior wanted one can
# disable TLS enabled deployment.
#
# automationhub_disable_https = False
# The default install will generate self-signed certificates for the Automation
# Hub service. If you are providing valid certificate via automationhub_ssl_cert
# and automationhub_ssl_key, one should toggle that value to True.
#
# automationhub_ssl_validate_certs = False
# SSL-related variables
# If set, this will install a custom CA certificate to the system trust store.
# custom_ca_cert=/path/to/ca.crt
# Certificate and key to install in Automation Hub node
# automationhub_ssl_cert=/path/to/automationhub.cert
# automationhub_ssl_key=/path/to/automationhub.key

2.3.5. 추가 인벤토리 파일 변수

인벤토리 파일에 추가 변수를 포함하여 Red Hat Ansible Automation Platform 설치를 추가로 구성할 수 있습니다. 이러한 구성은 Red Hat Ansible Automation Platform을 관리하기 위한 다양한 선택적 기능을 추가합니다. 텍스트 편집기를 사용하여 인벤토리 파일을 편집하여 이러한 변수를 추가합니다.

표 2.9. 추가 인벤토리 파일 변수

Variable설명Default

GALAXY_ENABLE_API_ACCESS_LOG

True 로 설정하면 사용자 이름 및 IP 주소를 포함하여 플랫폼에 수행된 모든 사용자 작업을 기록하는 /var/log/gal#178y_api_access.log 에 로그 파일을 생성합니다.

False

예제

  • api 액세스 로그를 활성화하려면 인벤토리에 변수를 추가하고 true 로 플래그를 추가합니다.
[all:vars:]
admin_password = 'password'

pg_host=''
pg_port=''

GALAXY_ENABLE_API_ACCESS_LOG=true

2.3.6. 설정 스크립트 플래그 및 추가 변수

설정 스크립트를 실행하여 자동화 컨트롤러를 설치할 때 플래그 및 추가 변수를 전달할 수도 있습니다.

표 2.10. 플래그

인수설명

-h

이 도움말 메시지 표시 및 종료

-i INVENTORY_FILE

Ansible 인벤토리 파일의 경로(기본값: 인벤토리)

-e EXTRA_VARS

추가 Ansible 변수를 key=value 또는 YAML/JSON으로 설정

-b

설치 대신 데이터베이스 백업 수행

-r

설치 대신 데이터베이스 복원 수행

-k

SECRET_KEY를 생성하고 dsitribute

적용할 Ansible 인수를 추가하려면 -- separator를 사용합니다. 예: ./setup.sh -i my_awesome_inventory.yml -e rotationburt_is_country_gold=TrueECDHE-ECDHE-K.

참고
  • EXTRA_VARS가 기본이 아닌 경로를 제공하지 않는 한 -r 을 전달하여 데이터베이스 복원 기본 복원 경로를 수행합니다. 복원 경로를 지정하는 EXTRA_VAR을 통과한 아래 예제를 참조하십시오.

    ./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r
  • -e bundle_install=false 를 전달하여 온라인 설치를 강제 수행할 수 있습니다.

    $ ./setup.sh -e bundle_install=false

표 2.11. 추가 변수

Variable설명Default

upgrade_ansible_with_tower

자동화 컨트롤러를 설치할 때 Ansible도 최신 상태인지 확인합니다.

False

create_preload_data

Tower를 설치할 때 demonstration Org, 프로젝트, 자격 증명, 작업 템플릿 등도 생성합니다.

True

bundle_install_folder

번들에서 설치할 때 번들 리포지터리를 배치할 때

var/lib/tower-bundle

nginx_disable_https

nginx를 통한 HTTPS 트래픽을 비활성화합니다. 이는 로드 밸런서에 HTTPS를 오프로드하는 경우 유용합니다.

False

nginx_disable_hsts

HSTS 웹 보안 정책 메커니즘 비활성화

False

nginx_http_port

HTTP를 수신 대기하도록 nginx를 구성하도록 포트

80

nginx_https_port

HTTPS를 수신 대기하도록 nginx 구성

443

backup_dir

백업 시 사용할 임시 위치

/var/backups/tower/

restore_backup_file

복원할 대체 백업 파일 지정

없음

required_ram

Tower를 설치하는 데 필요한 최소 RAM(테스트 설치만 변경)

3750

min_open_fds

최소 오픈 파일 설명 (테스트 설치에 대해서만 변경)

없음

ignore_preflight_errors

템플릿 또는 기타 시스템 이외의 이미지에 설치할 때 유용합니다(overrides required_rammin_open_fds).

False

  • 코어를 업그레이드하려면 다음을 수행합니다.
./setup.sh -e upgrade_ansible_with_tower=1
  • nginx에서 https 처리를 비활성화하려면 다음을 수행합니다.
./setup.sh -e nginx_disable_https=true
  • 백업 파일에서 복원할 때 기본이 아닌 경로를 지정하려면 다음을 수행합니다.
./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r

2.3.7. Red Hat Ansible Automation Platform 설치 프로그램 설정 스크립트 실행

Private Automation Hub 설치에 필요한 매개변수로 인벤토리 파일 업데이트를 완료한 후 설정 스크립트를 실행할 수 있습니다.

절차

  1. setup.sh 스크립트 실행

    $ ./setup.sh

설치가 시작됩니다.

2.3.8. 자동화 허브 설치 확인

설치가 완료되면 인벤토리 파일에 삽입한 admin 인증 정보로 로그인하여 자동화 허브가 성공적으로 설치되었는지 확인할 수 있습니다.

절차

  1. 인벤토리 파일에서 자동화 허브 노드에 지정된 IP 주소로 이동합니다.
  2. 인벤토리 파일에서 설정한 Admin 자격 증명으로 로그인합니다.
중요

설치에 실패하고 Red Hat Ansible Automation Platform에 대한 유효한 라이센스를 구매한 고객인 경우 https://access.redhat.com/ 에서 Red Hat 고객 포털을 통해 Ansible에 문의하십시오.

자동화 허브에 성공적으로 로그인하면 Red Hat Ansible Automation Platform 2.1 설치가 완료되었습니다.

2.3.8.1. 추가 자동화 허브 구성 및 리소스

추가 자동화 허브 구성을 보려면 다음 리소스를 참조하십시오.

표 2.12. 자동화 컨트롤러를 구성하는 리소스

link설명

프라이빗 자동화 허브에서 사용자 액세스 관리

자동화 허브를 위한 사용자 액세스 구성

자동화 허브에서 Red Hat Certified 및 Ansible Galaxy 컬렉션 관리

자동화 허브에 콘텐츠 추가

자동화 허브에서 독점 콘텐츠 컬렉션 게시

자동화 허브에 내부적으로 개발한 컬렉션 게시

2.3.9. Ansible Automation Platform 2.1의 다음 단계

자동화를 시작하려는 새로운 Ansible Automation Platform 사용자 또는 이전 Ansible 콘텐츠를 설치된 최신 Red Hat Ansible Automation Platform 버전으로 마이그레이션하려는 기존 관리자이든 Ansible Automation Platform 2.1의 새로운 기능을 활용하는 다음 단계를 살펴보십시오.

2.3.9.1. Ansible Automation Platform 2.1으로 데이터 마이그레이션

Ansible Automation Platform 2.1으로 업그레이드를 완료하려는 플랫폼 관리자의 경우 데이터를 새 인스턴스로 마이그레이션하는 데 필요한 추가 단계가 있을 수 있습니다.

2.3.9.1.1. 레거시 가상 환경(venvs)에서 자동화 실행 환경으로 마이그레이션

Ansible Automation Platform 2.1은 Ansible 자동화를 실행하고 확장하는 데 필요한 구성 요소를 패키징하는 컨테이너화된 이미지 자동화 실행 환경을 사용하므로 사용자 정의 Python 가상 환경(venvs)에서 멀리 이동합니다. 여기에는 Ansible Core, Ansible Content Collections, Python 종속 항목, Red Hat Enterprise Linux UBI 8 및 추가 패키지 종속성이 포함됩니다.

venvs를 실행 환경으로 마이그레이션하려는 경우 (1)는 awx-manage 명령을 사용하여 원래 인스턴스에서 venvs 목록을 나열하고 내보내야 합니다. (2) ansible-builder 를 사용하여 실행 환경을 생성합니다. 자세한 내용은 Upgrading to Automation Execution Environments 가이드Ansible Builder Guide 를 참조하십시오.

2.3.9.1.2. Ansible Builder를 사용하여 Ansible Engine 2.9 이미지로 마이그레이션

Ansible Automation Platform 2.1과 함께 사용할 Ansible Engine 2.9 이미지를 마이그레이션하기 위해 ansible-builder 툴은 자동화 실행 환경에서 사용할 이미지(사용자 정의 플러그인 및 종속 항목 포함)를 다시 빌드하는 프로세스를 자동화합니다. Ansible Builder를 사용하여 실행 환경을 빌드하는 방법에 대한 자세한 내용은 Ansible 빌더 가이드를 참조하십시오.

2.3.9.1.3. Ansible Core 2.12로 마이그레이션

Ansible Core 2.12로 업그레이드할 때 최신 버전의 Ansible Core에서 지원하려면 Ansible 인프라의 플레이북, 플러그인 또는 기타 부분을 업데이트해야 합니다. Ansible 콘텐츠를 Ansible Core 2.12 호환으로 업데이트하는 방법에 대한 자세한 내용은 Ansible-core 2.12 포트 지정 가이드를 참조하십시오.

2.3.9.2. 자동화 메시를 사용하여 자동화 확장

Red Hat Ansible Automation Platform의 자동화 메시 구성 요소는 다중 사이트 배포에 자동화를 배포하는 프로세스를 단순화합니다. 여러 격리된 IT 환경을 보유한 엔터프라이즈의 경우 자동화 메시는 피어 투 피어 메시 통신 네트워크를 사용하여 실행 노드 전반에서 자동화를 일관되고 안정적으로 배포하고 확장할 수 있는 방법을 제공합니다.

버전 1.x에서 최신 버전의 Ansible Automation Platform으로 업그레이드할 때 기존 격리된 노드에서 자동화 메시에 필요한 실행 노드로 데이터를 마이그레이션해야 합니다. 하이브리드 및 제어 노드 네트워크를 계획한 다음 Ansible Automation Platform 설치 프로그램에 있는 인벤토리 파일을 편집하여 각 실행 노드에 메시 관련 값을 할당하는 방식으로 자동화 메시를 구현할 수 있습니다.

격리된 노드에서 실행 노드로 마이그레이션하는 방법에 대한 자세한 내용은 업그레이드 및 마이그레이션 가이드를 참조하십시오.

자동화 메시 및 환경에 대한 자동화 메시를 설계하는 다양한 방법에 대한 자세한 내용은 Red Hat Ansible Automation Platform 자동화 메시 가이드를 참조하십시오.

2.4. 외부 데이터베이스를 사용하여 자동화 허브 설치

이러한 지침을 사용하여 외부 관리 데이터베이스로 자동화 허브의 독립 실행형 인스턴스를 설치할 수 있습니다. 그러면 단일 시스템에 자동화 허브 서버를 설치하고 Ansible Automation Platform 설치 프로그램을 사용하여 원격 PostgreSQL 데이터베이스를 설치합니다.

2.4.1. 사전 요구 사항

2.4.2. Red Hat Ansible Automation Platform 설치 설정

자동화 허브를 설치할 때 다음 설정을 사용할 수 있습니다.

  • automationhub_importer_settings: galvncy -importer 에 전달할 설정/구성 사전입니다. 이는 /etc/galxxxy-importer/galxxxy-importer.cfg로 끝납니다.
  • automationhub_require_content_approval: 자동화 허브가 수집이 제공되기 전에 승인 메커니즘을 적용하는지 여부
  • automationhub_disable_https: 자동화 허브가 TLS가 활성화된 상태에서 배포되어야 하는지 여부
  • Automationhub_disable_hsts: 자동화 허브가 HSM(HTTP Strict Transport Security) 웹 보안 정책 메커니즘을 사용하여 배포해야 하는지 여부
  • automationhub_ssl_validate_certs: 기본적으로 Platform이 자체 서명 인증서로 배포되므로 자체(default = False)를 요청할 때 자동화 허브가 인증서의 유효성을 검사해야 하는지 여부
  • automationhub_ssl_cert: web_server_ssl_cert 와 동일하지만 자동화 허브 UI 및 API
  • automationhub_ssl_key: web_server_ssl_key 와 동일하지만 자동화 허브 UI 및 API
  • automationhub_backup_collections: 자동화 허브는 /var/lib/pulp 의 아티팩트를 제공합니다. 기본적으로 이 값은 true 로 설정되므로 자동화 컨트롤러가 기본적으로 아티팩트를 자동으로 백업합니다. 파티션(예: LVM, NFS, CephFS 등)이 마운트된 경우 엔터프라이즈 조직에서 항상 백업되도록 합니다. 이 경우 automationhub_backup_collections = false 를 설정하면 backup/restore /var/lib/pulp 프로세스가 백업/복원 프로세스가 필요하지 않습니다.

2.4.3. Red Hat Ansible Automation Platform 설치 프로그램 인벤토리 파일 편집

Red Hat Ansible Automation Platform 설치 프로그램 인벤토리 파일을 사용하여 설치 시나리오를 지정할 수 있습니다.

참고
  • Using external databases: 인벤토리 파일의 데이터베이스 섹션이 올바르게 설정되어 있는지 확인합니다.
  • [automationhub] 그룹에 자동화 허브 정보를 추가합니다.
  • Automation hub 및 Automation Controller는 동일한 노드에 설치할 수 없습니다.
  • 자동화 컨트롤러는 사용하는 데이터베이스에 대한 복제 또는 장애 조치(failover)를 구성하지 않습니다. 자동화 컨트롤러는 사용자가 보유한 복제와 함께 작동해야 합니다.
  • 데이터베이스 서버는 성능상의 이유로 자동화 컨트롤러 서버와 동일한 네트워크 또는 데이터 센터에 있어야 합니다.
  • Ansible Automation Platform을 설치하려면 컨테이너 레지스트리 서비스가 필요합니다. 컨테이너 레지스트리에 액세스하면 Ansible Automation Platform에 자동화 실행 환경을 로드하여 Ansible 플레이북 및 역할을 실행할 수 있는 일관되고 컨테이너화된 환경을 제공할 수 있습니다. 기본적으로 Ansible Automation Platform은 Red Hat 레지스트리 서비스 계정이 필요한 registry.redhat.io 를 사용합니다. 레지스트리 서비스 계정을 생성하려면 레지스트리 서비스 계정 생성 가이드를 참조하십시오.
  • 기존 클러스터 업그레이드 의 경우 : 클러스터를 업그레이드할 때 기존 인스턴스 또는 인스턴스 그룹을 생략하도록 클러스터를 재구성할 수도 있습니다. 인벤토리 파일에서 인스턴스 또는 인스턴스 그룹을 생략하는 것만으로는 클러스터에서 제거되지 않습니다. 인벤토리 파일에서 인스턴스 또는 인스턴스 그룹을 생략하는 것 외에도 업그레이드를 시작하기 전에 인스턴스 또는 인스턴스 그룹을 프로비저닝 해제 해야 합니다. 그러지 않으면 생략된 인스턴스 또는 인스턴스 그룹이 클러스터와 계속 통신하므로 업그레이드하는 동안 Tower 서비스에 문제가 발생할 수 있습니다.
  • 클러스터형 설치 의 경우: 클러스터형 설정을 생성하는 경우 localhost 를 모든 인스턴스의 호스트 이름 또는 IP 주소로 교체해야 합니다. 모든 노드/인스턴스는 이 호스트 이름 또는 주소를 사용하여 다른 노드/인스턴스에 도달할 수 있어야 합니다. 즉, 노드 중 하나에서 localhost ansible_connection=local 을 사용할 수 없으며 모든 노드는 호스트 이름에 동일한 형식을 사용해야 합니다.
중요
  • 원격 시스템에 대한 루트 액세스가 필요합니다. Ansible을 사용하면 다음과 같이 다양한 방법으로 루트 액세스 권한을 얻을 수 있습니다.
  • ansible_user=root ansible_ssh_pass="your_password_here" 인벤토리 호스트 또는 그룹 변수
  • ansible_user=root ansible_ssh_private_key_file="path_to_your_keyfile.pem" 인벤토리 호스트 또는 그룹 변수
  • ANSIBLE_BECOME_METHOD=’sudo’ ANSIBLE_BECOME=True ./setup.sh

become 플러그인에 대한 자세한 내용은 권한 에스컬레이션 이해를 참조하십시오.

절차

  1. 설치 프로그램으로 이동합니다.

    1. [bundled installer]

      $ cd ansible-automation-platform-setup-bundle-<latest-version>
    2. [online installer]

      $ cd ansible-automation-platform-setup-<latest-version>
  2. 텍스트 편집기를 사용하여 인벤토리 파일을 엽니다.
  3. 인벤토리 파일 매개변수를 편집하여 설치 시나리오를 지정합니다. 아래 예를 따르십시오.

2.4.4. 독립 실행형 자동화 허브 인벤토리 파일 예

이 예제에서는 인벤토리 파일을 채워 자동화 허브의 독립 실행형 인스턴스를 배포하는 방법을 설명합니다.

중요
  • Red Hat Ansible Automation Platform 또는 자동화 허브의 경우: '[automationhub] 그룹에 자동화 허브 호스트를 추가합니다. 동일한 노드에 자동화 컨트롤러 및 자동화 허브를 설치할 수 없습니다.
  • 사용자가 다른 노드에서 자동화 허브에서 콘텐츠를 동기화하고 설치할 수 있도록 [automationhub] 호스트에 연결할 수 있는 IP 주소 또는 정규화된 도메인 이름(FDQN)을 제공합니다. 'localhost'를 사용하지 마십시오.
  • registry_usernameregistry_password 에 Red Hat Registry Service 계정 자격 증명을 입력하여 Red Hat 컨테이너 레지스트리에 연결합니다.
[automationcontroller]


[automationhub]
<FQDN> ansible_connection=local

[database]
host2

[all:vars]
registry_url='registry.redhat.io'
registry_username='<registry username>'
registry_password='<registry password>'

automationhub_admin_password= <PASSWORD>

automationhub_pg_host=''
automationhub_pg_port=''

automationhub_pg_database='automationhub'
automationhub_pg_username='automationhub'
automationhub_pg_password=<PASSWORD>
automationhub_pg_sslmode='prefer'

# The default install will deploy a TLS enabled Automation Hub.
# If for some reason this is not the behavior wanted one can
# disable TLS enabled deployment.
#
# automationhub_disable_https = False
# The default install will generate self-signed certificates for the Automation
# Hub service. If you are providing valid certificate via automationhub_ssl_cert
# and automationhub_ssl_key, one should toggle that value to True.
#
# automationhub_ssl_validate_certs = False
# SSL-related variables
# If set, this will install a custom CA certificate to the system trust store.
# custom_ca_cert=/path/to/ca.crt
# Certificate and key to install in Automation Hub node
# automationhub_ssl_cert=/path/to/automationhub.cert
# automationhub_ssl_key=/path/to/automationhub.key

2.4.5. 추가 인벤토리 파일 변수

인벤토리 파일에 추가 변수를 포함하여 Red Hat Ansible Automation Platform 설치를 추가로 구성할 수 있습니다. 이러한 구성은 Red Hat Ansible Automation Platform을 관리하기 위한 다양한 선택적 기능을 추가합니다. 텍스트 편집기를 사용하여 인벤토리 파일을 편집하여 이러한 변수를 추가합니다.

표 2.13. 추가 인벤토리 파일 변수

Variable설명Default

GALAXY_ENABLE_API_ACCESS_LOG

True 로 설정하면 사용자 이름 및 IP 주소를 포함하여 플랫폼에 수행된 모든 사용자 작업을 기록하는 /var/log/gal#178y_api_access.log 에 로그 파일을 생성합니다.

False

예제

  • api 액세스 로그를 활성화하려면 인벤토리에 변수를 추가하고 true 로 플래그를 추가합니다.
[all:vars:]
admin_password = 'password'

pg_host=''
pg_port=''

GALAXY_ENABLE_API_ACCESS_LOG=true

2.4.6. 설정 스크립트 플래그 및 추가 변수

설정 스크립트를 실행하여 자동화 컨트롤러를 설치할 때 플래그 및 추가 변수를 전달할 수도 있습니다.

표 2.14. 플래그

인수설명

-h

이 도움말 메시지 표시 및 종료

-i INVENTORY_FILE

Ansible 인벤토리 파일의 경로(기본값: 인벤토리)

-e EXTRA_VARS

추가 Ansible 변수를 key=value 또는 YAML/JSON으로 설정

-b

설치 대신 데이터베이스 백업 수행

-r

설치 대신 데이터베이스 복원 수행

-k

SECRET_KEY를 생성하고 dsitribute

적용할 Ansible 인수를 추가하려면 -- separator를 사용합니다. 예: ./setup.sh -i my_awesome_inventory.yml -e rotationburt_is_country_gold=TrueECDHE-ECDHE-K.

참고
  • EXTRA_VARS가 기본이 아닌 경로를 제공하지 않는 한 -r 을 전달하여 데이터베이스 복원 기본 복원 경로를 수행합니다. 복원 경로를 지정하는 EXTRA_VAR을 통과한 아래 예제를 참조하십시오.

    ./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r
  • -e bundle_install=false 를 전달하여 온라인 설치를 강제 수행할 수 있습니다.

    $ ./setup.sh -e bundle_install=false

표 2.15. 추가 변수

Variable설명Default

upgrade_ansible_with_tower

자동화 컨트롤러를 설치할 때 Ansible도 최신 상태인지 확인합니다.

False

create_preload_data

Tower를 설치할 때 demonstration Org, 프로젝트, 자격 증명, 작업 템플릿 등도 생성합니다.

True

bundle_install_folder

번들에서 설치할 때 번들 리포지터리를 배치할 때

var/lib/tower-bundle

nginx_disable_https

nginx를 통한 HTTPS 트래픽을 비활성화합니다. 이는 로드 밸런서에 HTTPS를 오프로드하는 경우 유용합니다.

False

nginx_disable_hsts

HSTS 웹 보안 정책 메커니즘 비활성화

False

nginx_http_port

HTTP를 수신 대기하도록 nginx를 구성하도록 포트

80

nginx_https_port

HTTPS를 수신 대기하도록 nginx 구성

443

backup_dir

백업 시 사용할 임시 위치

/var/backups/tower/

restore_backup_file

복원할 대체 백업 파일 지정

없음

required_ram

Tower를 설치하는 데 필요한 최소 RAM(테스트 설치만 변경)

3750

min_open_fds

최소 오픈 파일 설명 (테스트 설치에 대해서만 변경)

없음

ignore_preflight_errors

템플릿 또는 기타 시스템 이외의 이미지에 설치할 때 유용합니다(overrides required_rammin_open_fds).

False

  • 코어를 업그레이드하려면 다음을 수행합니다.
./setup.sh -e upgrade_ansible_with_tower=1
  • nginx에서 https 처리를 비활성화하려면 다음을 수행합니다.
./setup.sh -e nginx_disable_https=true
  • 백업 파일에서 복원할 때 기본이 아닌 경로를 지정하려면 다음을 수행합니다.
./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r

2.4.7. Red Hat Ansible Automation Platform 설치 프로그램 설정 스크립트 실행

Private Automation Hub 설치에 필요한 매개변수로 인벤토리 파일 업데이트를 완료한 후 설정 스크립트를 실행할 수 있습니다.

절차

  1. setup.sh 스크립트 실행

    $ ./setup.sh

설치가 시작됩니다.

2.4.8. 자동화 컨트롤러 설치 확인

설치가 완료되면 인벤토리 파일에 삽입한 admin 인증 정보로 로그인하여 자동화 컨트롤러가 설치되었는지 확인할 수 있습니다.

절차

  1. 인벤토리 파일에서 자동화 컨트롤러 노드에 지정된 IP 주소로 이동합니다.
  2. 인벤토리 파일에서 설정한 Admin 자격 증명으로 로그인합니다.
참고

자동화 컨트롤러 서버는 포트 80(https://<TOWER_SERVER_NAME>/)에서 액세스할 수 있지만 포트 443으로 리디렉션되므로 443도 사용할 수 있어야 합니다.

중요

설치에 실패하고 Red Hat Ansible Automation Platform에 대한 유효한 라이센스를 구매한 고객인 경우 https://access.redhat.com/ 에서 Red Hat 고객 포털을 통해 Ansible에 문의하십시오.

자동화 컨트롤러에 성공적으로 로그인하면 Red Hat Ansible Automation Platform 2.1 설치가 완료되었습니다.

2.4.8.1. 추가 자동화 허브 구성 및 리소스

추가 자동화 허브 구성을 보려면 다음 리소스를 참조하십시오.

표 2.16. 자동화 컨트롤러를 구성하는 리소스

link설명

프라이빗 자동화 허브에서 사용자 액세스 관리

자동화 허브를 위한 사용자 액세스 구성

자동화 허브에서 Red Hat Certified 및 Ansible Galaxy 컬렉션 관리

자동화 허브에 콘텐츠 추가

자동화 허브에서 독점 콘텐츠 컬렉션 게시

자동화 허브에 내부적으로 개발한 컬렉션 게시

2.4.9. Ansible Automation Platform 2.1의 다음 단계

자동화를 시작하려는 새로운 Ansible Automation Platform 사용자 또는 이전 Ansible 콘텐츠를 설치된 최신 Red Hat Ansible Automation Platform 버전으로 마이그레이션하려는 기존 관리자이든 Ansible Automation Platform 2.1의 새로운 기능을 활용하는 다음 단계를 살펴보십시오.

2.4.9.1. Ansible Automation Platform 2.1으로 데이터 마이그레이션

Ansible Automation Platform 2.1으로 업그레이드를 완료하려는 플랫폼 관리자의 경우 데이터를 새 인스턴스로 마이그레이션하는 데 필요한 추가 단계가 있을 수 있습니다.

2.4.9.1.1. 레거시 가상 환경(venvs)에서 자동화 실행 환경으로 마이그레이션

Ansible Automation Platform 2.1은 Ansible 자동화를 실행하고 확장하는 데 필요한 구성 요소를 패키징하는 컨테이너화된 이미지 자동화 실행 환경을 사용하므로 사용자 정의 Python 가상 환경(venvs)에서 멀리 이동합니다. 여기에는 Ansible Core, Ansible Content Collections, Python 종속 항목, Red Hat Enterprise Linux UBI 8 및 추가 패키지 종속성이 포함됩니다.

venvs를 실행 환경으로 마이그레이션하려는 경우 (1)는 awx-manage 명령을 사용하여 원래 인스턴스에서 venvs 목록을 나열하고 내보내야 합니다. (2) ansible-builder 를 사용하여 실행 환경을 생성합니다. 자세한 내용은 Upgrading to Automation Execution Environments 가이드Ansible Builder Guide 를 참조하십시오.

2.4.9.1.2. Ansible Builder를 사용하여 Ansible Engine 2.9 이미지로 마이그레이션

Ansible Automation Platform 2.1과 함께 사용할 Ansible Engine 2.9 이미지를 마이그레이션하기 위해 ansible-builder 툴은 자동화 실행 환경에서 사용할 이미지(사용자 정의 플러그인 및 종속 항목 포함)를 다시 빌드하는 프로세스를 자동화합니다. Ansible Builder를 사용하여 실행 환경을 빌드하는 방법에 대한 자세한 내용은 Ansible 빌더 가이드를 참조하십시오.

2.4.9.1.3. Ansible Core 2.12로 마이그레이션

Ansible Core 2.12로 업그레이드할 때 최신 버전의 Ansible Core에서 지원하려면 Ansible 인프라의 플레이북, 플러그인 또는 기타 부분을 업데이트해야 합니다. Ansible 콘텐츠를 Ansible Core 2.12 호환으로 업데이트하는 방법에 대한 자세한 내용은 Ansible-core 2.12 포트 지정 가이드를 참조하십시오.

2.4.9.2. 자동화 메시를 사용하여 자동화 확장

Red Hat Ansible Automation Platform의 자동화 메시 구성 요소는 다중 사이트 배포에 자동화를 배포하는 프로세스를 단순화합니다. 여러 격리된 IT 환경을 보유한 엔터프라이즈의 경우 자동화 메시는 피어 투 피어 메시 통신 네트워크를 사용하여 실행 노드 전반에서 자동화를 일관되고 안정적으로 배포하고 확장할 수 있는 방법을 제공합니다.

버전 1.x에서 최신 버전의 Ansible Automation Platform으로 업그레이드할 때 기존 격리된 노드에서 자동화 메시에 필요한 실행 노드로 데이터를 마이그레이션해야 합니다. 하이브리드 및 제어 노드 네트워크를 계획한 다음 Ansible Automation Platform 설치 프로그램에 있는 인벤토리 파일을 편집하여 각 실행 노드에 메시 관련 값을 할당하는 방식으로 자동화 메시를 구현할 수 있습니다.

격리된 노드에서 실행 노드로 마이그레이션하는 방법에 대한 자세한 내용은 업그레이드 및 마이그레이션 가이드를 참조하십시오.

자동화 메시 및 환경에 대한 자동화 메시를 설계하는 다양한 방법에 대한 자세한 내용은 Red Hat Ansible Automation Platform 자동화 메시 가이드를 참조하십시오.

3장. Red Hat Ansible Automation Platform 설치

Red Hat Ansible Automation Platform 설치에는 자동화 컨트롤러 및 자동화 허브를 배포해야 합니다.

중요

Ansible Automation Platform 설치 프로그램을 사용하면 인벤토리당 하나의 자동화 허브만 배포할 수 있습니다. 자동화 허브의 독립 실행형 인스턴스에 대해 Ansible Automation Platform 설치 프로그램을 사용하고 설치 프로그램을 여러 개의 다른 인벤토리와 함께 여러 번 실행하여 여러 자동화 허브 노드를 배포할 수 있습니다.

이 설치 옵션에는 지원되는 두 가지 시나리오가 포함되어 있습니다.

3.1. 자동화 컨트롤러 노드 또는 비installer 관리 데이터베이스에 데이터베이스를 사용하여 Red Hat Ansible Automation Platform 설치

이러한 지침을 사용하여 자동화 컨트롤러 노드의 데이터베이스 또는 비installer 관리 데이터베이스와 함께 Red Hat Ansible Automation Platform(자동 컨트롤러 및 자동화 허브 모두)을 설치할 수 있습니다.

3.1.1. 사전 요구 사항

3.1.2. Red Hat Ansible Automation Platform 설치 설정

자동화 허브를 설치할 때 다음 설정을 사용할 수 있습니다.

  • automationhub_importer_settings: galvncy -importer 에 전달할 설정/구성 사전입니다. 이는 /etc/galxxxy-importer/galxxxy-importer.cfg로 끝납니다.
  • automationhub_require_content_approval: 자동화 허브가 수집이 제공되기 전에 승인 메커니즘을 적용하는지 여부
  • automationhub_disable_https: 자동화 허브가 TLS가 활성화된 상태에서 배포되어야 하는지 여부
  • Automationhub_disable_hsts: 자동화 허브가 HSM(HTTP Strict Transport Security) 웹 보안 정책 메커니즘을 사용하여 배포해야 하는지 여부
  • automationhub_ssl_validate_certs: 기본적으로 Platform이 자체 서명 인증서로 배포되므로 자체(default = False)를 요청할 때 자동화 허브가 인증서의 유효성을 검사해야 하는지 여부
  • automationhub_ssl_cert: web_server_ssl_cert 와 동일하지만 자동화 허브 UI 및 API
  • automationhub_ssl_key: web_server_ssl_key 와 동일하지만 자동화 허브 UI 및 API
  • automationhub_backup_collections: 자동화 허브는 /var/lib/pulp 의 아티팩트를 제공합니다. 기본적으로 이 값은 true 로 설정되므로 자동화 컨트롤러가 기본적으로 아티팩트를 자동으로 백업합니다. 파티션(예: LVM, NFS, CephFS 등)이 마운트된 경우 엔터프라이즈 조직에서 항상 백업되도록 합니다. 이 경우 automationhub_backup_collections = false 를 설정하면 backup/restore /var/lib/pulp 프로세스가 백업/복원 프로세스가 필요하지 않습니다.

3.1.3. Red Hat Ansible Automation Platform 설치 프로그램 인벤토리 파일 편집

Red Hat Ansible Automation Platform 설치 프로그램 인벤토리 파일을 사용하여 설치 시나리오를 지정할 수 있습니다.

참고
  • Using external databases: 인벤토리 파일의 데이터베이스 섹션이 올바르게 설정되어 있는지 확인합니다.
  • [automationhub] 그룹에 자동화 허브 정보를 추가합니다.
  • Automation hub 및 Automation Controller는 동일한 노드에 설치할 수 없습니다.
  • 자동화 컨트롤러는 사용하는 데이터베이스에 대한 복제 또는 장애 조치(failover)를 구성하지 않습니다. 자동화 컨트롤러는 사용자가 보유한 복제와 함께 작동해야 합니다.
  • 데이터베이스 서버는 성능상의 이유로 자동화 컨트롤러 서버와 동일한 네트워크 또는 데이터 센터에 있어야 합니다.
  • Ansible Automation Platform을 설치하려면 컨테이너 레지스트리 서비스가 필요합니다. 컨테이너 레지스트리에 액세스하면 Ansible Automation Platform에 자동화 실행 환경을 로드하여 Ansible 플레이북 및 역할을 실행할 수 있는 일관되고 컨테이너화된 환경을 제공할 수 있습니다. 기본적으로 Ansible Automation Platform은 Red Hat 레지스트리 서비스 계정이 필요한 registry.redhat.io 를 사용합니다. 레지스트리 서비스 계정을 생성하려면 레지스트리 서비스 계정 생성 가이드를 참조하십시오.
  • 기존 클러스터 업그레이드 의 경우 : 클러스터를 업그레이드할 때 기존 인스턴스 또는 인스턴스 그룹을 생략하도록 클러스터를 재구성할 수도 있습니다. 인벤토리 파일에서 인스턴스 또는 인스턴스 그룹을 생략하는 것만으로는 클러스터에서 제거되지 않습니다. 인벤토리 파일에서 인스턴스 또는 인스턴스 그룹을 생략하는 것 외에도 업그레이드를 시작하기 전에 인스턴스 또는 인스턴스 그룹을 프로비저닝 해제 해야 합니다. 그러지 않으면 생략된 인스턴스 또는 인스턴스 그룹이 클러스터와 계속 통신하므로 업그레이드하는 동안 Tower 서비스에 문제가 발생할 수 있습니다.
  • 클러스터형 설치 의 경우: 클러스터형 설정을 생성하는 경우 localhost 를 모든 인스턴스의 호스트 이름 또는 IP 주소로 교체해야 합니다. 모든 노드/인스턴스는 이 호스트 이름 또는 주소를 사용하여 다른 노드/인스턴스에 도달할 수 있어야 합니다. 즉, 노드 중 하나에서 localhost ansible_connection=local 을 사용할 수 없으며 모든 노드는 호스트 이름에 동일한 형식을 사용해야 합니다.
중요
  • 원격 시스템에 대한 루트 액세스가 필요합니다. Ansible을 사용하면 다음과 같이 다양한 방법으로 루트 액세스 권한을 얻을 수 있습니다.
  • ansible_user=root ansible_ssh_pass="your_password_here" 인벤토리 호스트 또는 그룹 변수
  • ansible_user=root ansible_ssh_private_key_file="path_to_your_keyfile.pem" 인벤토리 호스트 또는 그룹 변수
  • ANSIBLE_BECOME_METHOD=’sudo’ ANSIBLE_BECOME=True ./setup.sh

become 플러그인에 대한 자세한 내용은 권한 에스컬레이션 이해를 참조하십시오.

절차

  1. 설치 프로그램으로 이동합니다.

    1. [bundled installer]

      $ cd ansible-automation-platform-setup-bundle-<latest-version>
    2. [online installer]

      $ cd ansible-automation-platform-setup-<latest-version>
  2. 텍스트 편집기를 사용하여 인벤토리 파일을 엽니다.
  3. 인벤토리 파일 매개변수를 편집하여 설치 시나리오를 지정합니다. 아래 예를 따르십시오.

3.1.4. 자동화 컨트롤러 노드 또는 비installer 관리 데이터베이스에서 데이터베이스에 대한 인벤토리 파일의 예

이 예제에서는 Red Hat Ansible Automation Platform을 설치하기 위해 인벤토리 파일을 채우는 방법을 설명합니다. 이 설치 인벤토리 파일에는 자동화 컨트롤러 노드 또는 비installer 관리 데이터베이스의 데이터베이스가 있는 자동화 컨트롤러 및 자동화 허브가 모두 포함됩니다.

중요
  • 동일한 노드에 자동화 컨트롤러 및 자동화 허브를 설치할 수 없습니다.
  • [automationhub] 호스트의 액세스 가능한 IP 주소를 제공하여 사용자가 다른 노드에서 Private Automation Hub에서 콘텐츠를 동기화할 수 있도록 합니다.
  • registry_usernameregistry_password 에 Red Hat Registry Service 계정 자격 증명을 입력하여 Red Hat 컨테이너 레지스트리에 연결합니다.
[automationcontroller]
controller.acme.org

[automationhub]
automationhub.acme.org

[all:vars]
admin_password='<password>'
pg_host=''
pg_port=''
pg_database='awx'
pg_username='awx'
pg_password='<password>'
pg_sslmode='prefer'  # set to 'verify-full' for client-side enforced SSL

registry_url='registry.redhat.io'
registry_username='<registry username>'
registry_password='<registry password>'

# Automation Hub Configuration
#
automationhub_admin_password='<password>'
automationhub_pg_host='controller.acme.org'
automationhub_pg_port='5432'
automationhub_pg_database='automationhub'
automationhub_pg_username='automationhub'
automationhub_pg_password='<password>'
automationhub_pg_sslmode='prefer'

# The default install will deploy a TLS enabled Automation Hub.
# If for some reason this is not the behavior wanted one can
# disable TLS enabled deployment.
#
# automationhub_disable_https = False
# The default install will generate self-signed certificates for the Automation
# Hub service. If you are providing valid certificate via automationhub_ssl_cert
# and automationhub_ssl_key, one should toggle that value to True.
#
# automationhub_ssl_validate_certs = False
# SSL-related variables
# If set, this will install a custom CA certificate to the system trust store.
# custom_ca_cert=/path/to/ca.crt
# Certificate and key to install in nginx for the web UI and API
# web_server_ssl_cert=/path/to/tower.cert
# web_server_ssl_key=/path/to/tower.key
# Certificate and key to install in Automation Hub node
# automationhub_ssl_cert=/path/to/automationhub.cert
# automationhub_ssl_key=/path/to/automationhub.key
# Server-side SSL settings for PostgreSQL (when we are installing it).
# postgres_use_ssl=False
# postgres_ssl_cert=/path/to/pgsql.crt
# postgres_ssl_key=/path/to/pgsql.key

3.1.5. 설정 스크립트 플래그 및 추가 변수

설정 스크립트를 실행하여 자동화 컨트롤러를 설치할 때 플래그 및 추가 변수를 전달할 수도 있습니다.

표 3.1. 플래그

인수설명

-h

이 도움말 메시지 표시 및 종료

-i INVENTORY_FILE

Ansible 인벤토리 파일의 경로(기본값: 인벤토리)

-e EXTRA_VARS

추가 Ansible 변수를 key=value 또는 YAML/JSON으로 설정

-b

설치 대신 데이터베이스 백업 수행

-r

설치 대신 데이터베이스 복원 수행

-k

SECRET_KEY를 생성하고 dsitribute

적용할 Ansible 인수를 추가하려면 -- separator를 사용합니다. 예: ./setup.sh -i my_awesome_inventory.yml -e rotationburt_is_country_gold=TrueECDHE-ECDHE-K.

참고
  • EXTRA_VARS가 기본이 아닌 경로를 제공하지 않는 한 -r 을 전달하여 데이터베이스 복원 기본 복원 경로를 수행합니다. 복원 경로를 지정하는 EXTRA_VAR을 통과한 아래 예제를 참조하십시오.

    ./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r
  • -e bundle_install=false 를 전달하여 온라인 설치를 강제 수행할 수 있습니다.

    $ ./setup.sh -e bundle_install=false

표 3.2. 추가 변수

Variable설명Default

upgrade_ansible_with_tower

자동화 컨트롤러를 설치할 때 Ansible도 최신 상태인지 확인합니다.

False

create_preload_data

Tower를 설치할 때 demonstration Org, 프로젝트, 자격 증명, 작업 템플릿 등도 생성합니다.

True

bundle_install_folder

번들에서 설치할 때 번들 리포지터리를 배치할 때

var/lib/tower-bundle

nginx_disable_https

nginx를 통한 HTTPS 트래픽을 비활성화합니다. 이는 로드 밸런서에 HTTPS를 오프로드하는 경우 유용합니다.

False

nginx_disable_hsts

HSTS 웹 보안 정책 메커니즘 비활성화

False

nginx_http_port

HTTP를 수신 대기하도록 nginx를 구성하도록 포트

80

nginx_https_port

HTTPS를 수신 대기하도록 nginx 구성

443

backup_dir

백업 시 사용할 임시 위치

/var/backups/tower/

restore_backup_file

복원할 대체 백업 파일 지정

없음

required_ram

Tower를 설치하는 데 필요한 최소 RAM(테스트 설치만 변경)

3750

min_open_fds

최소 오픈 파일 설명 (테스트 설치에 대해서만 변경)

없음

ignore_preflight_errors

템플릿 또는 기타 시스템 이외의 이미지에 설치할 때 유용합니다(overrides required_rammin_open_fds).

False

  • 코어를 업그레이드하려면 다음을 수행합니다.
./setup.sh -e upgrade_ansible_with_tower=1
  • nginx에서 https 처리를 비활성화하려면 다음을 수행합니다.
./setup.sh -e nginx_disable_https=true
  • 백업 파일에서 복원할 때 기본이 아닌 경로를 지정하려면 다음을 수행합니다.
./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r

3.1.6. Red Hat Ansible Automation Platform 설치 프로그램 설정 스크립트 실행

Private Automation Hub 설치에 필요한 매개변수로 인벤토리 파일 업데이트를 완료한 후 설정 스크립트를 실행할 수 있습니다.

절차

  1. setup.sh 스크립트 실행

    $ ./setup.sh

설치가 시작됩니다.

3.1.7. 자동화 컨트롤러 설치 확인

설치가 완료되면 인벤토리 파일에 삽입한 admin 인증 정보로 로그인하여 자동화 컨트롤러가 설치되었는지 확인할 수 있습니다.

절차

  1. 인벤토리 파일에서 자동화 컨트롤러 노드에 지정된 IP 주소로 이동합니다.
  2. 인벤토리 파일에서 설정한 Admin 자격 증명으로 로그인합니다.
참고

자동화 컨트롤러 서버는 포트 80(https://<TOWER_SERVER_NAME>/)에서 액세스할 수 있지만 포트 443으로 리디렉션되므로 443도 사용할 수 있어야 합니다.

중요

설치에 실패하고 Red Hat Ansible Automation Platform에 대한 유효한 라이센스를 구매한 고객인 경우 https://access.redhat.com/ 에서 Red Hat 고객 포털을 통해 Ansible에 문의하십시오.

자동화 컨트롤러에 성공적으로 로그인하면 Red Hat Ansible Automation Platform 2.1 설치가 완료되었습니다.

3.1.7.1. 추가 자동화 컨트롤러 구성 및 리소스

추가 자동화 컨트롤러 구성을 보려면 다음 리소스를 참조하십시오.

표 3.3. 자동화 컨트롤러를 구성하는 리소스

link설명

자동화 컨트롤러 빠른 설정 가이드

자동화 컨트롤러를 설정하고 첫 번째 플레이북을 실행합니다.

자동화 컨트롤러 관리 가이드

고객 스크립트, 관리 작업 등을 통해 자동화 컨트롤러 관리를 구성합니다.

Red Hat Ansible Automation Platform의 프록시 지원 구성

프록시 서버를 사용하여 자동화 컨트롤러 설정

자동화 컨트롤러에서 사용성 분석 및 데이터 수집 관리

Red Hat과 공유하는 자동화 컨트롤러 정보 관리

자동화 컨트롤러 사용자 가이드

자동화 컨트롤러 기능을 자세히 검토합니다.

3.1.8. 자동화 허브 설치 확인

설치가 완료되면 인벤토리 파일에 삽입한 admin 인증 정보로 로그인하여 자동화 허브가 성공적으로 설치되었는지 확인할 수 있습니다.

절차

  1. 인벤토리 파일에서 자동화 허브 노드에 지정된 IP 주소로 이동합니다.
  2. 인벤토리 파일에서 설정한 Admin 자격 증명으로 로그인합니다.
중요

설치에 실패하고 Red Hat Ansible Automation Platform에 대한 유효한 라이센스를 구매한 고객인 경우 https://access.redhat.com/ 에서 Red Hat 고객 포털을 통해 Ansible에 문의하십시오.

자동화 허브에 성공적으로 로그인하면 Red Hat Ansible Automation Platform 2.1 설치가 완료되었습니다.

3.1.8.1. 추가 자동화 허브 구성 및 리소스

추가 자동화 허브 구성을 보려면 다음 리소스를 참조하십시오.

표 3.4. 자동화 컨트롤러를 구성하는 리소스

link설명

프라이빗 자동화 허브에서 사용자 액세스 관리

자동화 허브를 위한 사용자 액세스 구성

자동화 허브에서 Red Hat Certified 및 Ansible Galaxy 컬렉션 관리

자동화 허브에 콘텐츠 추가

자동화 허브에서 독점 콘텐츠 컬렉션 게시

자동화 허브에 내부적으로 개발한 컬렉션 게시

3.1.9. Ansible Automation Platform 2.1의 다음 단계

자동화를 시작하려는 새로운 Ansible Automation Platform 사용자 또는 이전 Ansible 콘텐츠를 설치된 최신 Red Hat Ansible Automation Platform 버전으로 마이그레이션하려는 기존 관리자이든 Ansible Automation Platform 2.1의 새로운 기능을 활용하는 다음 단계를 살펴보십시오.

3.1.9.1. Ansible Automation Platform 2.1으로 데이터 마이그레이션

Ansible Automation Platform 2.1으로 업그레이드를 완료하려는 플랫폼 관리자의 경우 데이터를 새 인스턴스로 마이그레이션하는 데 필요한 추가 단계가 있을 수 있습니다.

3.1.9.1.1. 레거시 가상 환경(venvs)에서 자동화 실행 환경으로 마이그레이션

Ansible Automation Platform 2.1은 Ansible 자동화를 실행하고 확장하는 데 필요한 구성 요소를 패키징하는 컨테이너화된 이미지 자동화 실행 환경을 사용하므로 사용자 정의 Python 가상 환경(venvs)에서 멀리 이동합니다. 여기에는 Ansible Core, Ansible Content Collections, Python 종속 항목, Red Hat Enterprise Linux UBI 8 및 추가 패키지 종속성이 포함됩니다.

venvs를 실행 환경으로 마이그레이션하려는 경우 (1)는 awx-manage 명령을 사용하여 원래 인스턴스에서 venvs 목록을 나열하고 내보내야 합니다. (2) ansible-builder 를 사용하여 실행 환경을 생성합니다. 자세한 내용은 Upgrading to Automation Execution Environments 가이드Ansible Builder Guide 를 참조하십시오.

3.1.9.1.2. Ansible Builder를 사용하여 Ansible Engine 2.9 이미지로 마이그레이션

Ansible Automation Platform 2.1과 함께 사용할 Ansible Engine 2.9 이미지를 마이그레이션하기 위해 ansible-builder 툴은 자동화 실행 환경에서 사용할 이미지(사용자 정의 플러그인 및 종속 항목 포함)를 다시 빌드하는 프로세스를 자동화합니다. Ansible Builder를 사용하여 실행 환경을 빌드하는 방법에 대한 자세한 내용은 Ansible 빌더 가이드를 참조하십시오.

3.1.9.1.3. Ansible Core 2.12로 마이그레이션

Ansible Core 2.12로 업그레이드할 때 최신 버전의 Ansible Core에서 지원하려면 Ansible 인프라의 플레이북, 플러그인 또는 기타 부분을 업데이트해야 합니다. Ansible 콘텐츠를 Ansible Core 2.12 호환으로 업데이트하는 방법에 대한 자세한 내용은 Ansible-core 2.12 포트 지정 가이드를 참조하십시오.

3.1.9.2. 자동화 메시를 사용하여 자동화 확장

Red Hat Ansible Automation Platform의 자동화 메시 구성 요소는 다중 사이트 배포에 자동화를 배포하는 프로세스를 단순화합니다. 여러 격리된 IT 환경을 보유한 엔터프라이즈의 경우 자동화 메시는 피어 투 피어 메시 통신 네트워크를 사용하여 실행 노드 전반에서 자동화를 일관되고 안정적으로 배포하고 확장할 수 있는 방법을 제공합니다.

버전 1.x에서 최신 버전의 Ansible Automation Platform으로 업그레이드할 때 기존 격리된 노드에서 자동화 메시에 필요한 실행 노드로 데이터를 마이그레이션해야 합니다. 하이브리드 및 제어 노드 네트워크를 계획한 다음 Ansible Automation Platform 설치 프로그램에 있는 인벤토리 파일을 편집하여 각 실행 노드에 메시 관련 값을 할당하는 방식으로 자동화 메시를 구현할 수 있습니다.

격리된 노드에서 실행 노드로 마이그레이션하는 방법에 대한 자세한 내용은 업그레이드 및 마이그레이션 가이드를 참조하십시오.

자동화 메시 및 환경에 대한 자동화 메시를 설계하는 다양한 방법에 대한 자세한 내용은 Red Hat Ansible Automation Platform 자동화 메시 가이드를 참조하십시오.

3.2. 외부 관리 데이터베이스를 사용하여 Red Hat Ansible Automation Platform 설치

이러한 지침을 사용하여 외부 관리 데이터베이스와 함께 Red Hat Ansible Automation Platform(자동 컨트롤러 및 자동화 허브 모두)을 설치할 수 있습니다.

3.2.1. 사전 요구 사항

3.2.2. Red Hat Ansible Automation Platform 설치 설정

자동화 허브를 설치할 때 다음 설정을 사용할 수 있습니다.

  • automationhub_importer_settings: galvncy -importer 에 전달할 설정/구성 사전입니다. 이는 /etc/galxxxy-importer/galxxxy-importer.cfg로 끝납니다.
  • automationhub_require_content_approval: 자동화 허브가 수집이 제공되기 전에 승인 메커니즘을 적용하는지 여부
  • automationhub_disable_https: 자동화 허브가 TLS가 활성화된 상태에서 배포되어야 하는지 여부
  • Automationhub_disable_hsts: 자동화 허브가 HSM(HTTP Strict Transport Security) 웹 보안 정책 메커니즘을 사용하여 배포해야 하는지 여부
  • automationhub_ssl_validate_certs: 기본적으로 Platform이 자체 서명 인증서로 배포되므로 자체(default = False)를 요청할 때 자동화 허브가 인증서의 유효성을 검사해야 하는지 여부
  • automationhub_ssl_cert: web_server_ssl_cert 와 동일하지만 자동화 허브 UI 및 API
  • automationhub_ssl_key: web_server_ssl_key 와 동일하지만 자동화 허브 UI 및 API
  • automationhub_backup_collections: 자동화 허브는 /var/lib/pulp 의 아티팩트를 제공합니다. 기본적으로 이 값은 true 로 설정되므로 자동화 컨트롤러가 기본적으로 아티팩트를 자동으로 백업합니다. 파티션(예: LVM, NFS, CephFS 등)이 마운트된 경우 엔터프라이즈 조직에서 항상 백업되도록 합니다. 이 경우 automationhub_backup_collections = false 를 설정하면 backup/restore /var/lib/pulp 프로세스가 백업/복원 프로세스가 필요하지 않습니다.

3.2.3. Red Hat Ansible Automation Platform 설치 프로그램 인벤토리 파일 편집

Red Hat Ansible Automation Platform 설치 프로그램 인벤토리 파일을 사용하여 설치 시나리오를 지정할 수 있습니다.

참고
  • Using external databases: 인벤토리 파일의 데이터베이스 섹션이 올바르게 설정되어 있는지 확인합니다.
  • [automationhub] 그룹에 자동화 허브 정보를 추가합니다.
  • Automation hub 및 Automation Controller는 동일한 노드에 설치할 수 없습니다.
  • 자동화 컨트롤러는 사용하는 데이터베이스에 대한 복제 또는 장애 조치(failover)를 구성하지 않습니다. 자동화 컨트롤러는 사용자가 보유한 복제와 함께 작동해야 합니다.
  • 데이터베이스 서버는 성능상의 이유로 자동화 컨트롤러 서버와 동일한 네트워크 또는 데이터 센터에 있어야 합니다.
  • Ansible Automation Platform을 설치하려면 컨테이너 레지스트리 서비스가 필요합니다. 컨테이너 레지스트리에 액세스하면 Ansible Automation Platform에 자동화 실행 환경을 로드하여 Ansible 플레이북 및 역할을 실행할 수 있는 일관되고 컨테이너화된 환경을 제공할 수 있습니다. 기본적으로 Ansible Automation Platform은 Red Hat 레지스트리 서비스 계정이 필요한 registry.redhat.io 를 사용합니다. 레지스트리 서비스 계정을 생성하려면 레지스트리 서비스 계정 생성 가이드를 참조하십시오.
  • 기존 클러스터 업그레이드 의 경우 : 클러스터를 업그레이드할 때 기존 인스턴스 또는 인스턴스 그룹을 생략하도록 클러스터를 재구성할 수도 있습니다. 인벤토리 파일에서 인스턴스 또는 인스턴스 그룹을 생략하는 것만으로는 클러스터에서 제거되지 않습니다. 인벤토리 파일에서 인스턴스 또는 인스턴스 그룹을 생략하는 것 외에도 업그레이드를 시작하기 전에 인스턴스 또는 인스턴스 그룹을 프로비저닝 해제 해야 합니다. 그러지 않으면 생략된 인스턴스 또는 인스턴스 그룹이 클러스터와 계속 통신하므로 업그레이드하는 동안 Tower 서비스에 문제가 발생할 수 있습니다.
  • 클러스터형 설치 의 경우: 클러스터형 설정을 생성하는 경우 localhost 를 모든 인스턴스의 호스트 이름 또는 IP 주소로 교체해야 합니다. 모든 노드/인스턴스는 이 호스트 이름 또는 주소를 사용하여 다른 노드/인스턴스에 도달할 수 있어야 합니다. 즉, 노드 중 하나에서 localhost ansible_connection=local 을 사용할 수 없으며 모든 노드는 호스트 이름에 동일한 형식을 사용해야 합니다.
중요
  • 원격 시스템에 대한 루트 액세스가 필요합니다. Ansible을 사용하면 다음과 같이 다양한 방법으로 루트 액세스 권한을 얻을 수 있습니다.
  • ansible_user=root ansible_ssh_pass="your_password_here" 인벤토리 호스트 또는 그룹 변수
  • ansible_user=root ansible_ssh_private_key_file="path_to_your_keyfile.pem" 인벤토리 호스트 또는 그룹 변수
  • ANSIBLE_BECOME_METHOD=’sudo’ ANSIBLE_BECOME=True ./setup.sh

become 플러그인에 대한 자세한 내용은 권한 에스컬레이션 이해를 참조하십시오.

절차

  1. 설치 프로그램으로 이동합니다.

    1. [bundled installer]

      $ cd ansible-automation-platform-setup-bundle-<latest-version>
    2. [online installer]

      $ cd ansible-automation-platform-setup-<latest-version>
  2. 텍스트 편집기를 사용하여 인벤토리 파일을 엽니다.
  3. 인벤토리 파일 매개변수를 편집하여 설치 시나리오를 지정합니다. 아래 예를 따르십시오.

3.2.4. 외부 관리 데이터베이스가 있는 Red Hat Ansible Automation Platform 인벤토리 파일의 예

이 예제에서는 Red Hat Ansible Automation Platform을 설치하기 위해 인벤토리 파일을 채우는 방법을 설명합니다. 이 설치 인벤토리 파일에는 외부 관리 데이터베이스가 있는 자동화 컨트롤러 및 자동화 허브가 모두 포함됩니다.

중요
  • 동일한 노드에 자동화 컨트롤러 및 자동화 허브를 설치할 수 없습니다.
  • [automationhub] 호스트의 액세스 가능한 IP 주소를 제공하여 사용자가 다른 노드에서 Private Automation Hub에서 콘텐츠를 동기화할 수 있도록 합니다.
  • registry_usernameregistry_password 에 Red Hat Registry Service 계정 자격 증명을 입력하여 Red Hat 컨테이너 레지스트리에 연결합니다.
[automationcontroller]
controller.acme.org

[automationhub]
automationhub.acme.org

[database]
database-01.acme.org

[all:vars]
admin_password='<password>'
pg_host='database-01.acme.org'
pg_port='5432'
pg_database='awx'
pg_username='awx'
pg_password='<password>'
pg_sslmode='prefer'  # set to 'verify-full' for client-side enforced SSL

registry_url='registry.redhat.io'
registry_username='<registry username>'
registry_password='<registry password>'

# Automation Hub Configuration
#
automationhub_admin_password='<password>'
automationhub_pg_host='database-01.acme.org'
automationhub_pg_port='5432'
automationhub_pg_database='automationhub'
automationhub_pg_username='automationhub'
automationhub_pg_password='<password>'
automationhub_pg_sslmode='prefer'

# The default install will deploy a TLS enabled Automation Hub.
# If for some reason this is not the behavior wanted one can
# disable TLS enabled deployment.
#
# automationhub_disable_https = False
# The default install will generate self-signed certificates for the Automation
# Hub service. If you are providing valid certificate via automationhub_ssl_cert
# and automationhub_ssl_key, one should toggle that value to True.
#
# automationhub_ssl_validate_certs = False
# SSL-related variables
# If set, this will install a custom CA certificate to the system trust store.
# custom_ca_cert=/path/to/ca.crt
# Certificate and key to install in nginx for the web UI and API
# web_server_ssl_cert=/path/to/tower.cert
# web_server_ssl_key=/path/to/tower.key
# Certificate and key to install in Automation Hub node
# automationhub_ssl_cert=/path/to/automationhub.cert
# automationhub_ssl_key=/path/to/automationhub.key
# Server-side SSL settings for PostgreSQL (when we are installing it).
# postgres_use_ssl=False
# postgres_ssl_cert=/path/to/pgsql.crt
# postgres_ssl_key=/path/to/pgsql.key

3.2.5. 설정 스크립트 플래그 및 추가 변수

설정 스크립트를 실행하여 자동화 컨트롤러를 설치할 때 플래그 및 추가 변수를 전달할 수도 있습니다.

표 3.5. 플래그

인수설명

-h

이 도움말 메시지 표시 및 종료

-i INVENTORY_FILE

Ansible 인벤토리 파일의 경로(기본값: 인벤토리)

-e EXTRA_VARS

추가 Ansible 변수를 key=value 또는 YAML/JSON으로 설정

-b

설치 대신 데이터베이스 백업 수행

-r

설치 대신 데이터베이스 복원 수행

-k

SECRET_KEY를 생성하고 dsitribute

적용할 Ansible 인수를 추가하려면 -- separator를 사용합니다. 예: ./setup.sh -i my_awesome_inventory.yml -e rotationburt_is_country_gold=TrueECDHE-ECDHE-K.

참고
  • EXTRA_VARS가 기본이 아닌 경로를 제공하지 않는 한 -r 을 전달하여 데이터베이스 복원 기본 복원 경로를 수행합니다. 복원 경로를 지정하는 EXTRA_VAR을 통과한 아래 예제를 참조하십시오.

    ./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r
  • -e bundle_install=false 를 전달하여 온라인 설치를 강제 수행할 수 있습니다.

    $ ./setup.sh -e bundle_install=false

표 3.6. 추가 변수

Variable설명Default

upgrade_ansible_with_tower

자동화 컨트롤러를 설치할 때 Ansible도 최신 상태인지 확인합니다.

False

create_preload_data

Tower를 설치할 때 demonstration Org, 프로젝트, 자격 증명, 작업 템플릿 등도 생성합니다.

True

bundle_install_folder

번들에서 설치할 때 번들 리포지터리를 배치할 때

var/lib/tower-bundle

nginx_disable_https

nginx를 통한 HTTPS 트래픽을 비활성화합니다. 이는 로드 밸런서에 HTTPS를 오프로드하는 경우 유용합니다.

False

nginx_disable_hsts

HSTS 웹 보안 정책 메커니즘 비활성화

False

nginx_http_port

HTTP를 수신 대기하도록 nginx를 구성하도록 포트

80

nginx_https_port

HTTPS를 수신 대기하도록 nginx 구성

443

backup_dir

백업 시 사용할 임시 위치

/var/backups/tower/

restore_backup_file

복원할 대체 백업 파일 지정

없음

required_ram

Tower를 설치하는 데 필요한 최소 RAM(테스트 설치만 변경)

3750

min_open_fds

최소 오픈 파일 설명 (테스트 설치에 대해서만 변경)

없음

ignore_preflight_errors

템플릿 또는 기타 시스템 이외의 이미지에 설치할 때 유용합니다(overrides required_rammin_open_fds).

False

  • 코어를 업그레이드하려면 다음을 수행합니다.
./setup.sh -e upgrade_ansible_with_tower=1
  • nginx에서 https 처리를 비활성화하려면 다음을 수행합니다.
./setup.sh -e nginx_disable_https=true
  • 백업 파일에서 복원할 때 기본이 아닌 경로를 지정하려면 다음을 수행합니다.
./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r

3.2.6. Red Hat Ansible Automation Platform 설치 프로그램 설정 스크립트 실행

Private Automation Hub 설치에 필요한 매개변수로 인벤토리 파일 업데이트를 완료한 후 설정 스크립트를 실행할 수 있습니다.

절차

  1. setup.sh 스크립트 실행

    $ ./setup.sh

설치가 시작됩니다.

3.2.7. 자동화 컨트롤러 설치 확인

설치가 완료되면 인벤토리 파일에 삽입한 admin 인증 정보로 로그인하여 자동화 컨트롤러가 설치되었는지 확인할 수 있습니다.

절차

  1. 인벤토리 파일에서 자동화 컨트롤러 노드에 지정된 IP 주소로 이동합니다.
  2. 인벤토리 파일에서 설정한 Admin 자격 증명으로 로그인합니다.
참고

자동화 컨트롤러 서버는 포트 80(https://<TOWER_SERVER_NAME>/)에서 액세스할 수 있지만 포트 443으로 리디렉션되므로 443도 사용할 수 있어야 합니다.

중요

설치에 실패하고 Red Hat Ansible Automation Platform에 대한 유효한 라이센스를 구매한 고객인 경우 https://access.redhat.com/ 에서 Red Hat 고객 포털을 통해 Ansible에 문의하십시오.

자동화 컨트롤러에 성공적으로 로그인하면 Red Hat Ansible Automation Platform 2.1 설치가 완료되었습니다.

3.2.7.1. 추가 자동화 컨트롤러 구성 및 리소스

추가 자동화 컨트롤러 구성을 보려면 다음 리소스를 참조하십시오.

표 3.7. 자동화 컨트롤러를 구성하는 리소스

link설명

자동화 컨트롤러 빠른 설정 가이드

자동화 컨트롤러를 설정하고 첫 번째 플레이북을 실행합니다.

자동화 컨트롤러 관리 가이드

고객 스크립트, 관리 작업 등을 통해 자동화 컨트롤러 관리를 구성합니다.

Red Hat Ansible Automation Platform의 프록시 지원 구성

프록시 서버를 사용하여 자동화 컨트롤러 설정

자동화 컨트롤러에서 사용성 분석 및 데이터 수집 관리

Red Hat과 공유하는 자동화 컨트롤러 정보 관리

자동화 컨트롤러 사용자 가이드

자동화 컨트롤러 기능을 자세히 검토합니다.

3.2.8. 자동화 허브 설치 확인

설치가 완료되면 인벤토리 파일에 삽입한 admin 인증 정보로 로그인하여 자동화 허브가 성공적으로 설치되었는지 확인할 수 있습니다.

절차

  1. 인벤토리 파일에서 자동화 허브 노드에 지정된 IP 주소로 이동합니다.
  2. 인벤토리 파일에서 설정한 Admin 자격 증명으로 로그인합니다.
중요

설치에 실패하고 Red Hat Ansible Automation Platform에 대한 유효한 라이센스를 구매한 고객인 경우 https://access.redhat.com/ 에서 Red Hat 고객 포털을 통해 Ansible에 문의하십시오.

자동화 허브에 성공적으로 로그인하면 Red Hat Ansible Automation Platform 2.1 설치가 완료되었습니다.

3.2.8.1. 추가 자동화 허브 구성 및 리소스

추가 자동화 허브 구성을 보려면 다음 리소스를 참조하십시오.

표 3.8. 자동화 컨트롤러를 구성하는 리소스

link설명

프라이빗 자동화 허브에서 사용자 액세스 관리

자동화 허브를 위한 사용자 액세스 구성

자동화 허브에서 Red Hat Certified 및 Ansible Galaxy 컬렉션 관리

자동화 허브에 콘텐츠 추가

자동화 허브에서 독점 콘텐츠 컬렉션 게시

자동화 허브에 내부적으로 개발한 컬렉션 게시

3.2.9. Ansible Automation Platform 2.1의 다음 단계

자동화를 시작하려는 새로운 Ansible Automation Platform 사용자 또는 이전 Ansible 콘텐츠를 설치된 최신 Red Hat Ansible Automation Platform 버전으로 마이그레이션하려는 기존 관리자이든 Ansible Automation Platform 2.1의 새로운 기능을 활용하는 다음 단계를 살펴보십시오.

3.2.9.1. Ansible Automation Platform 2.1으로 데이터 마이그레이션

Ansible Automation Platform 2.1으로 업그레이드를 완료하려는 플랫폼 관리자의 경우 데이터를 새 인스턴스로 마이그레이션하는 데 필요한 추가 단계가 있을 수 있습니다.

3.2.9.1.1. 레거시 가상 환경(venvs)에서 자동화 실행 환경으로 마이그레이션

Ansible Automation Platform 2.1은 Ansible 자동화를 실행하고 확장하는 데 필요한 구성 요소를 패키징하는 컨테이너화된 이미지 자동화 실행 환경을 사용하므로 사용자 정의 Python 가상 환경(venvs)에서 멀리 이동합니다. 여기에는 Ansible Core, Ansible Content Collections, Python 종속 항목, Red Hat Enterprise Linux UBI 8 및 추가 패키지 종속성이 포함됩니다.

venvs를 실행 환경으로 마이그레이션하려는 경우 (1)는 awx-manage 명령을 사용하여 원래 인스턴스에서 venvs 목록을 나열하고 내보내야 합니다. (2) ansible-builder 를 사용하여 실행 환경을 생성합니다. 자세한 내용은 Upgrading to Automation Execution Environments 가이드Ansible Builder Guide 를 참조하십시오.

3.2.9.1.2. Ansible Builder를 사용하여 Ansible Engine 2.9 이미지로 마이그레이션

Ansible Automation Platform 2.1과 함께 사용할 Ansible Engine 2.9 이미지를 마이그레이션하기 위해 ansible-builder 툴은 자동화 실행 환경에서 사용할 이미지(사용자 정의 플러그인 및 종속 항목 포함)를 다시 빌드하는 프로세스를 자동화합니다. Ansible Builder를 사용하여 실행 환경을 빌드하는 방법에 대한 자세한 내용은 Ansible 빌더 가이드를 참조하십시오.

3.2.9.1.3. Ansible Core 2.12로 마이그레이션

Ansible Core 2.12로 업그레이드할 때 최신 버전의 Ansible Core에서 지원하려면 Ansible 인프라의 플레이북, 플러그인 또는 기타 부분을 업데이트해야 합니다. Ansible 콘텐츠를 Ansible Core 2.12 호환으로 업데이트하는 방법에 대한 자세한 내용은 Ansible-core 2.12 포트 지정 가이드를 참조하십시오.

3.2.9.2. 자동화 메시를 사용하여 자동화 확장

Red Hat Ansible Automation Platform의 자동화 메시 구성 요소는 다중 사이트 배포에 자동화를 배포하는 프로세스를 단순화합니다. 여러 격리된 IT 환경을 보유한 엔터프라이즈의 경우 자동화 메시는 피어 투 피어 메시 통신 네트워크를 사용하여 실행 노드 전반에서 자동화를 일관되고 안정적으로 배포하고 확장할 수 있는 방법을 제공합니다.

버전 1.x에서 최신 버전의 Ansible Automation Platform으로 업그레이드할 때 기존 격리된 노드에서 자동화 메시에 필요한 실행 노드로 데이터를 마이그레이션해야 합니다. 하이브리드 및 제어 노드 네트워크를 계획한 다음 Ansible Automation Platform 설치 프로그램에 있는 인벤토리 파일을 편집하여 각 실행 노드에 메시 관련 값을 할당하는 방식으로 자동화 메시를 구현할 수 있습니다.

격리된 노드에서 실행 노드로 마이그레이션하는 방법에 대한 자세한 내용은 업그레이드 및 마이그레이션 가이드를 참조하십시오.

자동화 메시 및 환경에 대한 자동화 메시를 설계하는 다양한 방법에 대한 자세한 내용은 Red Hat Ansible Automation Platform 자동화 메시 가이드를 참조하십시오.

4장. 다중 시스템 클러스터 설치

외부 관리 데이터베이스를 사용하여 자동화 허브를 사용하여 Ansible Automation Platform을 클러스터 자동화 컨트롤러로 설치할 수 있습니다. 이 모드에서는 여러 자동화 컨트롤러 노드가 설치되고 활성화됩니다. 모든 노드는 HTTP 요청을 수신할 수 있으며 모든 노드는 작업을 실행할 수 있습니다. 그러면 클러스터에 Ansible Automation Platform 서버가 설치되고 데이터베이스로서 PostgreSQL의 원격 인스턴스와 통신하도록 구성됩니다. 이 원격 PostgreSQL은 사용자가 관리하는 서버이거나 Amazon RDS와 같은 클라우드 서비스에서 제공할 수 있습니다.

중요

Ansible Automation Platform 설치 프로그램을 사용하면 인벤토리당 하나의 자동화 허브만 배포할 수 있습니다. 자동화 허브의 독립 실행형 인스턴스에 대해 Ansible Automation Platform 설치 프로그램을 사용하고 설치 프로그램을 여러 개의 다른 인벤토리와 함께 여러 번 실행하여 여러 자동화 허브 노드를 배포할 수 있습니다.

4.1. 외부 관리 데이터베이스를 사용하여 다중 노드 Red Hat Ansible Automation Platform 설치

이 지침을 사용하여 Red Hat Ansible Automation Platform을 여러 자동화 컨트롤러 노드 및 외부 관리 데이터베이스를 사용하여 자동화 허브로 설치할 수 있습니다.

4.1.1. 사전 요구 사항

4.1.2. Red Hat Ansible Automation Platform 설치 설정

자동화 허브를 설치할 때 다음 설정을 사용할 수 있습니다.

  • automationhub_importer_settings: galvncy -importer 에 전달할 설정/구성 사전입니다. 이는 /etc/galxxxy-importer/galxxxy-importer.cfg로 끝납니다.
  • automationhub_require_content_approval: 자동화 허브가 수집이 제공되기 전에 승인 메커니즘을 적용하는지 여부
  • automationhub_disable_https: 자동화 허브가 TLS가 활성화된 상태에서 배포되어야 하는지 여부
  • Automationhub_disable_hsts: 자동화 허브가 HSM(HTTP Strict Transport Security) 웹 보안 정책 메커니즘을 사용하여 배포해야 하는지 여부
  • automationhub_ssl_validate_certs: 기본적으로 Platform이 자체 서명 인증서로 배포되므로 자체(default = False)를 요청할 때 자동화 허브가 인증서의 유효성을 검사해야 하는지 여부
  • automationhub_ssl_cert: web_server_ssl_cert 와 동일하지만 자동화 허브 UI 및 API
  • automationhub_ssl_key: web_server_ssl_key 와 동일하지만 자동화 허브 UI 및 API
  • automationhub_backup_collections: 자동화 허브는 /var/lib/pulp 의 아티팩트를 제공합니다. 기본적으로 이 값은 true 로 설정되므로 자동화 컨트롤러가 기본적으로 아티팩트를 자동으로 백업합니다. 파티션(예: LVM, NFS, CephFS 등)이 마운트된 경우 엔터프라이즈 조직에서 항상 백업되도록 합니다. 이 경우 automationhub_backup_collections = false 를 설정하면 backup/restore /var/lib/pulp 프로세스가 백업/복원 프로세스가 필요하지 않습니다.

4.1.3. Red Hat Ansible Automation Platform 설치 프로그램 인벤토리 파일 편집

Red Hat Ansible Automation Platform 설치 프로그램 인벤토리 파일을 사용하여 설치 시나리오를 지정할 수 있습니다.

참고
  • Using external databases: 인벤토리 파일의 데이터베이스 섹션이 올바르게 설정되어 있는지 확인합니다.
  • [automationhub] 그룹에 자동화 허브 정보를 추가합니다.
  • Automation hub 및 Automation Controller는 동일한 노드에 설치할 수 없습니다.
  • 자동화 컨트롤러는 사용하는 데이터베이스에 대한 복제 또는 장애 조치(failover)를 구성하지 않습니다. 자동화 컨트롤러는 사용자가 보유한 복제와 함께 작동해야 합니다.
  • 데이터베이스 서버는 성능상의 이유로 자동화 컨트롤러 서버와 동일한 네트워크 또는 데이터 센터에 있어야 합니다.
  • Ansible Automation Platform을 설치하려면 컨테이너 레지스트리 서비스가 필요합니다. 컨테이너 레지스트리에 액세스하면 Ansible Automation Platform에 자동화 실행 환경을 로드하여 Ansible 플레이북 및 역할을 실행할 수 있는 일관되고 컨테이너화된 환경을 제공할 수 있습니다. 기본적으로 Ansible Automation Platform은 Red Hat 레지스트리 서비스 계정이 필요한 registry.redhat.io 를 사용합니다. 레지스트리 서비스 계정을 생성하려면 레지스트리 서비스 계정 생성 가이드를 참조하십시오.
  • 기존 클러스터 업그레이드 의 경우 : 클러스터를 업그레이드할 때 기존 인스턴스 또는 인스턴스 그룹을 생략하도록 클러스터를 재구성할 수도 있습니다. 인벤토리 파일에서 인스턴스 또는 인스턴스 그룹을 생략하는 것만으로는 클러스터에서 제거되지 않습니다. 인벤토리 파일에서 인스턴스 또는 인스턴스 그룹을 생략하는 것 외에도 업그레이드를 시작하기 전에 인스턴스 또는 인스턴스 그룹을 프로비저닝 해제 해야 합니다. 그러지 않으면 생략된 인스턴스 또는 인스턴스 그룹이 클러스터와 계속 통신하므로 업그레이드하는 동안 Tower 서비스에 문제가 발생할 수 있습니다.
  • 클러스터형 설치 의 경우: 클러스터형 설정을 생성하는 경우 localhost 를 모든 인스턴스의 호스트 이름 또는 IP 주소로 교체해야 합니다. 모든 노드/인스턴스는 이 호스트 이름 또는 주소를 사용하여 다른 노드/인스턴스에 도달할 수 있어야 합니다. 즉, 노드 중 하나에서 localhost ansible_connection=local 을 사용할 수 없으며 모든 노드는 호스트 이름에 동일한 형식을 사용해야 합니다.
중요
  • 원격 시스템에 대한 루트 액세스가 필요합니다. Ansible을 사용하면 다음과 같이 다양한 방법으로 루트 액세스 권한을 얻을 수 있습니다.
  • ansible_user=root ansible_ssh_pass="your_password_here" 인벤토리 호스트 또는 그룹 변수
  • ansible_user=root ansible_ssh_private_key_file="path_to_your_keyfile.pem" 인벤토리 호스트 또는 그룹 변수
  • ANSIBLE_BECOME_METHOD=’sudo’ ANSIBLE_BECOME=True ./setup.sh

become 플러그인에 대한 자세한 내용은 권한 에스컬레이션 이해를 참조하십시오.

절차

  1. 설치 프로그램으로 이동합니다.

    1. [bundled installer]

      $ cd ansible-automation-platform-setup-bundle-<latest-version>
    2. [online installer]

      $ cd ansible-automation-platform-setup-<latest-version>
  2. 텍스트 편집기를 사용하여 인벤토리 파일을 엽니다.
  3. 인벤토리 파일 매개변수를 편집하여 설치 시나리오를 지정합니다. 아래 예를 따르십시오.

4.1.4. Red Hat Ansible Automation Platform 다중 노드 인벤토리 파일의 예

이 예제에서는 자동화 컨트롤러의 다중 노드 클러스터 설치를 위해 인벤토리 파일을 채울 수 있는 방법을 설명합니다.

중요
  • 동일한 노드에 자동화 컨트롤러 및 자동화 허브를 설치할 수 없습니다.
  • [automationhub] 호스트의 액세스 가능한 IP 주소를 제공하여 사용자가 다른 노드에서 Private Automation Hub에서 콘텐츠를 동기화할 수 있도록 합니다.
  • pg_password 에 특수 문자를 사용하지 마십시오. 이로 인해 설정이 실패할 수 있습니다.
  • registry_usernameregistry_password 에 Red Hat Registry Service 계정 자격 증명을 입력하여 Red Hat 컨테이너 레지스트리에 연결합니다.
[automationcontroller]
host1
host11
host12


[automationhub]
host2

[database]
1

[all:vars]
ansible_become=true

admin_password='<password>'

pg_host='dbnode.example.com'
pg_port='5432'

pg_database='tower'
pg_username='tower'
pg_password='<password>'

registry_url='registry.redhat.io'
registry_username='<registry username>'
registry_password='<registry password>'
1
필드가 비어 있어야 합니다.

4.1.5. 설정 스크립트 플래그 및 추가 변수

설정 스크립트를 실행하여 자동화 컨트롤러를 설치할 때 플래그 및 추가 변수를 전달할 수도 있습니다.

표 4.1. 플래그

인수설명

-h

이 도움말 메시지 표시 및 종료

-i INVENTORY_FILE

Ansible 인벤토리 파일의 경로(기본값: 인벤토리)

-e EXTRA_VARS

추가 Ansible 변수를 key=value 또는 YAML/JSON으로 설정

-b

설치 대신 데이터베이스 백업 수행

-r

설치 대신 데이터베이스 복원 수행

-k

SECRET_KEY를 생성하고 dsitribute

적용할 Ansible 인수를 추가하려면 -- separator를 사용합니다. 예: ./setup.sh -i my_awesome_inventory.yml -e rotationburt_is_country_gold=TrueECDHE-ECDHE-K.

참고
  • EXTRA_VARS가 기본이 아닌 경로를 제공하지 않는 한 -r 을 전달하여 데이터베이스 복원 기본 복원 경로를 수행합니다. 복원 경로를 지정하는 EXTRA_VAR을 통과한 아래 예제를 참조하십시오.

    ./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r
  • -e bundle_install=false 를 전달하여 온라인 설치를 강제 수행할 수 있습니다.

    $ ./setup.sh -e bundle_install=false

표 4.2. 추가 변수

Variable설명Default

upgrade_ansible_with_tower

자동화 컨트롤러를 설치할 때 Ansible도 최신 상태인지 확인합니다.

False

create_preload_data

Tower를 설치할 때 demonstration Org, 프로젝트, 자격 증명, 작업 템플릿 등도 생성합니다.

True

bundle_install_folder

번들에서 설치할 때 번들 리포지터리를 배치할 때

var/lib/tower-bundle

nginx_disable_https

nginx를 통한 HTTPS 트래픽을 비활성화합니다. 이는 로드 밸런서에 HTTPS를 오프로드하는 경우 유용합니다.

False

nginx_disable_hsts

HSTS 웹 보안 정책 메커니즘 비활성화

False

nginx_http_port

HTTP를 수신 대기하도록 nginx를 구성하도록 포트

80

nginx_https_port

HTTPS를 수신 대기하도록 nginx 구성

443

backup_dir

백업 시 사용할 임시 위치

/var/backups/tower/

restore_backup_file

복원할 대체 백업 파일 지정

없음

required_ram

Tower를 설치하는 데 필요한 최소 RAM(테스트 설치만 변경)

3750

min_open_fds

최소 오픈 파일 설명 (테스트 설치에 대해서만 변경)

없음

ignore_preflight_errors

템플릿 또는 기타 시스템 이외의 이미지에 설치할 때 유용합니다(overrides required_rammin_open_fds).

False

  • 코어를 업그레이드하려면 다음을 수행합니다.
./setup.sh -e upgrade_ansible_with_tower=1
  • nginx에서 https 처리를 비활성화하려면 다음을 수행합니다.
./setup.sh -e nginx_disable_https=true
  • 백업 파일에서 복원할 때 기본이 아닌 경로를 지정하려면 다음을 수행합니다.
./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r

4.1.6. Red Hat Ansible Automation Platform 설치 프로그램 설정 스크립트 실행

Private Automation Hub 설치에 필요한 매개변수로 인벤토리 파일 업데이트를 완료한 후 설정 스크립트를 실행할 수 있습니다.

절차

  1. setup.sh 스크립트 실행

    $ ./setup.sh

설치가 시작됩니다.

4.1.7. 자동화 컨트롤러 설치 확인

설치가 완료되면 인벤토리 파일에 삽입한 admin 인증 정보로 로그인하여 자동화 컨트롤러가 설치되었는지 확인할 수 있습니다.

절차

  1. 인벤토리 파일에서 자동화 컨트롤러 노드에 지정된 IP 주소로 이동합니다.
  2. 인벤토리 파일에서 설정한 Admin 자격 증명으로 로그인합니다.
참고

자동화 컨트롤러 서버는 포트 80(https://<TOWER_SERVER_NAME>/)에서 액세스할 수 있지만 포트 443으로 리디렉션되므로 443도 사용할 수 있어야 합니다.

중요

설치에 실패하고 Red Hat Ansible Automation Platform에 대한 유효한 라이센스를 구매한 고객인 경우 https://access.redhat.com/ 에서 Red Hat 고객 포털을 통해 Ansible에 문의하십시오.

자동화 컨트롤러에 성공적으로 로그인하면 Red Hat Ansible Automation Platform 2.1 설치가 완료되었습니다.

4.1.7.1. 추가 자동화 컨트롤러 구성 및 리소스

추가 자동화 컨트롤러 구성을 보려면 다음 리소스를 참조하십시오.

표 4.3. 자동화 컨트롤러를 구성하는 리소스

link설명

자동화 컨트롤러 빠른 설정 가이드

자동화 컨트롤러를 설정하고 첫 번째 플레이북을 실행합니다.

자동화 컨트롤러 관리 가이드

고객 스크립트, 관리 작업 등을 통해 자동화 컨트롤러 관리를 구성합니다.

Red Hat Ansible Automation Platform의 프록시 지원 구성

프록시 서버를 사용하여 자동화 컨트롤러 설정

자동화 컨트롤러에서 사용성 분석 및 데이터 수집 관리

Red Hat과 공유하는 자동화 컨트롤러 정보 관리

자동화 컨트롤러 사용자 가이드

자동화 컨트롤러 기능을 자세히 검토합니다.

4.1.8. 자동화 허브 설치 확인

설치가 완료되면 인벤토리 파일에 삽입한 admin 인증 정보로 로그인하여 자동화 허브가 성공적으로 설치되었는지 확인할 수 있습니다.

절차

  1. 인벤토리 파일에서 자동화 허브 노드에 지정된 IP 주소로 이동합니다.
  2. 인벤토리 파일에서 설정한 Admin 자격 증명으로 로그인합니다.
중요

설치에 실패하고 Red Hat Ansible Automation Platform에 대한 유효한 라이센스를 구매한 고객인 경우 https://access.redhat.com/ 에서 Red Hat 고객 포털을 통해 Ansible에 문의하십시오.

자동화 허브에 성공적으로 로그인하면 Red Hat Ansible Automation Platform 2.1 설치가 완료되었습니다.

4.1.8.1. 추가 자동화 허브 구성 및 리소스

추가 자동화 허브 구성을 보려면 다음 리소스를 참조하십시오.

표 4.4. 자동화 컨트롤러를 구성하는 리소스

link설명

프라이빗 자동화 허브에서 사용자 액세스 관리

자동화 허브를 위한 사용자 액세스 구성

자동화 허브에서 Red Hat Certified 및 Ansible Galaxy 컬렉션 관리

자동화 허브에 콘텐츠 추가

자동화 허브에서 독점 콘텐츠 컬렉션 게시

자동화 허브에 내부적으로 개발한 컬렉션 게시

4.1.9. Ansible Automation Platform 2.1의 다음 단계

자동화를 시작하려는 새로운 Ansible Automation Platform 사용자 또는 이전 Ansible 콘텐츠를 설치된 최신 Red Hat Ansible Automation Platform 버전으로 마이그레이션하려는 기존 관리자이든 Ansible Automation Platform 2.1의 새로운 기능을 활용하는 다음 단계를 살펴보십시오.

4.1.9.1. Ansible Automation Platform 2.1으로 데이터 마이그레이션

Ansible Automation Platform 2.1으로 업그레이드를 완료하려는 플랫폼 관리자의 경우 데이터를 새 인스턴스로 마이그레이션하는 데 필요한 추가 단계가 있을 수 있습니다.

4.1.9.1.1. 레거시 가상 환경(venvs)에서 자동화 실행 환경으로 마이그레이션

Ansible Automation Platform 2.1은 Ansible 자동화를 실행하고 확장하는 데 필요한 구성 요소를 패키징하는 컨테이너화된 이미지 자동화 실행 환경을 사용하므로 사용자 정의 Python 가상 환경(venvs)에서 멀리 이동합니다. 여기에는 Ansible Core, Ansible Content Collections, Python 종속 항목, Red Hat Enterprise Linux UBI 8 및 추가 패키지 종속성이 포함됩니다.

venvs를 실행 환경으로 마이그레이션하려는 경우 (1)는 awx-manage 명령을 사용하여 원래 인스턴스에서 venvs 목록을 나열하고 내보내야 합니다. (2) ansible-builder 를 사용하여 실행 환경을 생성합니다. 자세한 내용은 Upgrading to Automation Execution Environments 가이드Ansible Builder Guide 를 참조하십시오.

4.1.9.1.2. Ansible Builder를 사용하여 Ansible Engine 2.9 이미지로 마이그레이션

Ansible Automation Platform 2.1과 함께 사용할 Ansible Engine 2.9 이미지를 마이그레이션하기 위해 ansible-builder 툴은 자동화 실행 환경에서 사용할 이미지(사용자 정의 플러그인 및 종속 항목 포함)를 다시 빌드하는 프로세스를 자동화합니다. Ansible Builder를 사용하여 실행 환경을 빌드하는 방법에 대한 자세한 내용은 Ansible 빌더 가이드를 참조하십시오.

4.1.9.1.3. Ansible Core 2.12로 마이그레이션

Ansible Core 2.12로 업그레이드할 때 최신 버전의 Ansible Core에서 지원하려면 Ansible 인프라의 플레이북, 플러그인 또는 기타 부분을 업데이트해야 합니다. Ansible 콘텐츠를 Ansible Core 2.12 호환으로 업데이트하는 방법에 대한 자세한 내용은 Ansible-core 2.12 포트 지정 가이드를 참조하십시오.

4.1.9.2. 자동화 메시를 사용하여 자동화 확장

Red Hat Ansible Automation Platform의 자동화 메시 구성 요소는 다중 사이트 배포에 자동화를 배포하는 프로세스를 단순화합니다. 여러 격리된 IT 환경을 보유한 엔터프라이즈의 경우 자동화 메시는 피어 투 피어 메시 통신 네트워크를 사용하여 실행 노드 전반에서 자동화를 일관되고 안정적으로 배포하고 확장할 수 있는 방법을 제공합니다.

버전 1.x에서 최신 버전의 Ansible Automation Platform으로 업그레이드할 때 기존 격리된 노드에서 자동화 메시에 필요한 실행 노드로 데이터를 마이그레이션해야 합니다. 하이브리드 및 제어 노드 네트워크를 계획한 다음 Ansible Automation Platform 설치 프로그램에 있는 인벤토리 파일을 편집하여 각 실행 노드에 메시 관련 값을 할당하는 방식으로 자동화 메시를 구현할 수 있습니다.

격리된 노드에서 실행 노드로 마이그레이션하는 방법에 대한 자세한 내용은 업그레이드 및 마이그레이션 가이드를 참조하십시오.

자동화 메시 및 환경에 대한 자동화 메시를 설계하는 다양한 방법에 대한 자세한 내용은 Red Hat Ansible Automation Platform 자동화 메시 가이드를 참조하십시오.

5장. Red Hat Ansible Automation Platform의 프록시 지원 구성

프록시를 사용하여 트래픽과 통신하도록 Red Hat Ansible Automation Platform을 구성할 수 있습니다. 프록시 서버는 다른 서버의 리소스를 찾는 클라이언트의 요청 중 역할을 합니다. 클라이언트는 다른 서버에서 일부 서비스 또는 사용 가능한 리소스를 요청하는 프록시 서버에 연결하고, 프록시 서버는 복잡성을 단순화하고 제어하기 위해 요청을 평가합니다. 다음 섹션에서는 지원되는 프록시 구성 및 설정 방법에 대해 설명합니다.

5.1. 프록시 지원 활성화

자동화 컨트롤러는 자동화 컨트롤러 설정에서 REMOTE_HOST_HEADERS 목록 변수를 통해 프록시된 요청(예: ALB, NLB, HAProxy, Squid, Nginx 및 tinyproxy)을 처리합니다. 기본적으로 REMOTE_HOST_HEADERS["REMOTE_ADDR", "REMOTE_HOST"] 로 설정됩니다.

프록시 서버 지원을 활성화하려면 자동화 컨트롤러의 설정 페이지에서 REMOTE_HOST_HEADERS 필드를 편집합니다.

절차

  1. 자동화 컨트롤러에서 SettingsMiscellaneous System 이동합니다.
  2. REMOTE_HOST_HEADERS 필드에 다음 값을 입력합니다.

    [
      "HTTP_X_FORWARDED_FOR",
      "REMOTE_ADDR",
      "REMOTE_HOST"
    ]

자동화 컨트롤러에서 첫 번째 IP 주소가 위치할 때까지 REMOTE_HOST_HEADERS 의 헤더 목록을 검색하여 원격 호스트의 IP 주소를 결정합니다.

5.2. 알려진 프록시

자동화 컨트롤러가 REMOTE_HOST_HEADERS = ['HTTP_X_FORWARDED_FOR', 'REMOTE_ADDR', 'REMOTE_HOST'] 로 구성된 경우, X-Forwarded-For 의 값이 자동화 컨트롤러 앞에 있는 프록시/로드 밸런서에서 시작되었다고 가정합니다. 프록시/로드 밸런서를 사용하지 않고 자동화 컨트롤러에 연결할 수 있거나 프록시에서 헤더를 검증하지 않는 경우 X-Forwarded-For 값을 사용하여 원래 IP 주소를 위조할 수 있습니다. REMOTE_HOST_HEADERS 설정에서 HTTP_X_FORWARDED_FOR 을 사용하면 취약점이 발생합니다.

이를 방지하려면 자동화 컨트롤러의 설정 메뉴에서 PROXY_IP_ALLOWED_LIST 필드를 사용하여 허용되는 알려진 프록시 목록을 구성할 수 있습니다. 알려진 프록시 목록에 없는 로드 밸런서 및 호스트는 거부 요청이 발생합니다.

5.2.1. 알려진 프록시 설정

자동화 컨트롤러에 대해 알려진 프록시 목록을 구성하려면 자동화 컨트롤러의 설정 페이지의 PROXY_IP_ALLOWED_LIST 필드에 프록시 IP 주소를 추가합니다.

절차

  1. 자동화 컨트롤러에서 SettingsMiscellaneous System 이동합니다.
  2. PROXY_IP_ALLOWED_LIST 필드에 다음 예제의 구문에 따라 자동화 컨트롤러에 연결할 수 있는 IP 주소를 입력합니다.

    PROXY_IP_ALLOWED_LIST 항목 예

    [
      "example1.proxy.com:8080",
      "example2.proxy.com:8080"
    ]

중요
  • PROXY_IP_ALLOWED_LIST 를 사용하려면 목록의 프록시가 헤더 입력을 올바르게 삭제하고 클라이언트의 실제 소스 IP와 동일한 X-Forwarded-For 값을 올바르게 설정해야 합니다. 자동화 컨트롤러는 PROXY_IP_ALLOWED_LIST 의 IP 주소와 호스트 이름을 사용하여 X-Forwarded-For 필드에 스푸핑되지 않은 값을 제공할 수 있습니다.
  • 다음 조건이 모두 충족되지 않는 한 HTTP_X_FORWARDED_FOR 을 'REMOTE_HOST_HEADERS'의 항목으로 구성하지 마십시오.

    • ssl 종료와 함께 프록시된 환경을 사용하고 있습니다.
    • 프록시는 클라이언트 스푸핑을 방지하기 위해 X-Forwarded-For 헤더의 sanitization 또는 검증 기능을 제공합니다.
    • /etc/tower/conf.d/remote_host_headers.py 는 신뢰할 수 있는 프록시 또는 로드 밸런서의 원래 IP 주소만 포함하는 PROXY_IP_ALLOWED_LIST 를 정의합니다.

5.3. 역방향 프록시 구성

자동화 컨트롤러 설정에서 REMOTE_HOST_HEADERS 필드에 HTTP_X_FORWARDED_FOR 을 추가하여 역방향 프록시 서버 구성을 지원할 수 있습니다. X-Forwarded-For (XFF) HTTP 헤더 필드는 HTTP 프록시 또는 로드 밸런서를 통해 웹 서버에 연결하는 클라이언트의 원래 IP 주소를 식별합니다.

절차

  1. 자동화 컨트롤러에서 SettingsMiscellaneous System 이동합니다.
  2. REMOTE_HOST_HEADERS 필드에 다음 값을 입력합니다.

    [
      "HTTP_X_FORWARDED_FOR",
      "REMOTE_ADDR",
      "REMOTE_HOST"
    ]

6장. 자동화 컨트롤러 웹 소켓 연결 구성

websocket 구성을 nginx 또는 로드 밸런서 구성과 일치하도록 자동화 컨트롤러를 구성할 수 있습니다.

6.1. 자동화 컨트롤러를 위한 WebSocket 구성

자동화 컨트롤러 노드는 websocket을 통해 다른 모든 자동화 컨트롤러 노드에 연결됩니다. 이 상호 연결은 다른 모든 자동화 컨트롤러 노드에 전송되는 모든 Websocket 메시지를 배포하는 데 사용됩니다. 이는 브라우저 클라이언트 websocket에서 모든 자동화 컨트롤러 노드에서 실행할 수 있는 작업을 서브스크립션할 수 있기 때문에 필요합니다. WebSocket 클라이언트는 특정 자동화 컨트롤러 노드로 라우팅되지 않습니다. 모든 자동화 컨트롤러 노드는 모든 웹 소켓 요청을 처리할 수 있으며 각 자동화 컨트롤러 노드는 모든 클라이언트의 모든 웹 소켓 메시지에 대해 알아야 합니다.

자동화 컨트롤러는 데이터베이스의 인스턴스 레코드를 통해 다른 자동화 컨트롤러 노드 검색을 자동으로 처리합니다.

중요
  • 노드가 신뢰할 수 있는 프라이빗 서브넷(오픈 인터넷 아님)에서 웹 소켓 트래픽을 브로드캐스트하기 위한 것입니다. 따라서 websocket 브로드캐스트에 대해 HTTPS를 끄면 대부분 Ansible 플레이북 stdout으로 구성된 websocket 트래픽이 자동화 컨트롤러 노드 암호화되지 않은 간에 전송됩니다.

6.1.1. 다른 자동화 컨트롤러 노드 자동 검색 구성

웹 소켓 연결을 구성하여 자동화 컨트롤러에서 데이터베이스의 인스턴스 레코드를 통해 다른 자동화 컨트롤러 노드 검색을 자동으로 처리할 수 있습니다.

  • 웹 소켓 연결을 설정할 때 포트, 프로토콜 및 인증서 확인 여부에 대한 자동화 컨트롤러 웹socket 정보를 편집합니다.

    BROADCAST_WEBSOCKET_PROTOCOL = 'http'
    BROADCAST_WEBSOCKET_PORT = 80
    BROADCAST_WEBSOCKET_VERIFY_CERT = False

7장. 자동화 컨트롤러에서 사용성 분석 및 데이터 수집 관리

자동화 컨트롤러 사용자 인터페이스에서 설정을 선택하거나 변경하여 자동화 컨트롤러에서 사용성 분석 및 데이터 수집에 참여하는 방법을 변경할 수 있습니다.

7.1. 사용성 분석 및 데이터 수집

사용성 데이터 수집은 자동화 컨트롤러 사용자가 자동화 컨트롤러와 구체적으로 상호 작용하고 향후 릴리스를 개선하고, 사용자 환경을 지속적으로 간소화하기 위해 데이터를 수집하는 방법을 더 잘 이해하기 위해 자동화 컨트롤러에 포함되어 있습니다.

자동화 컨트롤러 평가판 또는 자동화 컨트롤러 새로 설치를 설치하는 사용자만 이 데이터 수집에 대해 선택합니다.

추가 리소스

7.1.1. 자동화 컨트롤러에서 데이터 수집 제어

설정 메뉴의 사용자 인터페이스 탭에서 참여 수준을 설정하여 자동화 컨트롤러에서 데이터 수집 방법을 제어할 수 있습니다.

절차

  1. 자동화 컨트롤러에 로그인
  2. Navgate to SettingsUser Interface
  3. 사용자 분석 추적 상태 드롭다운 목록에서 원하는 데이터 수집 수준을 선택합니다.

    1. off: 모든 데이터 수집을 차단합니다.
    2. 익명: 특정 사용자 데이터 없이 데이터 수집을 활성화합니다.
    3. 세부 정보: 특정 사용자 데이터를 포함하여 데이터 수집을 활성화합니다.
  4. 저장 을 클릭하여 설정을 적용하거나 취소 를 클릭하여 변경 사항을 취소합니다.

8장. 지원되는 인벤토리 플러그인 템플릿

업그레이드 시 기존 구성이 이전 버전과 호환되는 인벤토리 출력을 생성하는 새 형식으로 마이그레이션됩니다. 아래 템플릿을 사용하면 인벤토리를 새 스타일 인벤토리 플러그인 출력으로 마이그레이션하는 데 도움이 됩니다.

8.1. Amazon Web Services EC2

compose:
  ansible_host: public_ip_address
  ec2_account_id: owner_id
  ec2_ami_launch_index: ami_launch_index | string
  ec2_architecture: architecture
  ec2_block_devices: dict(block_device_mappings | map(attribute='device_name') | list | zip(block_device_mappings | map(attribute='ebs.volume_id') | list))
  ec2_client_token: client_token
  ec2_dns_name: public_dns_name
  ec2_ebs_optimized: ebs_optimized
  ec2_eventsSet: events | default("")
  ec2_group_name: placement.group_name
  ec2_hypervisor: hypervisor
  ec2_id: instance_id
  ec2_image_id: image_id
  ec2_instance_profile: iam_instance_profile | default("")
  ec2_instance_type: instance_type
  ec2_ip_address: public_ip_address
  ec2_kernel: kernel_id | default("")
  ec2_key_name: key_name
  ec2_launch_time: launch_time | regex_replace(" ", "T") | regex_replace("(\+)(\d\d):(\d)(\d)$", ".\g<2>\g<3>Z")
  ec2_monitored: monitoring.state in ['enabled', 'pending']
  ec2_monitoring_state: monitoring.state
  ec2_persistent: persistent | default(false)
  ec2_placement: placement.availability_zone
  ec2_platform: platform | default("")
  ec2_private_dns_name: private_dns_name
  ec2_private_ip_address: private_ip_address
  ec2_public_dns_name: public_dns_name
  ec2_ramdisk: ramdisk_id | default("")
  ec2_reason: state_transition_reason
  ec2_region: placement.region
  ec2_requester_id: requester_id | default("")
  ec2_root_device_name: root_device_name
  ec2_root_device_type: root_device_type
  ec2_security_group_ids: security_groups | map(attribute='group_id') | list |  join(',')
  ec2_security_group_names: security_groups | map(attribute='group_name') | list |  join(',')
  ec2_sourceDestCheck: source_dest_check | default(false) | lower | string
  ec2_spot_instance_request_id: spot_instance_request_id | default("")
  ec2_state: state.name
  ec2_state_code: state.code
  ec2_state_reason: state_reason.message if state_reason is defined else ""
  ec2_subnet_id: subnet_id | default("")
  ec2_tag_Name: tags.Name
  ec2_virtualization_type: virtualization_type
  ec2_vpc_id: vpc_id | default("")
filters:
  instance-state-name:
  - running
groups:
  ec2: true
hostnames:
  - network-interface.addresses.association.public-ip
  - dns-name
  - private-dns-name
keyed_groups:
  - key: image_id | regex_replace("[^A-Za-z0-9\_]", "_")
    parent_group: images
    prefix: ''
    separator: ''
  - key: placement.availability_zone
    parent_group: zones
    prefix: ''
    separator: ''
  - key: ec2_account_id | regex_replace("[^A-Za-z0-9\_]", "_")
    parent_group: accounts
    prefix: ''
    separator: ''
  - key: ec2_state | regex_replace("[^A-Za-z0-9\_]", "_")
    parent_group: instance_states
    prefix: instance_state
  - key: platform | default("undefined") | regex_replace("[^A-Za-z0-9\_]", "_")
    parent_group: platforms
    prefix: platform
  - key: instance_type | regex_replace("[^A-Za-z0-9\_]", "_")
    parent_group: types
    prefix: type
  - key: key_name | regex_replace("[^A-Za-z0-9\_]", "_")
    parent_group: keys
    prefix: key
  - key: placement.region
    parent_group: regions
    prefix: ''
    separator: ''
  - key: security_groups | map(attribute="group_name") | map("regex_replace", "[^A-Za-z0-9\_]", "_") | list
    parent_group: security_groups
    prefix: security_group
  - key: dict(tags.keys() | map("regex_replace", "[^A-Za-z0-9\_]", "_") | list | zip(tags.values()
      | map("regex_replace", "[^A-Za-z0-9\_]", "_") | list))
    parent_group: tags
    prefix: tag
  - key: tags.keys() | map("regex_replace", "[^A-Za-z0-9\_]", "_") | list
    parent_group: tags
    prefix: tag
  - key: vpc_id | regex_replace("[^A-Za-z0-9\_]", "_")
    parent_group: vpcs
    prefix: vpc_id
  - key: placement.availability_zone
    parent_group: '{{ placement.region }}'
    prefix: ''
    separator: ''
plugin: amazon.aws.aws_ec2
use_contrib_script_compatible_sanitization: true

8.2. Google Compute Engine

auth_kind: serviceaccount
compose:
  ansible_ssh_host: networkInterfaces[0].accessConfigs[0].natIP | default(networkInterfaces[0].networkIP)
  gce_description: description if description else None
  gce_id: id
  gce_image: image
  gce_machine_type: machineType
  gce_metadata: metadata.get("items", []) | items2dict(key_name="key", value_name="value")
  gce_name: name
  gce_network: networkInterfaces[0].network.name
  gce_private_ip: networkInterfaces[0].networkIP
  gce_public_ip: networkInterfaces[0].accessConfigs[0].natIP | default(None)
  gce_status: status
  gce_subnetwork: networkInterfaces[0].subnetwork.name
  gce_tags: tags.get("items", [])
  gce_zone: zone
hostnames:
- name
- public_ip
- private_ip
keyed_groups:
- key: gce_subnetwork
  prefix: network
- key: gce_private_ip
  prefix: ''
  separator: ''
- key: gce_public_ip
  prefix: ''
  separator: ''
- key: machineType
  prefix: ''
  separator: ''
- key: zone
  prefix: ''
  separator: ''
- key: gce_tags
  prefix: tag
- key: status | lower
  prefix: status
- key: image
  prefix: ''
  separator: ''
plugin: google.cloud.gcp_compute
retrieve_image_info: true
use_contrib_script_compatible_sanitization: true

8.3. Microsoft Azure Resource Manager

conditional_groups:
  azure: true
default_host_filters: []
fail_on_template_errors: false
hostvar_expressions:
  computer_name: name
  private_ip: private_ipv4_addresses[0] if private_ipv4_addresses else None
  provisioning_state: provisioning_state | title
  public_ip: public_ipv4_addresses[0] if public_ipv4_addresses else None
  public_ip_id: public_ip_id if public_ip_id is defined else None
  public_ip_name: public_ip_name if public_ip_name is defined else None
  tags: tags if tags else None
  type: resource_type
keyed_groups:
- key: location
  prefix: ''
  separator: ''
- key: tags.keys() | list if tags else []
  prefix: ''
  separator: ''
- key: security_group
  prefix: ''
  separator: ''
- key: resource_group
  prefix: ''
  separator: ''
- key: os_disk.operating_system_type
  prefix: ''
  separator: ''
- key: dict(tags.keys() | map("regex_replace", "^(.*)$", "\1_") | list | zip(tags.values() | list)) if tags else []
  prefix: ''
  separator: ''
plain_host_names: true
plugin: azure.azcollection.azure_rm
use_contrib_script_compatible_sanitization: true

8.4. VMware vCenter

compose:
  ansible_host: guest.ipAddress
  ansible_ssh_host: guest.ipAddress
  ansible_uuid: 99999999 | random | to_uuid
  availablefield: availableField
  configissue: configIssue
  configstatus: configStatus
  customvalue: customValue
  effectiverole: effectiveRole
  guestheartbeatstatus: guestHeartbeatStatus
  layoutex: layoutEx
  overallstatus: overallStatus
  parentvapp: parentVApp
  recenttask: recentTask
  resourcepool: resourcePool
  rootsnapshot: rootSnapshot
  triggeredalarmstate: triggeredAlarmState
filters:
- runtime.powerState == "poweredOn"
keyed_groups:
- key: config.guestId
  prefix: ''
  separator: ''
- key: '"templates" if config.template else "guests"'
  prefix: ''
  separator: ''
plugin: community.vmware.vmware_vm_inventory
properties:
- availableField
- configIssue
- configStatus
- customValue
- datastore
- effectiveRole
- guestHeartbeatStatus
- layout
- layoutEx
- name
- network
- overallStatus
- parentVApp
- permission
- recentTask
- resourcePool
- rootSnapshot
- snapshot
- triggeredAlarmState
- value
- capability
- config
- guest
- runtime
- storage
- summary
strict: false
with_nested_properties: true

8.5. Red Hat Satellite 6

group_prefix: foreman_
keyed_groups:
- key: foreman['environment_name'] | lower | regex_replace(' ', '') | regex_replace('[^A-Za-z0-9_]', '_') | regex_replace('none', '')
  prefix: foreman_environment_
  separator: ''
- key: foreman['location_name'] | lower | regex_replace(' ', '') | regex_replace('[^A-Za-z0-9_]', '_')
  prefix: foreman_location_
  separator: ''
- key: foreman['organization_name'] | lower | regex_replace(' ', '') | regex_replace('[^A-Za-z0-9_]', '_')
  prefix: foreman_organization_
  separator: ''
- key: foreman['content_facet_attributes']['lifecycle_environment_name'] | lower | regex_replace(' ', '') | regex_replace('[^A-Za-z0-9_]', '_')
  prefix: foreman_lifecycle_environment_
  separator: ''
- key: foreman['content_facet_attributes']['content_view_name'] | lower | regex_replace(' ', '') | regex_replace('[^A-Za-z0-9_]', '_')
  prefix: foreman_content_view_
  separator: ''
legacy_hostvars: true
plugin: theforeman.foreman.foreman
validate_certs: false
want_facts: true
want_hostcollections: false
want_params: true

8.6. OpenStack

expand_hostvars: true
fail_on_errors: true
inventory_hostname: uuid
plugin: openstack.cloud.openstack

8.7. Red Hat Virtualization

compose:
  ansible_host: (devices.values() | list)[0][0] if devices else None
keyed_groups:
- key: cluster
  prefix: cluster
  separator: _
- key: status
  prefix: status
  separator: _
- key: tags
  prefix: tag
  separator: _
ovirt_hostname_preference:
- name
- fqdn
ovirt_insecure: false
plugin: ovirt.ovirt.ovirt

8.8. 자동화 컨트롤러

include_metadata: true
inventory_id: <inventory_id or url_quoted_named_url>
plugin: awx.awx.tower
validate_certs: <true or false>

9장. 사용자 정의 알림에 지원되는 속성

이 섹션에서는 지원되는 작업 특성 목록과 알림에 대한 메시지 텍스트를 구성하는 적절한 구문에 대해 설명합니다. 지원되는 작업 특성은 다음과 같습니다.

  • allow_simultaneous - (boolean)는 이 작업과 연결된 JT에서 여러 작업이 동시에 실행될 수 있는지를 나타냅니다.
  • controller_node - (문자열) 격리된 실행 환경을 관리하는 인스턴스
  • created - (datetime) 이 작업이 생성된 경우 타임스탬프
  • custom_virtualenv - 작업을 실행하는 데 사용되는 사용자 정의 가상 환경(문자열)
  • Description - (문자열) 작업에 대한 선택적 설명
  • diff_mode - (boolean)가 활성화된 경우 호스트의 템플릿 파일에 대한 텍스트 변경 사항이 표준 출력에 표시됩니다.
  • elapsed - (decimal) 작업이 실행된 시간(초)
  • execution_node - (문자열) 작업이 실행된 노드
  • Failed - 작업이 실패한 경우 (boolean) true
  • 완료 - (datetime) 작업 실행이 완료된 날짜 및 시간
  • force_handlers - (boolean) 핸들러가 강제될 때, 해당 호스트에서 작업이 실패하더라도 알림을 받으면 실행됩니다(예: 연결할 수 없는 호스트 등 일부 조건이 있음 - 여전히 처리기가 실행되지 않도록 할 수 있음)
  • 포크 - (정수) 작업에 요청된 포크 수
  • id - (정수) 이 작업의 데이터베이스 ID
  • job_explanation - (문자열) stdout을 실행하고 캡처할 수 없는 경우 작업 상태를 나타내는 상태 필드
  • job_slice_count - (정수) 분할된 작업의 일부로 실행되는 경우 총 슬라이스 수(1인 경우 작업이 분할된 작업의 일부가 아님)
  • job_slice_number - (정수) 슬라이스된 작업의 일부로 실행하는 경우 운영되는 인벤토리 슬라이스의 ID(라이핑된 작업의 일부가 아닌 경우 특성이 사용되지 않음)
  • job_tags - (문자열) 지정된 태그가 있는 작업만 실행
  • job_type - (선택) 실행, 검사 또는 검사
  • launch_type - (선택) 수동, 다시 시작, 콜백, 스케줄링, 종속성, 워크플로우, 동기화 또는 scm
  • limit - (문자열) 지정된 경우 이 호스트 세트로 제한된 플레이북 실행
  • 수정됨 - (datetime) 이 작업이 마지막으로 수정된 경우 타임스탬프
  • name - (문자열) 이 작업의 이름
  • playbook - (문자열) 실행된 플레이북
  • scm_revision - (문자열) 이 작업에 사용된 프로젝트에서 scm 버전(사용 가능한 경우)
  • skip_tags - (문자열) 지정된 경우 이 태그 세트를 건너 뛰십시오.
  • start_at_task - (문자열) 플레이북 실행이 지정된 경우 이 이름과 일치하는 작업에서 시작됩니다.
  • Started - (datetime) 작업이 시작 대기열에 있는 날짜 및 시간
  • status - (선택) 신규, 보류 중, 대기 중, 실행 중, 성공, 실패, 오류, 취소됨
  • timeout - (정수) 작업이 취소되기 전에 실행할 시간(초)
  • 이 작업의 유형 - (선택) 데이터 유형
  • URL - (문자열) 이 작업의 URL
  • use_fact_cache - 작업에 대해 활성화된 경우 Tower는 Ansible 팩트 캐시 플러그인 역할을 하며, 데이터베이스에 대해 플레이북 실행이 끝나면 팩트를 유지하고 Ansible에서 사용할 수 있도록 팩트를 캐싱합니다.
  • 상세 정보 표시 - (선택) 0 ~ 5 (정상 ~ WinRM 디버그에 해당)
  • host_status_counts (각 상태에 고유하게 할당된 호스트 수)

    • 건너뛰기 (정수)
    • OK (정수)
    • 변경됨 (정수)
    • 실패 (정수)
    • 어두운 (integer)
    • 처리 됨(정수)
    • 복구 됨(정수)
    • 무시됨 (정수)
    • 실패 (boolean)
  • summary_fields:

    • 인벤토리

      • id - (정수) 인벤토리의 데이터베이스 ID
      • Name - (문자열) 인벤토리의 이름
      • Description - (문자열) 인벤토리에 대한 선택적 설명
      • has_active_failures - (boolean) (더 이상 사용되지 않음) 이 인벤토리의 호스트가 실패했는지 여부를 나타내는 플래그
      • total_hosts - (더 이상 사용되지 않음) (정수) 이 인벤토리에 있는 총 호스트 수입니다.
      • hosts_with_active_failures - (더 이상 사용되지 않음) 이 인벤토리에서 활성 오류가 있는 호스트 수
      • total_groups - (더 이상 사용되지 않음) (정수) 이 인벤토리의 총 그룹 수
      • groups_with_active_failures - (더 이상 사용되지 않음) 이 인벤토리에서 활성 오류가 있는 호스트 수
      • has_inventory_sources - (더 이상 사용되지 않음) 이 인벤토리에 외부 인벤토리 소스가 있는지 여부를 나타내는 플래그
      • total_inventory_sources - (int) 이 인벤토리 내에 구성된 총 외부 인벤토리 소스 수
      • inventory_sources_with_failures - (정수) 오류가 있는 이 인벤토리의 외부 인벤토리 소스 수
      • organization_id - 이 인벤토리를 포함하는 (id) 조직
      • kind - (선택) (empty string)(호스트가 인벤토리와 직접 연결됨) 또는 'smart'
    • project

      • id - (정수) 프로젝트의 데이터베이스 ID
      • name - (문자열) 프로젝트의 이름
      • Description - (문자열) 프로젝트에 대한 선택적 설명
      • status - (선택) 신규, 보류 중, 대기 중, 실행 중, 성공, 실패, 오류, 취소됨, 업데이트되지 않음, 확인 또는 누락
      • scm_type (선택) - one of (empty string), git, hg, svn, insights 중 하나
    • job_template

      • id - (정수) 작업 템플릿의 데이터베이스 ID
      • name - (문자열) 작업 템플릿의 이름
      • Description - (문자열) 작업 템플릿에 대한 선택적 설명
    • unified_job_template

      • ID - (정수) 통합 작업 템플릿의 데이터베이스 ID
      • name - (문자열) 통합 작업 템플릿의 이름
      • Description - (문자열) 통합 작업 템플릿에 대한 선택적 설명
      • unified_job_type - (선택) 통합 작업 유형(job, workflow_job, project_update 등)
    • instance_group

      • id - (정수) 인스턴스 그룹의 데이터베이스 ID
      • name - (문자열) 인스턴스 그룹의 이름
    • created_by

      • ID - (정수) 작업을 시작한 사용자의 데이터베이스 ID
      • username - (문자열) 작업을 시작한 사용자 이름
      • first_name - (문자열) 이름
      • last_name - (문자열) 성
    • labels

      • count - (정수) 라벨 수
      • 결과 - 레이블을 나타내는 사전 목록(예: {"id": 5, "name": "database jobs"})

작업에 대한 정보는 그룹화된 중괄호 {{ }}를 사용하여 사용자 정의 알림 메시지에서 참조할 수 있습니다. 특정 작업 속성은 점 표기법을 사용하여 액세스합니다(예: {{ job.summary_fields.inventory.name }}). 중괄호 앞이나 주변의 모든 문자 또는 일반 텍스트는 설명(예: 작업 ID의 경우 '#', 일부 설명자를 나타내기 위해 single-quotes 등)을 추가할 수 있습니다. 사용자 지정 메시지에는 메시지 전체에서 여러 변수가 포함될 수 있습니다.

{{ job_friendly_name }} {{ job.id }} ran on {{ job.execution_node }} in {{ job.elapsed }} seconds.

작업 특성 외에도 기타 몇 가지 변수를 템플릿에 추가할 수 있습니다.

approval_node_name - (문자열) 승인 노드 이름

approval_status - (선택) 승인, 거부, 시간 초과 중 하나

URL - (문자열) 알림이 발송되는 작업의 URL (시작, 성공, 실패 및 승인 알림에 적용)

workflow_url - (문자열) 관련 승인 노드에 대한 URL입니다. 이렇게 하면 알림 수신자가 관련 워크플로우 작업 페이지로 이동하여 진행 상황을 확인할 수 있습니다(즉, 이 노드는 {{ workflow_url }}에서 볼 수 있음). 승인 관련 알림의 경우 url과 workflow_url 모두 동일합니다.

job_friendly_name - (문자열) 작업의 친숙한 이름

job_metadata - (문자열) JSON 문자열로 작업 메타데이터를 생성합니다. 예를 들면 다음과 같습니다.

{'url': 'https://towerhost/$/jobs/playbook/13',
 'traceback': '',
 'status': 'running',
 'started': '2019-08-07T21:46:38.362630+00:00',
 'project': 'Stub project',
 'playbook': 'ping.yml',
 'name': 'Stub Job Template',
 'limit': '',
 'inventory': 'Stub Inventory',
 'id': 42,
 'hosts': {},
 'friendly_name': 'Job',
 'finished': False,
 'credential': 'Stub credential',
 'created_by': 'admin'}

법적 공지

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.