理论讲解
step 1
为什么用它?提高效率。ansible可为多台服务器进行管理,自动部署服务,专为Unix系统开发的自由开源的配置和自动化工具。
step 2
温馨提示:优点太多,就不一 一介绍完啦!
1、 部署简单 基于Python开发,进行二次开发相对较易,类似于saltstack和Puppet,但无需安装客户端程序。
2、 管理模式简单、功能强、高扩展性 使用SSH和节点通信。无需客户端,轻量级,更强的远程命令执行操作。
工具集
ansible是基于模块工作,本身没有批量部署的能力。批量部署的是ansible所运行的模块,或第三方程序通过API接口调用,ansible提供一种框架。主要包括:
(1)、plugins:连接插件,模块功能补充,负责和被监控端实现通信;
(2)、host inventory:指定管理的主机;
(3)、modules:执行命令的模块,核心模块、自定义模块;
(4)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务
(5)、API:供第三方程序通过API接口调用(进行二次开发,扩展新功能)
ansible的工作机制
Ansible 在管理端将 Ansible 模块通过 SSH 协议送到被管理端执行。
ansible的命令参数
anisble命令语法: ansible [-i 主机文件] [-f 批次] [组名] [-m 模块名称] [-a 模块参数]
参数 功能
-v: 详细模式,如果执行成功,输出详细结果
-i :指定host文件路径,默认在/etc/ansible/hosts
-f:-forks=NUM NUM默认是整数5,指定fork开启同步进程的个数
-m: 指定使用的module名称,默认command模块
-a: 指定模块的参数
-k: 提示输入SSH密码,而不是使用基于ssh密钥认证
-sudo: 指定使用sudo获取root权限
-K: 提示输入sudo密码
-u: 指定移动端的执行用户
-C: 测试命令执行会改变什么内容,不会真正的去执行
Ansible安装
安装
1)通过yum安装Ansible
创建yum仓库文件