前言
AnsibleWorks成立于2012年,由自动化工具Cobbler及Func的开发者Michael DeHaan创建。其Ansible平台是一个开源的配置及计算机管理平台。可实现多节点的软件部署,执行特定任务并进行配置管理。
Ansible 跟其他IT自动化技术的区别在于其关注点并非配置管理、应用部署或IT流程工作流,而是提供一个统一的界面来协调所有的IT自动化功能,因此 Ansible的系统更加易用,部署更快。受管理的节点无需安装额外的远程控制软件,由平台通过SSH(Secure SHell)对其进行管理,因此十分方便。其模块支持JSON等标准输出格式,可采用任何编程语言重写。
Ansible可以让用户避免编写脚本或代码来管理应用,同时还能搭建工作流实现IT任务的自动化执行。IT自动化可以降低技术门槛及对传统IT的依赖,从而加快项目的交付速度。
Ansible有如下优点:
- 轻量级,他不需要去客户端安装agent,更新时,只需要在操作机上进行一次更新即可
- 批量任务执行可以写成脚本,而且不用分发到远程就可以执行
- 使用python编写的,维护更简单
- 支持sudo
安装Ansible
创建ansible用户
[root@node1 ~]# useradd ansible |
允许执行sudo
[root@node1 ~]# vi /etc/sudoers |
安装ansible
[root@node1 ~]# yum install PyYAML.x86_64 python-paramiko.noarch python-jinja2.x86_64 python-devel -y |
修改配置文件
[root@node1 ansible-1.7.2]# vi /etc/ansible/ansible.cfg |
ssh互信
[root# su - ansible ansible-1.7.2] |
远程ssh互信配置测试
[ansible@node1 .ssh]$ scp authorized_keys ansible@172.16.0.112: |
使用Ansible
使用ping模块测试是否成功
[ansible@node1 ~]$ ansible all -m ping |
查看时间
[ansible@node1 ~]$ ansible all -m command -a "sudo date" |
使用yum安装软件
[ansible@node1 ~]$ ansible all -m command -a "sudo yum install zip unzip -y" |
查看ansible内置模块
[ansible@node1 ~]$ ansible-doc -l |