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
서브스크립션이 시스템에 연결되어 있습니다.
절차
rhel-system-roles
패키지를 설치합니다.[root@control-node]# yum install rhel-system-roles
이 명령은
ansible-core
패키지를 종속성으로 설치합니다.ansible
이라는 사용자를 생성하여 플레이북을 관리하고 실행합니다.[root@control-node]# useradd ansible
새로 생성된
ansible
사용자로 전환합니다.[root@control-node]# su - ansible
이 사용자로 나머지 절차를 수행하십시오.
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> ...
권장되는 기본 위치를 키 파일에 사용합니다.
- 선택 사항: Ansible에서 연결을 설정할 때마다 SSH 키 암호를 입력하라는 메시지를 표시하지 않도록 SSH 에이전트를 구성합니다.
다음 콘텐츠를 사용하여
~/.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
사용자로 작업을 실행합니다. - 플레이북을 적용할 때마다 원격 사용자의 루트 암호를 입력하라는 메시지를 표시합니다. 이는 보안상의 이유로 권장됩니다.
관리 호스트의 호스트 이름을 나열하는 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 주소를 지정합니다.
다음 단계
- 관리형 노드를 준비합니다. 자세한 내용은 관리 노드 준비를 참조하십시오.