NEWS ���Ŷ�̬ > ��������

Ansible 在云管理服务中的使用

futong �����ڣ�2019-09-23
ժҪ��Ansible是一个IT自动化运维工具,它是基于python语言实现,由Paramiko和PyYAML两个关键模块构建,集合众多运维工具的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。今天将与您分享Ansible在云管理服务中的使用。

Ansible是结合模块工作的,本身没有批量部署的能力,真正具有批量部署的是它所运行的模块,而且它无需在被控主机部署任何客户端代理,默认直接通过SSH通道进行远程命令执行或下发配置。

Ansible的主要目标是简单易用,它还非常注重安全性和可靠性,具有最少的移动部件,使用OpenSSH进行传输(使用其他传输和拉模式作为替代方案)。Ansible以无代理方式管理机器,不会出现如何升级远程守护进程或无法管理系统的问题,因为卸载了守护进程,而且由于OpenSSH是最受同行评审的开源组件之一,因此安全风险大大降低。Ansible适用于管理所有环境,从具有少数实例的小型设置到具有数千个实例的企业环境。

最佳实践

富通云腾在 Ansible 的世界里,会通过 inventory 档案来定义有哪些 Managed node (被控端),并借由 SSH 和 Python 进行沟通。当Control Machine (主控端) 可以用SSH连上Managed node,且被连上的机器里有预载 Python时,Ansible 就可以运作了。

Control Machine 指的是我们主要会在上面操作Ansible的机器。它可以是我们平时用的电脑、手机或机房里的某一台机器,也可以把它想成一般Lab练习里的 Workstation。Managed node则是被Ansible操纵的机器,在很多的Lab练习里会用 Server来称呼它。

一般来说,我们可以用 Ad-Hoc command和Playbook两种方式来操作Ansible,或者是透过一次次简短的指令来操作Ansible,而后者则是先把任务写好,然后再一次执行,两者的关系就好比我们在 Linux Shell里打指令和先写个Shell Script再执行一样。

Ansible只要有纯文字编辑器就可以进行开发,但开发者还是会借由些自动补齐 (Auto-complete)、缩排提示、语法 (Syntax) 高亮 (Highlighting) 和检查 (Check) 等扩充套件工具来补助。在Ansible里,我们其实都是透过现成的模组(Modules)来在操作Ansible,只要掌握了如何使用模块就可以快速上手,其余都只是延伸使用。

云计算.jpg

甜心场景

富通云腾利用Ansible自动化部署虚拟机VM 、部署监控报警、部署自定义账单等复杂性重复操作,并可以根据用户场景写脚本,定制化需求设计等。

1. 系统创建与安装服务:根据用户需求自动化为用户在云平台创建虚拟机及安装操作系统、数据库、中间件等软件产品及公有云各类产品的服务。

2. 系统升级与补丁加固服务:根据系统需求并获得用户认可后,为服务范围内的系统自动化升级及打补丁。

3. 系统监控与报警服务: 根据用户需求对系统进行监控,并对监控到的系统异常进行自动化报警。

4. 系统运维例行操作服务:根据用户需求对系统进行自动化例行操作,如删除日志,备份数据,系统归档,巡检等。

5. 周期性报告服务:根据用户需求对系统运行数据进行自动化收集,总结并形成分析结果,供用户参考决策。

6. 资产管理与流程管理服务:根据用户需求建立资产数据库和配置管理数据,建立事件、配置、问题、变更、发布、服务级别等方面的管理流程,获得认可后自动化执行。

7. 云账户管理与成本核算服务:根据用户需求对用户公有云账户消费过程进行自动化管理,对系统运行成本进行自动化核算,并出具符合用户要求的成本报表供用户参考决策。

网络自动化

Ansible模块支持各种供应商、设备类型和操作,因此您可以使用单个自动化工具管理整个网络。使用Ansible,富通云腾目前具备以下网络能力:

自动执行重复性任务,加速日常网络变更,腾出时间进行更具战略性的工作;

利用相同简单、功能强大且无代理的自动化工具,实现运营和开发所使用的网络任务;

将数据模型(在剧本或角色中)与执行层(通过Ansible模块)分开以管理异构网络设备;

受益于社区和供应商生成的示例手册和角色,有助于加速网络自动化项目;

通过SSH或HTTPS与网络硬件安全通信。

基于功能强大、模块丰富等优势,Ansible 解决了 IT 运维人员多年来的心结 (例如写不完的安装笔记、可重复利用的 script、可测试的基础设施等),就算没有导入Ansible这套组态管理系统,但只要有OpenSSH登入权限和Python,就可以用Ansible。Ansible作为富通云腾重要的IT自动化运维工具,为企业级客户IT自动化运维和业务迭代保驾护航。