1.3. 제어 노드 준비

RHEL은 제한된 지원 범위와 함께 AppStream 리포지토리에 Ansible Core 를 포함합니다. Ansible에 대한 추가 지원이 필요한 경우 Red Hat에 문의하여 Ansible Automation Platform 서브스크립션에 대해 자세히 알아보십시오.

사전 요구 사항

  • 시스템을 고객 포털에 등록하셨습니다.
  • Red Hat Enterprise Linux Server 서브스크립션을 시스템에 연결하셨습니다.
  • 고객 포털 계정에서 사용 가능한 경우 Ansible Automation Platform 서브스크립션을 시스템에 연결합니다.

절차

  1. rhel-system-roles 패키지를 설치합니다.

    [root@control-node]# dnf install rhel-system-roles

    이 명령은 Ansible Core 를 종속성으로 설치합니다.

  2. 나중에 플레이북을 관리하고 실행하는 데 사용하는 사용자를 생성합니다.

    [root@control-node]# useradd ansible
  3. 새로 생성된 ansible 사용자로 전환합니다.

    [root@control-node]# su - ansible

    이 사용자로 나머지 절차를 수행합니다.

  4. SSH 공개 및 개인 키 생성

    [ansible@control-node]$ ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/ansible/.ssh/id_rsa): password
    ...

    키 파일에 제안된 기본 위치를 사용합니다.

  5. 선택 사항: 연결을 설정할 때마다 Ansible에서 SSH 키 암호를 요청하는 메시지를 표시하지 않도록 SSH 에이전트를 구성합니다.
  6. 다음 콘텐츠를 사용하여 ~/.ansible.cfg 파일을 생성합니다.

    [defaults]
    inventory = /home/ansible/inventory
    remote_user = ansible
    
    [privilege_escalation]
    become = True
    become_method = sudo
    become_user = root
    become_ask_pass = True

    이러한 설정을 사용하여 다음을 수행합니다.

    • Ansible은 지정된 인벤토리 파일에서 호스트를 관리합니다.
    • Ansible은 관리 노드에 SSH 연결을 설정할 때 remote_user 매개변수에 설정된 계정을 사용합니다.
    • Ansible은 sudo 유틸리티를 사용하여 관리 노드에서 root 사용자로 작업을 실행합니다.

      보안상의 이유로 관리 노드에서 sudo 를 구성하여 root 가 되도록 원격 사용자의 암호를 입력해야 합니다. ~/.ansible.cfg 에서 become_ask_pass=True 설정을 지정하면 Ansible에서 플레이북을 실행할 때 이 암호를 묻는 메시지를 표시합니다.

    ~/.ansible.cfg 파일의 설정은 우선 순위가 높으며 전역 /etc/ansible/ansible.cfg 파일의 설정을 재정의합니다.

  7. ~/inventory 파일을 만듭니다. 예를 들어 다음은 3개의 호스트와 US 라는 호스트 그룹 1개가 있는 INI 형식의 인벤토리 파일입니다.

    managed-node-01.example.com
    
    [US]
    managed-node-02.example.com ansible_host=192.0.2.100
    managed-node-03.example.com

    제어 노드에서 호스트 이름을 확인할 수 있어야 합니다. DNS 서버가 특정 호스트 이름을 확인할 수 없는 경우 호스트 항목 옆에 있는 ansible_host 매개변수를 추가하여 IP 주소를 지정합니다.