Ansible架构概述(一)

第一节:Ansible 架构概述目标:

学习完本节后,学员应该能:描述 Ansible 概念、参考架构和用例 

什么是 Ansible:
Ansible 是一款开源的配置管理和编配实用程序,可以对远程主机与虚拟机进行自动化和标准化配置 

编配功能使 Ansible 能够协调多层级应用的启动和关闭管理员可以创建 play,执行一系列任务,作用于 play 中指定的一台或一组主机 包含一个或多个 play 的文件称为 playbook

Ansible 的架构是无代理的。当 Ansible 执行时,将推送到远程主机上执行Modules(模块)是执行 play 中任务的程序。Ansible 附带了数百个核心模块Ansible 非常易用。 Ansible Python 基础上构建。Ansible 受到 Vagrant Jenkins 等多种 DevOps 工具的支持 

Ansible 的不足:
Ansible 可以在安装中添加软件包,但无法执行系统的初始最小安装

Ansible 可以纠正配置偏差,但不能对此进行监控

Ansible 不能跟踪系统上的文件出现的更改,建议通过版本控制软件或审计系统进行跟踪 

Ansible 概念和架构:
Ansible 架构中有两种计算机类型:控制节点 受管主机(control node and managed hosts)

Ansible 软件安装在控制节点上,所有组件也在控制节点上被维护 

受管主机列在主机清单文本文件中,位于控制节点上,含有受管主机名称或 IP 列表 

Ansible 使用 SSH 与受管主机进行通信。playbook 中引用的模块将复制到受管 主机。然后使用 playbook 中指定的参数,按顺序执行 

用户可按需编写自定义模块,但 Ansible 附带的核心模块能够执行大部分系统管 理任务 

Ansible架构概述(一)

Ansible 控制节点组件 

Ansible架构概述(一)

控制节点的角色和要求 

系统管理员登录控制节点,发起所有 Ansible 操作Ansible 软件安装在控制节点 上。配置文件也在控制节点上维护 

控制节点必须安装 Python 2.6 2.7
对于红帽企业 Linux,须安装 ansible 软件包及其依赖包 

红帽企业 Linux 6 7 可以运行 Ansible 软件

Windows 目前不支持用于控制节点 

受管主机的角色和要求 

受管主机是 Ansible 登录、安装模块并执行远程命令以进行配置任务的系统

Ansible 使用 SSH 与受管主机通信,因此必须安装和配置 SSH 以允许传入的连

受管主机须安装 Python 2.4 以上版本才能运行Ansible,包括 RHEL 56 7 RHEL 5 受管主机上必须安装 python-simplejson 软件包

RHEL 6 7 受管主机没有此项要求,因为 Python 2.5(和更新版本)默认提供此功能 

Ansible 用例:
Ansible 可以部署和操控远程主机的配置文件。这些文件可以是静态的,也可利用模板实时创建Ansible 也可以用作多节点部署工具 

Playbook 可以定义远程计算机上安装和配置的应用。可以统一构建 playbook 将它应用到多台计算机上 

也可以按照 Ansible 的规则编配多节点应用运行临时(ad-hoc)命令,使 Ansible 在远程主机上执行 

关于运维学习、分享、交流,笔者开通了微信公众号【运维猫】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学运维知识。

Ansible架构概述(一)