RHCA447-Ansible2.8简介与基本安装
1. Ansible简介与基本安装
目录
Ansible特性
Agentless:不需要在被管理节点上安装客户端,只要有sshd即可
Serverless:在服务端不需要启动任何服务,只需要执行命令就行
Modules in any language:基于模块工作,可以使用任意语言开发ansible模块
YAML, not code:使用yaml语言定制playbook
SSH by default:默认使用ssh控制各节点
Strong multi-tier solution:可实现多级控制
Ansible的基本组件
核心:ansible
核心模块(Core Modules):这些都是ansible自带的模块
扩展模块(Custom Modules):如果核心模块不足以完成某种功能,可以添加扩展模块
插件(Plugins):完成模块功能的补充
剧本(Playbooks):把需要完成的多个任务定义在剧本中
连接插件(Connectior Plugins):ansible基于连接插件连接到各个主机上,虽然ansible是使用ssh连接到各个主机的,但是它还支持其他的连接方法,所以需要有连接插件
主机群(Host Inventory):ansible在管理多台主机时,可以选择只对其中的一部分执行某些操作
Ansible工作机制
Ansible 在管理节点将 Ansible 模块通过 SSH 协议(或者 Kerberos、LDAP)推送到被管理端执行,执行完之后自动删除,可以使用版本控制系统(git/svn)来管理自定义模块及playbooks。
Ansible的安装
源码安装
Ansible的安装方式有很多种,常用的安装方法是基于yum或者源码,如果是基于yum安装,需要配置epel源,然后直接执行yum install ansible即可。源码安装配置如下:
# 解决依赖关系:
yum install -y python36 python36-devel python36-setuptools gcc libffi-devel openssl-devel
# 下载ansible:
wget https://github.com/ansible/ansible/archive/v2.8.0.tar.gz
#解压安装
tar xf v2.8.0.tar.gz
cd ansible-2.8.0/
python setup.py build
python setup.py install
mkdir /etc/ansible
cp -r examples/* /etc/ansible
在ubuntu上安装
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible