Net Eng

Ansible 실습 - 7 본문

Cloud/Ansible

Ansible 실습 - 7

欲心 2024. 6. 11. 23:15
□ 다음과 같은 hosts.j2 파일을 /home/ansible/project 디렉토리에 생성하고 초기 템플릿 파일로 사용한다. /home/ansible/project/inventory 파일안에 있는 내용을 다음과 같이 변경한다.

inventory 

[dev]
ansible1 ansible_ssh_host=192.168.10.11

[test]
ansible2 ansible_ssh_host=192.168.10.12

[prod]
ansible3 ansible_ssh_host=192.168.10.13
ansible4 ansible_ssh_host=192.168.10.14

[webservers:children]
prod



hosts.j2 파일의 내용은 다음과 같다. (다음 파일은 변경하지 않는다. 복사해서 사용한다.)

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

{% for host in groups['all'] %}
{{ hostvars[host].ansible_ssh_host }} {{ hostvars[host].inventory_hostname }} {{ hostvars[host].inventory_hostname_short }}
{% endfor %}



□ /etc/hosts와 동일한 형식으로 각 인벤토리 호스트에 대한 줄이 포함된 파일을 생성하는 데 사
   용할 수 있도록 템플릿을 작성한다.(ex: hosts.j2)
□ dev 호스트 그룹의 호스트에서 파일 /etc/myhosts를 생성하도록 이 템플릿을 사용하는 
   /home/ansible/project/hosts.yml 이라는 플레이북을 생성한다.
□ /etc/myhosts 파일의 소유자는 root 이고, 그룹은 root, 그리고 퍼미션은 rw-r--r-- 설정 
   되어 있어야 한다.

플레이북이 실행되면 dev 호스트 그룹의 호스트에 파일 /etc/myhosts에 각 관리형 호스트에 대한 줄이 있어야 한다.

[참고] 인벤토리 호스트 이름이 표시되는 순서는 중요하지 않다.

 

'Cloud > Ansible' 카테고리의 다른 글

Ansible 실습 - 9  (0) 2024.06.11
Ansible 실습 - 8  (0) 2024.06.11
Ansible 실습 - 6  (0) 2024.06.11
Ansible 실습 - 5  (0) 2024.06.11
Ansible 실습 - 4  (0) 2024.06.11