DevOps 트렌드에 발맞추기 위해서 이런 저런 도구들을 찾아보면,

최근 가장 유명한 것은 Chef 아니면 Puppet 이라는 이름이 검색되곤 한다.


하지만, Ansible도 나름 유명한 도구라는...

그래서 계속 더 공부해보기로 했다.



1. hosts 파일

    - 앞에서는 임의의 위치에 hosts 파일을 만들어서 "-i" 옵션을 통해 직접 파일을 지정해주었다.

    - 하지만, 기본 경로에 해당 파일을 위치시키면 아주 편하게 사용할 수 있다.


$ sudo mkdir /etc/ansible

$ sudo nano /etc/ansible/hosts


[staging]

192.168.100.105



2. playbook 작성

    - 어떤 서버에게 어떤 일을 시킬 것인지를 적어놓는 파일을 playbook 이라고 한다.

    - ping을 하는 것을 하나 만들어보자.


$ nano ./ping-test.yml


- hosts: all

  tasks:

    - name: ping

      action: ping



3. playbook 실행

    - 앞에서 작성한 hosts 파일과 playbook을 이용하여 일을 시켜보자.


$ ansible-playbook ./ping-test.yml


PLAY [all] ***********************************************************************************************************


TASK [Gathering Facts] ********************************************************************************************

ok: [192.168.100.105]


TASK [ping] ********************************************************************************************************

ok: [192.168.100.105]


PLAY RECAP *********************************************************************************************************************

192.168.100.105            : ok=2    changed=0    unreachable=0    failed=0



혹시 노예(Slave)가 말을 잘 듣지 않는 경우라면... 주인의 키를 노예에게 알려주지 않은 것이 아닌지 확인해보자.

    - http://www.whatwant.com/395




Ansible 관련 문서나 가이드들이 꽤 많이 검색이 되지만,

나처럼 멍청한 사람을 위한 친절하고 쉬운 가이드가 없어서 고생하고 있다.


일단, 위의 가장 단순한 형태의 Sample로 playbook을 이용하는 방법을 맛보자!


다음 기회에 한 발 더 걸음을 내딪어보자.


반응형

+ Recent posts