5python自动化运维——集中化管理平台Ansible
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5python自动化运维——集中化管理平台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格式来进行
执行playbook,ansible-playbook nginx.yml
以上是关于5python自动化运维——集中化管理平台Ansible的主要内容,如果未能解决你的问题,请参考以下文章
用开源自动化运维工具 SaltStack 在云平台中实现各主机统一配置管理
如何用开源自动化运维工具 SaltStack 在云平台中实现各主机统一配置管理