Ansible

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기

DevOps 도우인 Ansible을 정리 합니다.


Ansible 개요

Ansible 설치

CentOS에서 yum으로 설치

yum -y install ansible ansible-*
ansible --version

#--- ansible --version 명령에서 오류가 발생할 경우
pip uninstall ansible
pip install ansible

ansible controller -m shell -a "ls -alF | grep ceph"


폴더 구조

  • /etc/ansible/
    • hosts : Hosts 파일 정보, Hosts간에는 ssh로 자동 접속이 가능하도록 설정이 되어야 합니다.
  • $HOME/.ansible/
  • /usr/share/ansible_plugins/
  •  /usr/lib/python2.7/site-packages/ansible/modules

Ansible 사용법

구조

playbook : 하나 이상의 play

play : role과 task를 매핑

role

task : Ansible 모듈 호출

yaml, Jinja2 사용


CLI

ansible --help
ansible-doc command

ansible
    --module-name=MODULE_NAME           -m MODULE_NAME
    --args=MODULE_ARGS                  -a MODULE_ARGS
    --module-path=MODULE_PATH           -M MODULE_PATH
    --check                             -C
    
    --extra-vars=EXTRA_VARS             -e EXTRA_VARS
    --output=OUTPUT_FILE

ansible all -m ping
ansible controller -a "pwd"
ansible controller -m command -a pwd
ansible controller -m shell -a "ls -alF | grep ceph"
ansible controller -m script -a ~.bash
ansible-playbook release.yml --extra-vars "host=~ user=~" [-vvvv]
 {{host}}, {{user}}

참고 문헌