1. 首页
  2. 服务器

ansible笔记——安装配置ansible

1、安装ansible

centos安装ansible如下:

[root@ansible ~]# yum -y install epel-release
[root@ansible ~]# yum -y install ansible
[root@ansible ~]# ansible --version    #安装的版本为2.9
ansible 2.9.2
2、ansible参数补全功能

从ansible 2.9版本开始,它支持命令的选项补全功能,它依赖于python的argcomplete插件。

1)安装argcomplete:
[root@ansible ~]# yum -y install python-argcomplete
#或者任何系统都可以使用pip工具安装argcomplete,如下
[root@ansible ~]# pip install argcomplete
2)安装完成后,还需要激活该插件
[root@ansible ~]# bash -version     #要求bash版本大于或等于'4.2'
GNU bash, 版本 4.2.46(2)-release (x86_64-redhat-linux-gnu)
[root@ansible ~]# activate-global-python-argcomplete   #激活插件

如果bash版本低于4.2,则单独为每个ansible命令注册补全功能,如下:

3)重新进入bash环境测试是否可用
[root@ansible ~]# bash
[root@ansible ~]# ansible --syntax-check      #只需要输入ansible --syn 即可补全
3、配置主机互信

ansible默认是基于ssh通信的,为了避免配置主机互信过程中的交互式询问,可以使用ssh-keyscan工具添加主机认证信息以及sshpass工具(安装ansible时会自动安装sshpass)。具体过程如下:

1)在ansible上生成密钥对
[root@ansible ~]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -N ''
2)将各个节点的主机信息(host key)写入ansible的“~/.ssh/known_hosts”文件
[root@ansible ~]# ssh-keyscan 192.168.20.3 >> ~/.ssh/known_hosts 2> /dev/null
3)将control_node上的ssh公钥分发给各个节点
[root@ansible ~]# sshpass -p '123.com' ssh-copy-id root@192.168.20.3
# -p:指定节点的用户密码

配置好ssh的主机互信之后,就可以体验ansible了。

4、ansible配置文件

ansible支持4种方式指定配置文件,它们的解析顺序从上到下:
1)ANSIBLE_CFG:环境变量指定的配置文件
2)ansible.cfg:当前目录下的ansible.cfg
3)~/.ansible.cfg:家目录下的ansible.cfg
4)/etc/ansible/ansible.cfg:默认的全局配置文件

原创文章,作者:夜风博客,如若转载,请注明出处:https://www.homedt.net/16567.html

联系我们

联系QQ:28575315