运维自动化利器——Ansible安装配置

in 运维编程 with 0 comment

环境准备

系统环境:使用 CentOS-7-x86_64-Minimal 最小化安装;
Python版本:Python-3.7

安装 Ansible

[root@C100 ~]# pip3 install -i https://pypi.douban.com/simple/ paramiko  # SSH登陆依赖
[root@C100 ~]# pip3 install -i https://pypi.douban.com/simple/ ansible

如果觉得可以接受 CentOS 默认的 Python2 环境,安装方式如下:

yum install epel-release
yum install ansible

测试 Ansible 是否安装成功:

[root@C100 ~]# ansible --version

ansible.cfg 配置文件

最新版本的 Ansible 无论采用 yum install 或者 pip3 方式安装均无法创建配置文件
下载官方配置文件:https://raw.githubusercontent.com/ansible/ansible/devel/examples/ansible.cfg

[root@C100 ~]# mkdir /etc/ansible
[root@C100 ~]# cd /etc/ansible/
[root@C100 ansible]# vim ansible.cfg    <<< 将官方配置文件复制到这里

hosts 配置文件

最新版本的 Ansible 安装完成之后也不会自动构建 hosts 文件,hosts 文件和 ansible.cfg 文件在同一级目录。下方是官方提供的 hosts 文件示例:
https://raw.githubusercontent.com/ansible/ansible/devel/examples/hosts
https://raw.githubusercontent.com/ansible/ansible/devel/examples/hosts.yaml

创建测试 hosts 文件如下:

[CSR1]
172.16.80.10

[CSR2]
172.16.80.11

[CSR:children]
CSR1
CSR2

[CSR:vars]
ansible_ssh_user='cisco'
ansible_ssh_pass='cisco'
ansible_connection=network_cli
ansible_network_os=ios

[ASA]
172.16.80.80

[ASA:vars]
ansible_ssh_user='admin'
ansible_ssh_pass='cisco'
ansible_connection=network_cli
ansible_become=yes
ansible_become_method=enable
ansible_become_pass='cisco'
ansible_network_os=asa

简单 ping 测试:

[root@C100 ansible]# ansible CSR-1 -m ping -o
172.16.80.10 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": false,"ping": "pong"}
[root@C100 ansible]# 
[root@C100 ansible]# ansible ASA -m ping -o
172.16.80.80 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"},"changed": false,"ping": "pong"}
[root@C100 ansible]#

其他配置项

全局设置:修改 ansible.cfg

interpreter_python = /usr/bin/python3  <<< 在 [defaults] 部分添加选项,指定 Python 解释器

针对设备(组)单独设置:修改 hosts 文件

ansible_python_interpreter=/usr/bin/python3  <<< 在 [xxx:vars] 部分添加属性,指定 Python 解释器

手工指定:-e 选项

ansible ASA -m ping -o -e 'ansible_python_interpreter=/usr/bin/python3'

2019年8月19日,更新软件版本
2019年8月22日,记录配置文件选项

Comments are closed.