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 core : ansible 自身核心模块
host inventory: 主机库,定义可管控的主机列表
connection plugins: 连接插件,一般默认基于 ssh 协议连接
modules:core modules ( 自带模块 ) 、 custom modules ( 自定义模块 )
playbooks :剧本,按照所设定编排的顺序执行完成安排任务
1、管理端支持local 、ssh、zeromq 三种方式连接被管理端,默认使用基于ssh的连接---这部分对应基本架构图中的连接模块;
2、可以按应用类型等方式进行Host Inventory(主机群)分类,管理节点通过各类模块实现相应的操作---单个模块,单条命令的批量执行,我们可以称之为 ad-hoc;
3、管理节点可以通过playbooks 实现多个task的集合实现一类功能,如web服务的安装部署、数据库服务器的批量备份等。playbooks我们可以简单的理解为,系 统通过组合多条ad-hoc操作的配置文件 。
Ansible默认是通过SSH通道来管理的,也就是它所说的免客户端方式管理, 它底层是通过 paramiko 来实现的。
ansible执行过程大体过程如下图,其中暖色调的代表已经模块化。