自动化运维之Ansible的安装部署与命令板块

Ansible简介
Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
 
Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。
 
ASP站长网主要包括:
 
(1)连接插件connection plugins:负责和被监控端实现通信;
 
(2)host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
 
(3)各种模块核心模块、command模块、自定义模块;
 
(4)借助于插件完成记录日志邮件等功能;
 
(5)playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
 
搭建环境
管理端:CentOS7-1 192.168.177.145
 
被管理端:centos7-2 192.168.177.135
 
被管理端:centos7-3 192.168.177.132
 
Ansible安装
192.168.177.145:
 
# systemctl stop firewalld.service  //关闭防火墙
# setenforce 0
# yum install -y epel-release  //安装epel源
# yum install ansible -y   //安装Ansible
# vim /etc/ansible/hosts 
  [abc]
  192.168.177.135
  [mysql]
  192.168.177.132
# ssh-keygen -t rsa       //设置密钥对
# ssh-copy-id root@192.168.177.135
# ssh-copy-id root@192.168.177.132  //配置密钥对
# ssh-agent bash    //免交互代理
# ssh-add
自动化运维之Ansible的安装部署与命令模块
自动化运维之Ansible的安装部署与命令模块
自动化运维之Ansible的安装部署与命令模块
自动化运维之Ansible的安装部署与命令模块
 
192.168.177.135(另一台也一样):
 
# systemctl stop firewalld.service  //关闭防火墙
# setenforce 0
# cd ~/.ssh
自动化运维之Ansible的安装部署与命令模块
 
Ansible命令行模块
command模块
命令格式:ansible [主机] [-m 模块] [-a args]
 
# ansible 192.168.177.135 -m command -a 'date'   //指定ip执行date
# ansible mysql -a 'date'   //指定分类执行date
自动化运维之Ansible的安装部署与命令模块
自动化运维之Ansible的安装部署与命令模块
 
cron模块
用于定义任务计划
 
两种状态(state):present表示添加(可以省略),absent表示移除。
 
# ansible-doc -s cron      //查看cron模块信息
# ansible abc -m cron -a 'minute="*/1" job="/usr/bin/echo nihao" name="test nihao"'  //添加周期性计划任务
# ansible abc -a 'crontab -l'
# ansible abc -m cron -a 'name="test nihao" state=absent'   //移除计划任务,假如该计划任务没有取名字,name=None即可
自动化运维之Ansible的安装部署与命令模块
自动化运维之Ansible的安装部署与命令模块
 
user模块
用于创建新用户和更改删除已存在的用户
 
user模块是请求的是useradd, userdel, usermod三个指令
 
# ansible-doc -s user
# ansible mysql -m user -a 'name=zhangsan'  //创建zhangsan
# ansible mysql -m user -a 'name=zhangsan state=absent'   //删除zhangsan
自动化运维之Ansible的安装部署与命令模块
自动化运维之Ansible的安装部署与命令模块
 
group模块
对用户组进行管理
 
group模块请求的是groupadd, groupdel, groupmod 三个指令
 
# ansible mysql -m group -a 'name=test gid=306 system=yes'  //创建test组
# ansible mysql -m user -a 'name=wang' //创建用户wang
# ansible mysql -m group -a 'name=test1 gid=506 system=yes'  //创建test1组
# ansible mysql -m user -a 'name=wang uid=506 group=test1 system=yes' //将wang添加到test1组

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。