728x90
플레이북 실행
ansible-playbook <YAML 파일 경로> -b
-b 옵션은 관리자 권한을 주는 것, 플레이북 내에서 권한을 줄 수도 있다.
플레이북은 태스크를 각각의 관리 노드에 순차적으로 적용하며 실행된다.
태스크의 모든 작업이 끝나야 다음 태스크로 넘어간다. 즉, 동기적으로 태스크가 실행된다.
[vagrant@controller ~]$ ansible-playbook test.yml -b
PLAY [wp] **********************************************************************
TASK [Gathering Facts] *********************************************************
ok: [192.168.100.11]
TASK [yum] *********************************************************************
ok: [192.168.100.11]
.
.
YAML 문법 확인
ansible-playbook <YAML 파일 경로> --syntax-check
[vagrant@controller ~]$ ansible-playbook test.yml --syntax-check
playbook: test.yml
플레이북 시뮬레이션
ansible-playbook <YAML 파이> --check -b
플레이북 내용을 바탕으로 시뮬레이션을 돌려준다. 실제로 작업 내용을 관리 노드에 적용시키지는 않는다.
[vagrant@controller ~]$ ansible-playbook test.yml -b -b --check
PLAY [wp] **********************************************************************
TASK [Gathering Facts] *********************************************************
ok: [192.168.100.11]
ok: [192.168.100.12]
TASK [yum] *********************************************************************
ok: [192.168.100.11]
ok: [192.168.100.12]
TASK [yum_repository] **********************************************************
ok: [192.168.100.11]
ok: [192.168.100.12]
TASK [yum_repository] **********************************************************
ok: [192.168.100.11]
ok: [192.168.100.12]
.
.
관리노드 변경점 확인
ansible-playbook <YAML 파일 경로> --diff -b
--diff 옵션은 파일의 변경점을 텍스트 형태로 보여준다.
[vagrant@controller ~]$ ansible-playbook test.yml -b
TASK [replace] *****************************************************************
--- before: /var/www/html/wordpress/wp-config.php
+++ after: /var/www/html/wordpress/wp-config.php
@@ -23,7 +23,7 @@
define( 'DB_NAME', 'database_name_here' );
/** Database username */
-define( 'DB_USER', 'username_here' );
+define( 'DB_USER', 'wpadm' );
/** Database password */
define( 'DB_PASSWORD', 'password_here' );
changed: [192.168.100.11]
TASK [replace] *****************************************************************
--- before: /var/www/html/wordpress/wp-config.php
192.168.100.11
+++ after: /var/www/html/wordpress/wp-config.php
@@ -20,7 +20,7 @@
// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
-define( 'DB_NAME', 'database_name_here' );
+define( 'DB_NAME', 'wordpress' );
/** Database username */
define( 'DB_USER', 'wpadm' );
changed: [192.168.100.11]
.
.
실행할 시스템 제한
ansible-playbook <YAML 파일> --limit <호스트 명, IP 주소, 그룹>
limit 뒤에 오는 관리 노드만 플레이북을 실행시켜준다.
[vagrant@controller ~]$ ansible-playbook test.yml -b --limit 192.168.100.12
PLAY [wp] **********************************************************************
TASK [Gathering Facts] *********************************************************
ok: [192.168.100.12]
TASK [yum] *********************************************************************
ok: [192.168.100.12]
.
.
호스트 목록 확인
ansible-playbook <YAML 파일> --list-hosts
[vagrant@controller ~]$ ansible-playbook test.yml --list-hosts
playbook: test.yml
play #1 (wp): wp TAGS: []
pattern: [u'wp']
hosts (2):
192.168.100.11
192.168.100.12
태스크 목록 확인
ansible-playbook <YAML 파일> --list-tasks
[vagrant@controller ~]$ ansible-playbook test.yml --list-tasks
playbook: test.yml
play #1 (wp): wp TAGS: []
tasks:
yum TAGS: []
yum_repository TAGS: []
yum_repository TAGS: []
rpm_key TAGS: []
yum TAGS: []
service TAGS: []
service TAGS: []
get_url TAGS: []
unarchive TAGS: []
mysql_db TAGS: []
mysql_user TAGS: []
copy TAGS: []
replace TAGS: []
replace TAGS: []
replace TAGS: []
728x90