ansible安装配置

基础介绍

简介

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:

  1. 连接插件connection plugins:负责和被监控端实现通信;
  2. host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
  3. 各种模块核心模块、command模块、自定义模块;
  4. 借助于插件完成记录日志邮件等功能;
  5. playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

总体架构

特性

  1. no agents:不需要在被管控主机上安装任何客户端;
  2. no server:无服务器端,使用时直接运行命令即可;
  3. modules in any languages:基于模块工作,可使用任意语言开发模块;
  4. yaml,not code:使用yaml语言定制剧本playbook;
  5. ssh by default:基于SSH工作;
  6. strong multi-tier solution:可实现多级指挥。

优点

  1. 轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;
  2. 批量任务执行可以写成脚本,而且不用分发到远程就可以执行;
  3. 使用python编写,维护更简单,ruby语法过于复杂;
  4. 支持sudo。

任务执行流程

ansible安装配置

环境说明

CentOS Linux release 7.4.1708 (Core)
关闭防火墙(systemctl stop firewalld, systemctl disable firewalld)
关闭selinux

使用源码安装python3.6

yum install -y gcc gcc-c++ ncurses ncurses-devel unzip zlib-devel zlib openssl-devel openssl
cd /usr/local/src/
wget 'https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz'
tar -zxvf Python-3.6.4.tgz
cd Python-3.6.4
./configure --prefix=/usr/local/python/	#环境探测
make	#编译
make install	#安装

测试python3是否安装成功

/usr/local/python/bin/python3 --version
ln -s /usr/local/python/bin/python3 /usr/local/bin/
python3 --version

升级pip
/usr/local/python/bin/pip3 install --upgrade pip

安装ansible最新版本(ansible-2.5.2)

/usr/local/python/bin/pip3 install ansible
/usr/local/python/bin/ansible --version
ln -s /usr/local/python/bin/ansible /usr/local/bin/
ansible --version

安装ansible指定版本

/usr/local/python/bin/pip3 install ansible==2.1.1
/usr/local/python/bin/pip3 install ansible==1.9.1

ansible查看帮助

/usr/local/python/bin/ansible-doc -l 			#查看总帮助
/usr/local/python/bin/ansible-doc -s shell 	#查看shell模块的帮助
/usr/local/python/bin/ansible-doc -s raw
posted @ 2019-07-31 12:54  大胡子哥dhzg  Views(138)  Comments(0)    收藏  举报