티스토리 뷰
play의 필수 구성요소
1. name
2. hosts
3. tasks
예시
---
- name: Update web servers
hosts: webservers
remote_user: root
tasks:
- name: Ensure apache is at the latest version
ansible.builtin.yum:
name: httpd
state: latest
- name: Write the apache config file
ansible.builtin.template:
src: /srv/httpd.j2
dest: /etc/httpd.conf
- name: Update db servers
hosts: databases
remote_user: root
tasks:
- name: Ensure postgresql is at the latest version
ansible.builtin.yum:
name: postgresql
state: latest
- name: Ensure that postgresql is started
ansible.builtin.service:
name: postgresql
state: started
task 안에는 module이 있는데
- ansible.builtin.yum
- k8s
- yum
- package
등을 사용할 수 있다.
role
ㄴ play.yaml
ㄴ ./roles
ㄴ ./role 1
ㄴ ./role 2
ㄴ ./role 3
ansible-galaxy init {role1} 명령어로 role1 (directory 구조) 을 만들 수 있다
role안에는 다음과 같은 디렉토리들이 있어 구조적으로 관리가 가능하다
./role1
ㄴdefault
ㄴfile
ㄴhandler
ㄴmeta
ㄴtask
ㄴtemplate
ㄴtest
ㄴvars
롤을 만들었으면 play에서 role을 사용하여 순차적으로 실행한다.
# play
- host: TARGET SERVER
become: yes
roles:
- role 1
- role 2
- role 3
ansible을 실행하는 명령어는
ansible-playbook [playbook 파일명.yml]
'CLOUD > Infrastructure' 카테고리의 다른 글
[Micro Service #02] Service Mesh 서비스메쉬란? (0) | 2022.08.09 |
---|---|
[Micro Service #01] Istio의 아키텍처 (0) | 2022.08.09 |
keycloack 이란? (0) | 2022.08.09 |
virtualbox 에서 Nat Network 가 1~2일 주기로 끊길때 (0) | 2022.03.21 |
Nginx 웹서버 설치 및 사용법 (Ubuntu 20.04 기준) 에러로그보기, 접속로그보기 (0) | 2022.02.10 |