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 [email protected]
# -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:默認的全局配置文件