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

 

CPU

4

  • 자동화와 클러스터 작업을 둘 다 실행합니다. 실행 및 제어 노드에 대한 주석을 이 노드 유형에 모두 적용합니다.

홉 노드

필수 항목

참고

RAM

16GB

 

CPU

4

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

disk: 서비스 노드

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

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

disk: 데이터베이스 노드

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 기준으로 평가되어야 합니다.

disk: 데이터베이스 노드

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가 필요합니다.