ansible 安装和测试

一、环境准备
[root@master ~]# cat /etc/redhat-release

CentOS release 6.5 (Final)

       hostname       ip
Master    master         10.0.0.28
Minion    client01        10.0.0.20
Minion    client02        10.0.0.21

二、安装Ansible

  1. 更改yum 源:

[root@master ~]#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

2.软件包安装
EPEL 已经提供了ansible 所需的所有支持软件包,所以在这里使用epel 源进行安装:

[root@master ~]#
rpm -ivh  http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
Retrieving http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
warning: /var/tmp/rpm-tmp.MYaX9K: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
   1:epel-release           warning: /etc/yum.repos.d/epel.repo created as /etc/yum.repos.d/epel.repo.rpmnew
########################################### [100%]

3.安装Ansible

[root@master ~]# yum install ansible -y
4.免密要认证

[root@master ~]#ssh-keygen -t rsa
 ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.0.20
 ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.0.21
 cp /etc/ansible/hosts /etc/ansible/hosts.ori
 > /etc/ansible/hosts
 vim /etc/ansible/hosts

ansible 默认提供了很多模块来供我们使用。在 Linux 中,我们可以通过 ansible-doc -l 命令查看到当前 ansible 都支持哪些模块,通过 ansible-doc -s 模块名 又可以查看该模块有哪些参数可以使用。

5.建立host文件
Ansible 的host文件默认在/etc/ansible/ 这个目录下面,采用rpm安装的ansible会将该host文件作为范例,其中提示ansible是支持域名和IP的两种客户端命名格式的,进过测试时没有问题的,还支持不同的安装分组方法,建议好好看看,这里提供三台机器,分为master client01 client02 将他们分为两组 master 和slave

[root@master ~]# cat /etc/ansible/hosts
[localhost]
127.0.0.1
[slave]
10.0.0.20
10.0.0.21

6.测试ansible 的使用

在这里使用ping模块:

[root@master ~]# ansible slave -i /etc/ansible/hosts -m ping
10.0.0.20 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
10.0.0.21 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
}

解读:从返回值分析,ansiable salve 接待你10.0.0.20,10.0.0.21 的ping
值成功。说明ansiable 已经能够使用。

7.验证是否支持域名解析测试:

tail -3 /etc/hosts
10.0.0.28 master.test.com
10.0.0.21 client02
10.0.0.20 agent.test.com
[root@master ~]# cat /etc/ansible/hosts
[localhost]
master.test.com
[slave]
client02
agent.test.com

[root@master ~]# ansible slave -i /etc/ansible/hosts -m ping

paramiko: The authenticity of host 'agent.test.com' can't be established.
The ssh-rsa key fingerprint is 3d906ef1d450e4cc7031aef5e8c296f6.
Are you sure you want to continue connecting (yes/no)?
yes

paramiko: The authenticity of host 'client02' can't be established.
The ssh-rsa key fingerprint is 3d906ef1d450e4cc7031aef5e8c296f6.
Are you sure you want to continue connecting (yes/no)?
agent.test.com | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
yes
client02 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
[root@master ~]# ansible slave -i /etc/ansible/hosts -m ping
agent.test.com | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
client02 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

验证是支持服务器本地域名解析的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章