跳转至

2. 安装 Ansible

安装方式:

Yum安装: EPEL源:

yum install epel-release
yum install ansible

编译安装:

yum -y install python-jinja2 PyYAML python-paramiko python-babel
python-crypto
tar xf ansible-1.5.4.tar.gz
cd ansible-1.5.4
python setup.py build
python setup.py install
mkdir /etc/ansible
cp -r examples/* /etc/ansible

Git方式:

git clone git://github.com/ansible/ansible.git --recursive
cd ./ansible
source ./hacking/env-setup

pip安装: pip是安装Python包的管理器,类似yum

yum install python-pip python-devel
yum install gcc glibc-devel zibl-devel rpm-bulid openssl-devel
pip install --upgrade pip
pip install ansible --upgrade

确认安装:

 ansible --version

配置文件:

/etc/ansible/ansible.cfg  主配置文件,配置ansible工作特性(一般无需修改)
/etc/ansible/hosts        主机清单(将被管理的主机放到此文件)
/etc/ansible/roles/       存放角色的目录

ansible 配置文件查找顺序:

  • 首先检测ABSIBLE_CONFIG 变量定义的配置文件
  • 其次检查当前目录下的 ./ansiblle.cfg 文件
  • 再次检查当前用户家目录下的 ~/ansible.cfg 文件
  • 最后检查/etc/ansible/ansible.cfg 文件

二进制命令工具:

/usr/bin/ansible          主程序,临时命令执行工具
/usr/bin/ansible-doc      查看配置文档,模块功能查看工具
/usr/bin/ansible-galaxy   下载/上传优秀代码或Roles模块的官网平台
/usr/bin/ansible-playbook 定制自动化任务,编排剧本工具
/usr/bin/ansible-pull     远程执行命令的工具
/usr/bin/ansible-vault    文件加密工具
/usr/bin/ansible-console  基于Console界面与用户交互的执行工具

ansible 配置文件ansible.cfg

修改 Ansible 配置文件/etc/ansible/ansible.cfg 
vim /etc/ansible/ansible.cfg 【一般只要修改下面的几行内容】
...........
inventory  = /etc/ansible/hosts                 #14行,打开注释
host_key_checking = False                       # ssh连接时,不需要输入yes; 如果为True, 就需要输入yes
log_path=/var/log/ansible.log                   #日志文件,默认是不开启的
...........




其他配置文件说明:
[defaults]
#inventory     = /etc/ansible/hosts      # 主机列表配置文件
#library       = /usr/share/my_modules/  # 库文件存放目录
#remote_tmp    = $HOME/.ansible/tmp      # 临时py命令文件存放在远程主机目录
#local_tmp     = $HOME/.ansible/tmp      # 本机的临时命令执行目录  
#forks         = 5                       # 默认并发数,同时可以执行5次
#sudo_user     = root                    # 默认sudo 用户
#ask_sudo_pass = True                    # 每次执行ansible命令是否询问ssh密码
#ask_pass      = True                    # 每次执行ansible命令是否询问ssh口令
#remote_port   = 22                      # 远程主机的端口号(默认22)