1. 문제 해결 및 Ansible Playbook 만들기
Source: Dev.to
실습 정보
Ansible 플레이북을 점프 호스트에서 완료해야 합니다. 팀원이 중단한 지점부터 이어서 작업합니다. 인벤토리 파일 /home/thor/ansible/inventory을 수정해야 합니다. 플레이북은 Stratos DC에 있는 App Server 3에서 실행되어야 합니다. 인벤토리를 해당 서버에 맞게 업데이트하고, App Server 3에 빈 파일 /tmp/file.txt를 생성하는 플레이북을 작성하세요.
검증은 다음 명령으로 플레이북을 실행합니다:
ansible-playbook -i inventory playbook.yml
추가 인자를 사용하지 않아도 플레이북이 정상 동작하도록 하세요.
단계
Step 1 – 플레이북 디렉터리 만들기
mkdir -p ~/playbook
Step 2 – 인벤토리 파일 만들기
vi ~/playbook/inventory
다음 내용을 추가합니다:
[app_servers]
stapp01 ansible_user=tony ansible_password=Ir0nM@n owner_name=tony
stapp02 ansible_user=steve ansible_password=Am3ric@ owner_name=steve
stapp03 ansible_user=banner ansible_password=BigGr33n owner_name=banner
위 내용은 모든 앱 서버를 정의합니다.
Step 3 – 플레이북 파일 만들기
vi ~/playbook/playbook.yml
다음 내용을 추가합니다:
---
- name: Create /home/opt.txt on all app servers
hosts: app_servers
become: yes
tasks:
- name: Ensure /home/opt.txt exists with correct permissions and ownership
file:
path: /home/opt.txt
state: touch
mode: "0744"
owner: "{{ owner_name }}"
group: "{{ owner_name }}"
Step 4 – 파일 확인하기
# Inventory:
cat ~/playbook/inventory
# Playbook:
cat ~/playbook/playbook.yml
Step 5 – 플레이북 실행 (검증이 자동으로 수행)
ansible-playbook -i inventory playbook.yml
플레이북은 다음을 수행합니다:
- 모든 앱 서버에
/home/opt.txt파일 생성 - 올바른 소유자 적용:
stapp01 → tonystapp02 → stevestapp03 → banner
리소스 및 다음 단계
- 전체 코드 저장소: KodeKloud Learning Labs
- 추가 심화 자료: Whispering Cloud Insights – 다른 기술 기사 읽기
- 토론 참여: DEV Community – 생각과 질문 공유
- 연결: LinkedIn
크레딧
- 모든 실습은 KodeKloud에서 제공되었습니다.