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
Add Comment