簡介:Ansible是一種集成IT系統的配置管理、應用部署、執行特定任務的開源平臺
特色:
一、部署簡單,只需在主控端部署Ansible環境,被控端不用進行任何操做
二、默認使用SSH協議對設備進行管理
三、主從集中化管理
四、提供一個Web管理界面和RESET API接口——AWX平臺html
一、安裝ansible:yum install –y ansiblepython
二、修改配置文件:/etc/ansible/hosts,添加主機IP。nginx
193.192.168.1.1 [webservers] 192.168.1.1
三、測試是否ping通:ansible 192.168.118.132 –m ping –kweb
四、設置經過密鑰無密碼登錄;主機控制端生成私鑰和公鑰;而後把公鑰複製到被控制端。shell
ssh-keygen -t rsa ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.1
功能:模塊包括command,script,shell,能夠遠程實現shell命令。
示例:運維
ansible 192.168.1.1 -m command -a 「free -m」 ansible 192.168.1.1 -m script -a 「/root/mbb.sh」 #被控端執行主動的腳本 ansible 192.168.1.1 -m shell -a 「/root/mbb.sh」 #被控端執行被控端的腳本
功能:主機端向被控端拷貝文件
示例:ssh
ansible 192.168.1.1 –m copy –a 「src=/root/mbb.txt dest=/root/」 #把mbb.txt拷貝到被控端的root目錄下
功能:獲取遠程文件的狀態信息
示例:tcp
ansible 192.168.1.1 –m stat –a 「path=/root/reboot.bak」
功能:實現遠程下載制定URL到本地
示例:ide
ansible 192.168.1.1 –m get_url –a 「path=http://www.baidu.com dest=/tmp/index.html」
功能:Linux軟件包管理,常見的有yum,apt方式
示例:測試
ansible 192.168.1.1 –m yum –a 「name=tcping state=latest」 ansible 192.168.1.1 -m apt -a 「pkg=tcping state=latest」
功能:遠程主機crontab配置
示例:
ansible 192.168.1.1 -m cron -a "name='check dir' hour='5,2' job='ls /root > /root/dir.bak'"
功能:遠程主機分區掛載
示例:
ansible 192.168.1.1 –m mount –a 「name=/mnt/cdrom 」
功能:遠程主機系統服務的管理
示例:
ansible 192.168.1.1 -m service -a "name=nginx state=started"
Playbook不一樣於ansible命令行執行方式的模式,能夠進行定製配置,經過yml格式來進行
執行playbook,ansible-playbook nginx.yml