8장. 설치 프로그램 인벤토리 파일 정보

Red Hat Ansible Automation Platform은 인벤토리 파일을 사용하여 논리적으로 구성된 인프라의 관리 노드 또는 호스트 목록과 대조됩니다. Red Hat Ansible Automation Platform 설치 프로그램 인벤토리 파일을 사용하여 설치 시나리오를 지정하고 Ansible에 대한 호스트 배포를 설명할 수 있습니다. Ansible은 인벤토리 파일을 사용하여 단일 명령으로 다수의 호스트를 관리할 수 있습니다. 또한 인벤토리는 지정해야 하는 명령줄 옵션 수를 줄임으로써 Ansible을 보다 효율적으로 사용할 수 있도록 지원합니다.

인벤토리 파일은 보유한 인벤토리 플러그인에 따라 여러 형식 중 하나일 수 있습니다. 가장 일반적인 형식은 INIYAML 입니다. 이 문서에 나열된 인벤토리 파일은 INI 형식으로 표시됩니다.

인벤토리 파일의 위치는 사용한 설치 프로그램에 따라 다릅니다. 다음 표에서는 가능한 위치를 보여줍니다.

설치 프로그램위치

번들 tar

/ansible-automation-platform-setup-bundle-<latest-version>

제공되지 않음 tar

/ansible-automation-platform-setup-<latest-version>

RPM

/opt/ansible-automation-platform/installer

다음 명령을 사용하여 인벤토리의 호스트를 확인할 수 있습니다.

ansible all -i <path-to-inventory-file. --list-hosts

인벤토리 파일 예

[automationcontroller]
host1.example.com
host2.example.com
Host4.example.com

[automationhub]
host3.example.com

[database]
Host5.example.com

[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>'

인벤토리 파일의 첫 번째 부분에서는 Ansible에서 작업할 수 있는 호스트 또는 그룹을 지정합니다.

8.1. 호스트 및 그룹 관련 지침

데이터베이스

  • 외부 데이터베이스를 사용하는 경우 인벤토리 파일의 [database] 섹션이 올바르게 설정되어 있는지 확인합니다.
  • 성능 향상을 위해 데이터베이스 및 자동화 컨트롤러를 동일한 서버에 공동 배치하지 마십시오.

자동화 허브

  • [automationhub] 그룹이 있는 경우 변수 automationhub_pg_ host 및 automationhub_pg _port 를 포함해야 합니다.
  • [automationhub] 그룹에 Ansible 자동화 허브 정보를 추가합니다.
  • 동일한 노드에 Ansible 자동화 허브 및 자동화 컨트롤러를 설치하지 마십시오.
  • [automationhub][automationcontroller] 호스트에 연결할 수 있는 IP 주소 또는 FQDN(정규화된 도메인 이름)을 제공하여 사용자가 다른 노드의 Ansible 자동화 허브 및 자동화 컨트롤러에서 콘텐츠를 동기화하고 설치할 수 있도록 합니다. localhost 를 사용하지 마십시오.

프라이빗 자동화 허브

  • 동일한 노드에 프라이빗 자동화 허브 및 자동화 컨트롤러를 설치하지 마십시오.
  • 동일한 PostgreSQL(데이터베이스) 인스턴스를 사용할 수 있지만 다른 (데이터베이스) 이름을 사용해야 합니다.
  • 내부 주소에서 개인 자동화 허브를 설치하고 외부 주소만 포함하는 인증서가 있는 경우 설치 시 인증서 문제가 없는 컨테이너 레지스트리로 사용할 수 없습니다.
중요

[database] 그룹이 동시에 설치된 경우 둘 다 구분하지 않으므로 자동화 컨트롤러와 Ansible 자동화 허브 설치를 분리해야 합니다.

[database] 에서 하나의 값을 사용하고 자동화 컨트롤러와 Ansible 자동화 허브가 둘 다 정의하는 경우 동일한 데이터베이스를 사용합니다.

자동화 컨트롤러

  • 자동화 컨트롤러는 사용하는 데이터베이스에 대한 복제 또는 장애 조치를 구성하지 않습니다.
  • 자동화 컨트롤러는 보유 중인 모든 복제에서 작동합니다.

이벤트 기반 Ansible 컨트롤러

  • 이벤트 기반 Ansible 컨트롤러는 별도의 서버에 설치해야 하며 자동화 허브 및 자동화 컨트롤러와 동일한 호스트에 설치할 수 없습니다.

클러스터형 설치

  • 기존 클러스터를 업그레이드할 때 기존 인스턴스 또는 인스턴스 그룹을 생략하도록 클러스터를 재구성할 수도 있습니다. 인벤토리 파일에서 인스턴스 또는 인스턴스 그룹을 생략하는 것만으로는 클러스터에서 제거하기에 충분하지 않습니다. 인벤토리 파일에서 인스턴스 또는 인스턴스 그룹을 생략하는 것 외에도 업그레이드를 시작하기 전에 인스턴스 또는 인스턴스 그룹을 프로비저닝 해제해야 합니다. 노드 또는 그룹 프로비저닝 을 참조하십시오. 그러지 않으면 생략된 인스턴스 또는 인스턴스 그룹이 클러스터와 계속 통신하므로 업그레이드 중에 자동화 컨트롤러 서비스에 문제가 발생할 수 있습니다.
  • 클러스터형 설치 설정을 생성하는 경우 [localhost] 를 모든 인스턴스의 호스트 이름 또는 IP 주소로 교체해야 합니다. 자동화 컨트롤러 및 자동화 허브를 위한 설치 프로그램은 [localhost] 모든 노드와 인스턴스를 허용하지 않아야 합니다. 이 호스트 이름 또는 주소를 사용하여 다른 노드와 인스턴스에 연결할 수 있어야 합니다. 노드 중 하나에서 localhost ansible_connection=local 을 사용할 수 없습니다. 모든 노드의 호스트 이름에 동일한 형식을 사용합니다.

    따라서 이 작업은 작동하지 않습니다.

    [automationhub]
    localhost ansible_connection=local
    hostA
    hostB.example.com
    172.27.0.4

    대신 다음 형식을 사용하십시오.

    [automationhub]
    hostA
    hostB
    hostC

    또는

    [automationhub]
    hostA.example.com
    hostB.example.com
    hostC.example.com