Ansible 使用说明

更多关注:http://www.mknight.cn/

安装配置


yum安装

Ansible仓库默认不在yum仓库中,因此我们需要使用下面的命令启用epel仓库。

#CentOS 5:
wget  http://mirrors.sohu.com/fedora-epel/5/x86_64/epel-release-5-4.noarch.rpm
#CentOS 6:
wget http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
#CentOS 7:
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
#安装
[root@localhost src]# yum install ansible
#安装后检查版本
[root@localhost src]# ansible --version
ansible 2.1.2.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides

基本配置

1、修改hosts文件

在/etc/ansible/hosts文件中添加远程主机,如果/etc/ansible不存在就手动创建。该文件格式如下

[DB]
192.168.1.9
[ALL]
192.168.1.8
192.168.1.9
[WEB]
192.168.1.9
2、配置SSH互信

一般建议服务器设置成私钥认证。
ssh连接时可以使用-o 参数将StrictHostKeyChecking设置为no,使用ssh连接时直接忽略验证,可以解决首次连接时要输入yes/no的提示

[root@localhost ~]# vim /etc/ansible/ansible.cfg
#方法A
[ssh_connection]
#取消注释并添加  "-o StrictHostKeyChecking=no"
ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no
#方法B,推荐此方法
host_key_checking = False```

#####3、联通测试

[root@localhost ansible]# ansible all -m ping
192.168.1.8 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.1.9 | SUCCESS => {
"changed": false,
"ping": "pong"
}```

如果使用密码验证,则需要加上-k参数来转换到密码验证模式,默认远程连接使用当前用户,可以使用-u参数来指定用什么用户连接。

4、基本命令使用

#查询模块
[root@localhost]# ansible-doc l

#全部执行shell
[root@localhost]# ansible all -m shell  -a "uname -a"
192.168.1.8 | SUCCESS | rc=0 >>
Linux localhost.localdomain 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

192.168.1.9 | SUCCESS | rc=0 >>
Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
5、命令参数
Usage:ansible  [options]

Options:

#要执行的模块,默认为command
-m module_name

#模块参数
-a module_args

#ssh登录密码
-k

#sudo运行
-s

#sudo到哪个用户,默认为root
-U SUDO_USER,—sudo-user=SUDO_USER

#sudo密码
-K

#测试
-C,—check

#打印有哪些主机会执行这个playbook,不是实际执行
—list-hosts
6、配置文件

二、常用模块
三、主机列表
四、匹配主机
五、playbook
六、角色与包含
七、变量

更多关注:http://www.mknight.cn/
--待续

你可能感兴趣的:(Ansible 使用说明)