1、简介
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
(1)、连接插件connection plugins:负责和被监控端实现通信;
(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
(3)、各种模块核心模块、command模块、自定义模块;
(4)、借助于插件完成记录日志邮件等功能;
(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
2、安装
#rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
#rpm -ivh http://www6.atomicorp.com/channels/atomic/centos/6/x86_64/RPMS/atomic-release-1.0-19.el6.art.noarch.rpm
#cd /etc/yum.repos.d/
#wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
#yum install PyYAML
#yum install ansible
3、配置
默认主机列表文件是 /etc/ansible/hosts
ansible_ssh_port=端口
ansible_ssh_user=用户名
ansible_ssh_private_key_file=私钥位置
主配置文件 /etc/ansible/ansible.cfg
host_key_checking = False 不进行host_key检查,省去目标key发生变化时输入(yes/no)的步骤
免ssh密码登录
#ssh-keygen -t rsa 生成公钥
#cat ~/.ssh/id_rsa.pub | ssh -p 端口 user@hostip ‘cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys‘ 复制公钥到节点
4、使用
ansible
格式 ansible 主机 参数/模块
常用参数
-m 指定模块
-k 密码登录 不加的话使用公钥免密码登录
-u 指定用户 不加默认是root登录
-a ‘命令’ 远程执行命令
未完待续,持续更新中。。。。。
原文地址:http://sw5720.blog.51cto.com/8812314/1604874