2장. RHEL 시스템 역할을 사용하도록 제어 노드 및 관리형 노드 준비

개별 RHEL 시스템 역할을 사용하여 서비스 및 설정을 관리하려면 먼저 제어 노드 및 관리 노드를 준비해야 합니다.

2.1. RHEL 8에서 제어 노드 준비

RHEL 시스템 역할을 사용하기 전에 제어 노드를 구성해야 합니다. 그런 다음 이 시스템은 플레이북에 따라 인벤토리에서 관리 호스트를 구성합니다.

사전 요구 사항

  • RHEL 8.6 이상이 설치되어 있어야 합니다. RHEL 설치에 대한 자세한 내용은 표준 RHEL 8 설치 수행을 참조하십시오.

    참고

    RHEL 8.5 및 이전 버전에서 Ansible 패키지는 Ansible Core 대신 Ansible Engine을 통해 제공되었으며 다른 수준의 지원이 제공되었습니다. 패키지가 RHEL 8.6 이상의 Ansible 자동화 콘텐츠와 호환되지 않을 수 있으므로 Ansible Engine을 사용하지 마십시오. 자세한 내용은 RHEL 9 및 RHEL 8.6 이상 AppStream 리포지토리에 포함된 Ansible Core 패키지에 대한 지원 범위를 참조하십시오.

  • 시스템이 고객 포털에 등록되어 있습니다.
  • Red Hat Enterprise Linux Server 서브스크립션이 시스템에 연결되어 있습니다.
  • 선택 사항: Ansible Automation Platform 서브스크립션이 시스템에 연결되어 있습니다.

절차

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

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

    이 명령은 ansible-core 패키지를 종속성으로 설치합니다.

  2. ansible 이라는 사용자를 생성하여 플레이북을 관리하고 실행합니다.

    [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):
    Enter passphrase (empty for no passphrase): <password>
    Enter same passphrase again: <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.cfg 파일의 설정은 우선 순위가 높으며 글로벌 /etc/ansible/ansible.cfg 파일의 설정을 덮어씁니다.

    이러한 설정을 통해 Ansible은 다음 작업을 수행합니다.

    • 지정된 인벤토리 파일의 호스트를 관리합니다.
    • 관리 노드에 대한 SSH 연결을 설정할 때 remote_user 매개변수에 설정된 계정을 사용합니다.
    • sudo 유틸리티를 사용하여 관리 노드에서 root 사용자로 작업을 실행합니다.
    • 플레이북을 적용할 때마다 원격 사용자의 루트 암호를 입력하라는 메시지를 표시합니다. 이는 보안상의 이유로 권장됩니다.
  7. 관리 호스트의 호스트 이름을 나열하는 INI 또는 YAML 형식으로 ~/inventory 파일을 생성합니다. 인벤토리 파일에서 호스트 그룹을 정의할 수도 있습니다. 예를 들어 다음은 3개의 호스트와 US 라는 호스트 그룹이 포함된 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 주소를 지정합니다.

다음 단계