ansible 安装

  1. 源码安装

    git clone git://github.com/ansible/ansible.git --recursive

    cd ./ansible

    source ./hacking/env-setup

    1)如果需要安装pip, 先安装对应python版本的pip:

    easy_install pip

    2)安装控制主机需要的Python模块

    pip install paramiko PyYAML Jinja2 httplib2 six

    3)更新ansible版本

    git pull --rebase

    git submodule update --init --recursive

  2. yum 安装

    1)yum源

    centos6:rpm -Uvh http://mirrors.zju.edu.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm

    centos7:rpm -Uvh http://mirrors.zju.edu.cn/epel/7/x86_64/e/epel_release-7-5.noarch.rpm

    yum install ansible


3.本次为yum 安装:/etc/ansible

配置运行环境

  1. ansible.cfg 配置文件

    1)环境变量:export ANSIBLE_SUDO_USER=root

    2)配置参数

    inventory 资源清单,被管理的主题资源列表配置文件位置

    library 代码模块目录,多个目录可以用:隔开

    forks 设置ansible最多能有多少个进程同时工作

    sudo_user 默认指向命令用户

    remote_port 指定链接被管理节点端口,默认22

    host_key_checking 默认设置为False;类似第一次ssh时需要进行yes确认初始化known_host

    timeout ssh链接的超时间隔

    log_path 日志文件配置


Linux主机ssh无密码访问

测试:

$ansible --version


测试主机连通性/etc/ansible/host定义列表

192.168.1.1 | SUCCESS => {

    "changed": false, 

    "ping": "pong"

}

192.168.1.2 | SUCCESS => {

    "changed": false, 

    "ping": "pong"

}


4.在被管理节点批量执行命令

可以新建一个新主机清单,执行一些命令

cat new.cfg

[test]

192.168.1.1

192.168.1.2


$ansible test -m shell -a '/bin/echo hello ansible!' -i inventory.cfg

$ansible test -m command -a "/bin/echo  hello ansible" -i new.cfg

192.168.1.1 | SUCCESS | rc=0 >>

hello ansible!


192.168.1.2 | SUCCESS | rc=0 >>

hello ansible!


5.ansible获取帮助信息

ansible-doc -h 帮助信息

ansible-doc -l 列出支持的模块

ansible-doc -s+ 直接加模块命令,显示模块描述和使用示例:ansible-doc -s yum

执行ansible命令时在命令后加-vvv可以获得详细输出结果