长久以来,IT运维在企业内部一直是个耗人耗力的事情。
随着虚拟化的大量应用、私有云、容器的不断普及,运维人员的压力愈发增加。虽然自动化工具在今天已经十分普遍,但往往它们是面向数据中心特定的一类对象,如操作系统、虚拟化、网络设备等,这就造成了虽然自动化工具看起来纷繁多样,但实际操作起来依然复杂无比。
那么,有没有一种数据中心级别的统一的自动化运维工具呢?
★ 答案是有的,Ansible就是近年来越来越火的一款开源运维自动化工具,它几乎支持数据中心的一切自动化,从而大幅了提高运维工程师的工作效率,减少人为失误。
▲Star、Fork和commits的数量足见Ansible的火热
今天,小编就来介绍这款工具
如果你之前还没有用过它
不妨了解一二
也许它就是你梦寐以求的帮手
Ansible为什么备受青睐?
Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,通过集成非常丰富的模块,它可以实现各种管理任务,如批量系统配置、批量程序部署、批量运行命令等。
重要的是,Ansible操作简单,即使新手也可以轻松上手,同时又提供非常丰富的功能,在运维领域,几乎可以做任何事。
除了上面提到的,Ansible还有以下几项特点:
Ansible特点:
☆ 基于Python开发,运维工程师对其二次开发比较容易;
☆丰富的内置模块,几乎可以满足一切要求;
☆管理模式简单,一条命令可以影响上千台主机;
☆无需客户端,轻量级,底层通过SSH通信;
☆管理范围广泛,不仅仅是操作系统,还包括各种虚拟化、公有云、配置裸机服务器网络设备、甚至存储设备。
Ansible的组件:
Ansible 的核心组件包括:Modules、Inventory、Playbook、Roles 和 Plugins。
这里着重介绍一下Modules:
Modules也就是使用Ansible进行自动化任务时调用的模块。有了Modules,我们才能调用这些Modules来完成我们想要执行的自动化任务。在工作方时,Ansible首先连接(默认通过 SSH)被管理节点(可能是服务器、公有云或网络设备等),然后向这些节点推送 Modules、执行这些 Modules,并在完成后删除 Modules。
当然,Anisble并不是市面上唯一一款的自动化运维工具,还有诸如Puppet、SaltStack等。但总的来说Ansible是众多自动化工具中较为出色的一款,因为它的相对简单易用,而且能够支持跨平台,高可读性易于维护,高重用性提升效率,总之能够快速有效地完成自动化运维工作。
▲Anisble与其他自动化运维工具对比
适用于戴尔易安信产品的Ansible模块
随着Ansible在企业运维当中逐渐流行,也有越来越多的戴尔易安信用户前来询问其产品能否支持Ansible。
★ 答案是肯定的。
在服务器方面
戴尔易安信OpenManage Ansible模块可简化并自动执行PowerEdge服务器和模块化基础设施的配置、部署和更新。它允许系统管理员和软件开发人员将物理基础设施配置引入其软件配置堆栈,与现有的DevOps管道集成,并使用符合基础设施即代码(IaC) 原则的版本受控的playbook、服务器配置文件和模板管理其基础设施。
▲ Dell EMC OpenManage Ansible模块
近年来,基础架构即代码(IaC) 广泛应用于DevOps领域。IaC通过可视为任意软件的源代码定义计算、网络和存储的配置。只需运行软件命令,用户就可以在几秒(而不是几天)内调配动态基础架构。这样可以确保基础架构的一致性与合规性。
OpenManage Ansible模块可帮助用户采用以下IaC做法进行物理服务器部署,例如:
· 版本控制 | · 同行评价 |
· 自动分层 | · 版本标记 |
· 版本升级 | · 快连续交付 |
· 连续集成 |
在存储方面
戴尔易安信存储产品支持多种接口和集成方案,帮助用户自动执行并简化存储操作。
目前,戴尔易安信已经开发了用于PowerMax、PowerScale、PowerStore以及UnityXT等多款存储产品的Ansible模块,可帮助运维团队快速、准确地调配存储基础架构,满足应用程序开发人员的快节奏需求。
以最新发布的中端存储新品PowerStore为例,其Ansible模块允许IT管理员使用Ansible,来自动化和编排PowerStore阵列的配置和管理,加速配置操作。
PowerStore Ansible模块目前包括:
· 卷模块 | · 卷组模块 |
· 主机模块 | · 主机组模块 |
· 快照模块 | · 快照规则模块 |
· 保护策略模块 | · 收集实事板块 |
运维人员只需在YAML文件中以简单的键值对格式指定存储管理操作和所需配置即可。戴尔易安信存储Ansible插件会验证是否已经达到所需状态,只有在未达到所需状态时才会执行动作。这种底层的执行智能(idempotency)避免了动作的无意执行以及由此导致的基础设施配置漂移。
这种方法有助于在整个IT基础设施堆栈上更容易地实现一致和高度可扩展的操作,以满足各种用例,如DevOps流程自动化和管理大规模应用程序。
Ansible是一个功能强大、设计简洁的自动化引擎,它终结了手动执行重复性耗时任务的时代,让IT团队能够腾出更多时间,投入到更具战略性的工作中。而戴尔易安信正在开发一系列相关存储模块,针对越来越多的存储平台提供存储管理、资源调配和资源使用的自动化功能。通过这些模块,运营团队可以快速、准确地调配存储基础架构,满足应用程序开发人员的快节奏需求。
尊敬的读者
如果您想获取
戴尔易安信各个产品的Ansible模块
可在后台回复Ansible
即可获取Github地址
Ps.关注公众号后在消息栏输入"Ansible"
发送后领取