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架构概述(一)_第1张图片

Ansible 控制节点组件 

Ansible架构概述(一)_第2张图片

控制节点的角色和要求 

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

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

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

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

受管主机的角色和要求 

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

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

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

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

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

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

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

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

你可能感兴趣的:(Ansible架构概述(一))