5、python自動化運維——集中化管理平臺Ansible

集中化管理平臺Ansible

簡介:Ansible是一種集成IT系統的配置管理、應用部署、執行特定任務的開源平臺
特點:
1、部署簡單,只需在主控端部署Ansible環境,被控端不用進行任何操作
2、默認使用SSH協議對設備進行管理
3、主從集中化管理
4、提供一個Web管理界面和RESET API接口——AWX平臺

Ansible安裝及配置

1、安裝ansible:yum install –y ansible

2、修改配置文件:/etc/ansible/hosts,添加主機IP。

193.192.168.1.1
[webservers]
192.168.1.1

3、測試是否ping通:ansible 192.168.118.132 –m ping –k

4、設置通過密鑰無密碼登陸;主機控制端生成私鑰和公鑰;然後把公鑰複製到被控制端。

ssh-keygen  -t  rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

Ansible常用模塊及API

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” #被控端執行被控端的腳本

2、copy模塊(相當於scp)

功能:主機端向被控端拷貝文件
示例:

ansible 192.168.1.1 –m copy –a “src=/root/mbb.txt dest=/root/” #把mbb.txt拷貝到被控端的root目錄下

3、stat模塊

功能:獲取遠程文件的狀態信息
示例:

ansible 192.168.1.1 –m stat –a “path=/root/reboot.bak”

4、get_url模塊

功能:實現遠程下載制定URL到本地
示例:

ansible 192.168.1.1 –m get_url –a “path=http://www.baidu.com dest=/tmp/index.html”

5、yum 模塊(遠程yum安裝軟件)

功能: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”

6、cron模塊(制定定時計劃)

功能:遠程主機crontab配置
示例:

ansible 192.168.1.1 -m cron -a "name='check dir' hour='5,2' job='ls /root > /root/dir.bak'"

7、mount模塊(遠程掛載)

功能:遠程主機分區掛載
示例:

ansible 192.168.1.1 –m mount –a “name=/mnt/cdrom ”

8、service模塊(啓動服務)

功能:遠程主機系統服務的管理
示例:

ansible 192.168.1.1 -m service -a "name=nginx state=started"

Playbook(待完善,需結合實際)

Playbook不同於ansible命令行執行方式的模式,可以進行定製配置,通過yml格式來進行
5、python自動化運維——集中化管理平臺Ansible
執行playbook,ansible-playbook nginx.yml

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章