yaml 편집에 대한 설정
*들여쓰기에 대한 공백은 무관하지만 2칸을 보편적으로 사용한다.
$HOME/.vimrc
- ts: tab 키를 눌렀을때 두칸 들여씀.
- sw: 다음줄을 자동으로 들여스고, 탭을 공백으로 확장함.
- paste: 복사한 내용을 붙여넣기 할경우에 적용.
autocmd Fileype yaml setlocal ai ts=2 sw=2 et paste
다중 플레이 작성
---
- name: first play
hosts: webservers
remote_user: devops
become: true
tasks:
- yum:
name: htpd
- service:
enabled: true
- name: second play
hosts: dvservers
tasks:
- yum:
name: mariadb
- service:
enabled: true
모듈 유지 관리
- stableinterface : 모듈의 매개 변수가 안정적이며, 매개 변수를 제거하거나 의미를 변경하지 않도록 모든 노력을 기울입니다.
- preview: 모듈이 기술 프리뷰에 있고 불안정할 수 있으며, 해당 매개 변수가 변경되거나 호환되지 않는 변경의 영향을 받는 라이브러리 또는 웹서비스가 필요할 수 있습니다.
- deprecated: 모듈이 사용되지 않으며, 일부는 향후 릴리즈에서 더 이상 사용할 수 없습니다.
- removed: 모듈이 릴리즈에서 제거되었지만 이전 사용자가 새 모듈로 마이그레이션하는 데 도움이 되도록 스텀이 설명서 용도로 존재합니다.
[student@workstation basic-playbook]$ ansible-doc yum
> YUM (/usr/lib/python2.7/site-packages/ansible/modules/packaging/os/yum.py)
~~~~~~~~~~~~~
METADATA:
Status: ['stableinterface']
Supported_by: core
호스트 관리 작업 - 플레이북
- 플레이북 구현
- 플레이북을 사용하여 관리 대상 호스트에서 관리 작업을 구성하고 수행합니다.
- 플레이북을 구성하고 실행하여 관래 대상 호스트에 웹서비스 및 데이터베이스 서비스를 설치, 구성하고 해당 상태를 확인 할 수 있습니다.
ansible.cfg
[student@workstation imp-lab]$ cat ansible.cfg [defaults] inventory=inventory remote_user=devops [privilege_escalation] become=False become_method=sudo become_user=root become_ask_pass=False [student@workstation imp-lab]$
inventory
[student@workstation imp-lab]$ cat inventory serverb.lab.example.com
[student@workstation imp-lab]$ cat internet.yml
---
- name: check package
hosts: serverb.lab.example.com
become: yes
tasks:
- name: laest enabled and running
yum:
name:
- firewalld
- httpd
- php
- php-mysql
- mariadb-server
state: latest
- name: firewalld enabled and running
service:
name: firewalld
enabled: true
state: started
- name: firewalld permits http service
firewalld:
service: http
permanent: true
state: enabled
immediate: yes
- name: httpd enabled and running
service:
name: httpd
enabled: true
state: started
- name: mariadb enabled and running
service:
name: mariadb
enabled: true
state: started
- name: test php page is installed
get_url:
url: "http://materials.example.com/grading/var/www/html/index.php"
dest: /var/www/html/index.php
mode: 0644
- name: Test internet web server
hosts: localhost
become: no
tasks:
- name: connect to internet web server
uri:
url: http://serverb.lab.example.com
status_code: 200
0 Comments