ansible安装与使用详解
ansible概述:
ansible是一款为类unix系统开发的自由开源的配置和自动化工具。它用python写成,类似于saltstack和puppet,但是不同点是ansible不需要再节点中安装任何客户端。它使用ssh来通信。它基于python的paramiko开发,分布式,无需任何客户端,轻量级,配置语法使用ymal及jinja2模板语言,更强的远程命令执行操作。
ansible优点:
- 部署简单,只需要再主控端部署ansible环境,被控端无需做任何操作
- 默认使用ssh协议对设备进行管理
- 主从集中化管理
- 支持API及自定义模块,可以通过python扩展
- 对云计算平台、大数据都有很好的支持
ansible安装:
环境:
IP |
角色 |
192.168.240.188 |
ansible服务端 |
192.168.240.190 |
ansibl客户端 |
1.设置EPEL仓库,ansible仓库默认不在yum仓库中,直接yum下载会报错,因此我们需要使用下面的命令启用epel仓库。
[root@localhost ~]# yum install epel-release -y
2.使用yum安装ansible
[root@localhost ~]# yum install ansible -y
安装完成以后可以查看版本:
[root@localhost ansible]# ansible --version
ansible命令参数:
语法:ansible [-i 主机文件] [-f 批次 ] [组名] [-m 模块名称] [-a 模块参数]
详细参数:
-v,-verbose #详细模式,如果命令执行成功
-i PATH,-inventory=PATH #指定host文件,默认在/etc/ansible/hosts
-f NUM,-forks=NUM #NUM是指一个整数,默认是5,指定fork开启同步进程个数
-m NAME,-module-name=NAME #指定使用的module名称,默认使用command模块
-a,MODULE_ARGS #指定module模块的参数
-k,-ask-pass #提示输入ssh的密码,而不是使用基于ssh的密钥认证
-sudo #指定使用sudo获得root权限
-K,-ask-sudo-pass #提示输入sudo密码,与-sudo一起使用
-u USERNAME,-user=USERNAME #指定移动端的执行用户
-C,-check #测试此命令会执行会改变什么内容,不会真的执行
ansible-doc -l #列出所有模块列表
ansible-doc -s 模块名 #查看指定模块参数
主机清单格式:
管理linux下:
主机IP ansible_user="用户名" ansible_password="密码" ansible_port=5985
例子:192.168.240.189 ansible_user=root ansible_password=root ansible_port=22
管理windows下:
1.
主机IP ansi