1.3. 역할 적용
다음 절차에서는 특정 역할을 적용하는 방법을 설명합니다.
사전 요구 사항
제어 노드로 사용하려는 시스템에
rhel-system-roles패키지가 설치되어 있는지 확인합니다.yum install rhel-system-roles
# yum install rhel-system-rolesCopy to Clipboard Copied! Toggle word wrap Toggle overflow RHEL 시스템 역할을 사용하는 플레이북을 실행하려면
ansible패키지가 필요합니다. Ansible Engine 리포지토리가 활성화되어 있고ansible패키지가 제어 노드로 사용하려는 시스템에 설치되어 있는지 확인합니다.Red Hat Ansible Engine 서브스크립션이 없는 경우 Red Hat Enterprise Linux 서브스크립션과 함께 제공되는 제한된 지원 버전의 Red Hat Ansible Engine을 사용할 수 있습니다. 이 경우 다음 단계를 따르십시오.
RHEL Ansible Engine 리포지토리를 활성화합니다.
subscription-manager refresh sudo subscription-manager repos --enable rhel-7-server-ansible-2.9-rpms
# subscription-manager refresh # sudo subscription-manager repos --enable rhel-7-server-ansible-2.9-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible Engine을 설치합니다.
yum install ansible
# yum install ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- Red Hat Ansible Engine 서브스크립션이 있는 경우 How do I download and Install Red Hat Ansible Engine? 에 설명된 절차를 따르십시오.
Ansible 인벤토리를 생성할 수 있는지 확인합니다.
인벤토리는 Ansible 플레이북에서 사용하는 호스트, 호스트 그룹 및 일부 구성 매개 변수를 나타냅니다.
플레이북은 일반적으로 사람이 읽을 수 있으며
ini,yaml,json및 기타 파일 형식으로 정의됩니다.Ansible 플레이북을 생성할 수 있는지 확인합니다.
플레이북은 Ansible의 구성, 배포 및 오케스트레이션 언어를 나타냅니다. 플레이북을 사용하면 원격 시스템의 구성을 선언 및 관리하고, 여러 개의 원격 시스템을 배포하거나 수동 주문 프로세스의 단계를 오케스트레이션할 수 있습니다.
플레이북은 하나 이상의
플레이목록입니다. 모든플레이에는 Ansible 변수, 작업 또는 역할이 포함될 수 있습니다.인벤토리는 사람이 읽을 수 있으며
yaml형식으로 정의됩니다.
절차
관리할 호스트 및 그룹을 포함하는 필수 Ansible 인벤토리를 생성합니다. 다음은
webservers:이라는 호스트 그룹의inventory.ini파일을 사용하는 예입니다.[webservers] host1 host2 host3
[webservers] host1 host2 host3Copy to Clipboard Copied! Toggle word wrap Toggle overflow 필요한 역할을 포함하여 Ansible 플레이북을 생성합니다. 다음 예는 플레이북에
roles:옵션을 통해 역할을 사용하는 방법을 보여줍니다.다음 예제는 지정된
플레이에대한roles:옵션을 통해 역할을 사용하는 방법을 보여줍니다.--- - hosts: webservers roles: - rhel-system-roles.network - rhel-system-roles.timesync--- - hosts: webservers roles: - rhel-system-roles.network - rhel-system-roles.timesyncCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고모든 역할에는 역할 사용 방법과 지원되는 매개 변수 값을 설명하는 README 파일이 포함되어 있습니다. 역할의 설명서 디렉터리에서 특정 역할에 대한 플레이북 예제도 찾을 수 있습니다. 이러한 문서 디렉터리는
rhel-system-roles패키지와 함께 기본적으로 제공되며 다음 위치에서 찾을 수 있습니다./usr/share/doc/rhel-system-roles-VERSION/SUBSYSTEM/
/usr/share/doc/rhel-system-roles-VERSION/SUBSYSTEM/Copy to Clipboard Copied! Toggle word wrap Toggle overflow rhel-7.9 rhel-system-roles패키지의 경우 VERSION 값은 1.0.1 입니다.SUBSYSTEM 을
selinux,kdump,network,timesync또는storage와 같은 필수 역할의 이름으로 바꿉니다.특정 호스트에서 플레이북을 실행하려면 다음 중 하나를 수행해야 합니다.
hosts: host1[,host2,…을 사용하도록 플레이북을 편집합니다.]또는호스트: all및 명령을 실행합니다.ansible-playbook name.of.the.playbook
# ansible-playbook name.of.the.playbookCopy to Clipboard Copied! Toggle word wrap Toggle overflow 인벤토리를 편집하여 사용할 호스트가 그룹에 정의되어 있는지 확인하고 명령을 실행합니다.
ansible-playbook -i name.of.the.inventory name.of.the.playbook
# ansible-playbook -i name.of.the.inventory name.of.the.playbookCopy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook명령을 실행할 때 모든 호스트를 지정합니다.ansible-playbook -i host1,host2,... name.of.the.playbook
# ansible-playbook -i host1,host2,... name.of.the.playbookCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요i
플래그는사용 가능한 모든 호스트의 인벤토리를 지정합니다. 여러 대상 호스트가 있지만 플레이북을 실행할 호스트를 선택하려는 경우 플레이북에 변수를 추가하여 호스트를 선택할 수 있습니다. 예를 들어 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플레이북 실행 명령:
ansible-playbook -i host1,..hostn -e target_host=host5 example-playbook.yml
# ansible-playbook -i host1,..hostn -e target_host=host5 example-playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow