Ansible 설치 및 기본 모듈 소개

ansible 소개
Ansible는 파이썬 개발을 바탕으로 수많은 우수한 운영 도구의 장점을 모아 명령 배치 프로그램, 설정 시스템 등의 기능을 대량으로 실행했다.기본적으로 SSH 프로토콜을 통해 원격 명령을 실행하거나 하달할 수 있으며 클라이언트 프록시 소프트웨어를 배치하지 않아도 자동화 환경 배치를 더욱 간단하게 할 수 있다.여러 호스트의 병렬 관리를 동시에 지원하여 호스트를 더욱 간편하게 관리할 수 있습니다.
ansible 설치
              

yum install -y epel-release   ##  epel 
yum install ansible -y

ansible --version          ##  ansible  

/etc/ansible     

ansible.cfg    ##ansible     

hosts    ##ansible    ,                  

roles     ##  

cd /etc/ansible
vi hosts       ##      
[aaa]
192.168.x.x      ##     IP
[bbb]
192.168.x.x

ssh-keygen -t rsa      ##    
ssh-copy-id [email protected]
 ##       

---------     --------------

ssh-agent bash
ssh-add

ansible 기초 모듈 및 실례
------command  ------
    :ansible [  ] [-m   ] [-a args]
ansible-doc -l     ##            : q  

ansible-doc -s yum   ##-s  yum           

ansible 192.168.x.x -m command -a 'date'  ##  ip  date

ansible aaa -m command -a 'date'       ##          date

ansible all -m command -a 'date'        ##  hosts    date  

ansible all -a 'ls /'          -m  ,     command  

-----cron  ------

    (state):present    (    ),absent    。

ansible-doc -s cron      ##  cron    

ansible aaa -m cron -a 'minute="*/1" job="/bin/echo heihei" name="test cron job"'
##     

ansible aaa -a 'crontab -l'  ##      

ansible aaa -m cron -a 'name="test cron job" state=absent'    ##      ,            ,name=None  

-----user  ------

user       useradd, userdel, usermod    

ansible-doc -s user

ansible aaa -m user -a 'name="test01"'    ##    test01

ansible aaa -m command -a 'tail /etc/passwd'   ##    

ansible aaa -m user -a 'name="test01" state=absent'    ##    test01

-----group  -----

group      groupadd, groupdel, groupmod     。

ansible-doc -s group

ansible aaa -m group -a 'name=mysql gid=306 system=yes'     ##   

ansible aaa -a 'tail /etc/group'    ##   

ansible aaa -m user -a 'name=test01 uid=306 system=yes group=mysql'   ##      

ansible aaa -a 'id test01'     ##    

------copy  --------

ansible-doc -s copy

ansible aaa -m copy -a 'src=/etc/fstab dest=/opt/fstab.back owner=root mode=640'
##     /etc/fstab           /opt/fstab.bak      root,     640

ansible aaa -a 'ls -l /opt'   ##      

ansible aaa -m copy -a 'content="hello heihei!"
dest=/opt/fstab.back'  ## hello heihei!  /opt/fstab.back

ansible aaa -a 'cat /opt/fstab.back'   ##      

------file  --------
ansible-doc -s file

ansible aaa -m user -a 'name=abc system=yes'    ##    

ansible aaa -m group -a 'name=abc system=yes'   ##   

ansible aaa -m file -a 'owner=abc group=abc mode=644 path=/opt/fstab.back'        ##            

ansible aaa -m file -a 'path=/opt/fstab.link src=/opt/fstab.back state=link'      ##  /opt/fstab.link /opt/fstab.back     

ansible aaa -m file -a "path=/opt/fstab.back state=absent"           ##      

ansible aaa -m file -a "path=/opt/test state=touch"             ##      
ansible aaa -m file -a 'path=/opt/temp state=directory mode=755' ##    

-----ping  -------

ansible all -m ping

좋은 웹페이지 즐겨찾기