ansible的安装

Posted robi-9662

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible的安装相关的知识,希望对你有一定的参考价值。

一、安装ansible

  1、 python版本需要2.6以上,不过通过centos7都会默认安装上python2.7.5,查看方法:python -V

  2、 添加yum 源

    a、 vim /etc/yum.repos.d/ansible

    b、 添加如下内容:

      [epel]

      name = all source for ansible

      baseurl = https://mirrors.aliyun.com/epel/7/x86_64/

      enabled = 1

      gpgcheck = 0

 

      [ansible]

      name = all source for ansible

      baseurl = http://mirrors.aliyun.com/centos/7.3.1611/os/x86_64/

      enabled = 1

      gpgcheck = 0

  3、 yum clean all

  4、 安装ansible:yum install ansible -y

二、配置ansible

  1、 使用ansible前需实现ansible服务器对另外两台机的ssh无密码访问,操作如下:

    a、 输入命令:ssh-keygen,一直按回车,直至完成操作;

    b、 命令:ssh-copy-id [email protected] ,然后输入连接密码即可实现无密码访问,另外一台机的设置方式一样,不再赘述。

  2、 添加ansible客户机组,命令:vim /etc/ansible/hosts,在最后面添加如下内容:

    [group1]

    192.168.1.10

    192.168.1.23

出现如下问题:

在ansible安装完毕后一般需要以SSH的方式连接到需要进行管理的目标主机,一开始遇到了如下问题:

192.168.1.10 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). ",
    "unreachable": true
}
192.168.1.23 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). ",
    "unreachable": true

 

1:管理节点生成SSH-KEY

#ssh-keygen

成功后在~/.ssh/路径下将生成ssh密钥文件:id_rsa及id_rsa.pub

2:添加目标节点的SSH认证信息

#ssh-copy-id [email protected]目标节点IP

这里root是在目标节点上登录的用户,@符号后面接目标节点IP即可,之后会提示输入目标节点root用户密码,输入即可。

添加认证信息后,目标节点主机的~/.ssh/目录下将会出现一个authorized_keys文件,里面包含了ansible管理节点的公钥信息,可以检查一下是否存在。

3:在确定目标主机的SSH认证信息都已正确添加且目标主机的~/.ssh/目录都存在管理节点的公钥信息后,再执行之前出错的ansible ping指令:

对之前未连接的主机进行连结时报错如下:

[[email protected] ~]# ansible webservers -m command -a ‘ls ~‘ -k
SSH password:
120.76.25.191 | FAILED | rc=0 >>
Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this.  Please add this host‘s fingerprint to your known_hosts file to manage this host.

解决步骤:

修改ansible.cfg文件

vi /etc/ansible/ansible.cfg

找到以下行,让host_key_checking=False这行生效

# uncomment this to disable SSH key host checking
host_key_checking = False

三、使用ansible

  1、 在另外两台机上执行ping命令:ansible group1 -m ping

  2、 复制本机文件到组group1:ansible group1 -m copy -a “src=/etc/hosts dest=/etc/”

  3、 帮group1安装软件:ansible group1 -m shell -a “yum install wget -y”













以上是关于ansible的安装的主要内容,如果未能解决你的问题,请参考以下文章

基于ansible的zabbix源代码安装

在ansible模板中使用动态组名称

ansible配置安装详解

Ansible配合Virtualenv安装配置

ansible安装及使用

Ansible安装简介