ansible 安装介绍

一、安装:

如果本地源没有ansible 安装包,可以去阿里云源更新:
https://opsx.alibaba.com/mirror

1.yum安装:

#yum install epel-release -y
#yum install ansible –y

2.Ansible 各级目录作用:

$ rpm -ql ansible
配置文件目录:/etc/ansible/
执行文件目录:/usr/bin/
Lib库依赖目录:/usr/lib/pythonX.X/site-packages/ansible/
Help文档目录:/usr/share/doc/ansible-X.X.X/
Man文档目录:/usr/share/man/man1/

二、配置

1.使用**免密传输及配置:
[[email protected]]# ssh-****** -t rsa -f ~/.ssh/id_rsa -C “ansible_test”
**# ~**类型 ~**文件路径及名称 ~备注信息

执行 ssh-****** -t rsa -f ~/.ssh/id_rsa -C “ansible_test” 时,一直会车就可以了。**

[[email protected] ]#ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 [email protected]

指定要拷贝的本地文件、远程主机的IP+用户名+端口号

2.配置文件更改:
基本上都是默认的,只需要加上hosts 定义组就好了。在最后一行添加。
[all]
192.168.0.5
192.168.0.6
[node1]
192.168.0.5
[node2]
192.168.0.6

三、源码安装步骤:

源码安装需要python2.6以上版本,其依赖模块paramiko、PyYAML、Jinja2、httplib2、simplejson、pycrypto模块,以上模块可以通过pip或easy_install 进行安装

1.可以再https://releases.ansible.com/ansible/ 下载最新ansible 安装包

2.下载解压安装包:
#tar -zxvf ansible-2.9.1.tar.gz
#cd ansible-2.9.1
#python setup.py install

四、ansible优缺点及原理图

优点:
轻量级,他不需要去客户端安装agent,更新时,只需要在操作机上进行一次更新即可
批量任务执行可以写成脚本,而且不用分发到远程就可以执行
使用python编写的,维护更简单
支持sudo

缺点:
对于几千台、上万台机器的操作,还不清楚性能、效率情况如何,需要进一步了解。

Ansible架构图:
ansible 安装介绍
  ansible core : ansible 自身核心模块
  host inventory: 主机库,定义可管控的主机列表
  connection plugins: 连接插件,一般默认基于 ssh 协议连接
  modules:core modules ( 自带模块 ) 、 custom modules ( 自定义模块 )
  playbooks :剧本,按照所设定编排的顺序执行完成安排任务

ansible 安装介绍

  1、管理端支持local 、ssh、zeromq 三种方式连接被管理端,默认使用基于ssh的连接---这部分对应基本架构图中的连接模块;
  2、可以按应用类型等方式进行Host Inventory(主机群)分类,管理节点通过各类模块实现相应的操作---单个模块,单条命令的批量执行,我们可以称之为  ad-hoc;
  3、管理节点可以通过playbooks 实现多个task的集合实现一类功能,如web服务的安装部署、数据库服务器的批量备份等。playbooks我们可以简单的理解为,系 统通过组合多条ad-hoc操作的配置文件 。

Ansible默认是通过SSH通道来管理的,也就是它所说的免客户端方式管理, 它底层是通过 paramiko 来实现的。

ansible执行过程大体过程如下图,其中暖色调的代表已经模块化。

ansible 安装介绍