首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

IT自动化运维的利器之Ansible

在云技术高速发展的今天,海量数据处理繁复,庞大而重复工作压力越发的严重。拥有一个简单而强大的IT自动化引擎,意味着期望在数字环境中蓬勃发展的组织必须具有更高的软件交付能力。

而Ansible是一种简单的自动化语言,便可以完美地描述IT应用程序基础结构。它易于学习、自我记录,并且不需要具备毕业水平的计算机科学学位。

Ansible具有人类可读的自动化、无需特殊代码、简单易操作、快速上手的优点。并且功能强大,无代理,它不同于puppet的拉取安装agent的方式,而是使用推送的方式。真正意义上实现了简单的自动化处理。Ansible是一个极其简单的IT自动化引擎,可自动执行云配置,配置管理,应用程序部署,服务内部协调以及许多其他IT需求。

Ansible从第一天开始专为多层部署而设计,它通过描述所有系统之间的相互关系来建模您的IT基础架构,而不是一次只管理一个系统。它不使用代理,也不使用额外的自定义安全基础架构,因此易于部署。最重要的是,它使用非常简单的语言(YAML,以Ansible Playbooks的形式),允许您以接近的方式描述自动化作业简单的英语。

Ansible通过连接到节点并推出称为“Ansible模块”的小程序来工作。这些程序被编写为所需系统状态的资源模型。然后,Ansible执行这些模块,并在完成后删除它们。模块库可以驻留在任何计算机上,并且不需要服务器,守护程序或数据库。通常,您将使用自己喜欢的终端程序,文本编辑器以及可能的版本控制系统来跟踪内容的更改。

同时,会使用ssh工具来实现服务器端和客户端的无密码的登录。也可使用Kerberos进行登录,无需在节点主机安装代理。

Ansible有自己的主机清单(/etc/ansible/hosts)。在清单内,可用最简单的办法(输入IP)来实现管理,清单内的节点主机,也可给清单内的节点主机分成不同的组,来批量管理节点主机,通过划分不同的组可以实现不同组之间的批量管理节点主机。并且,组内还可以在次划分不同的小组,实现任务处理细化。主机清单内,还可以主机名,数字类,字母类等划分方式,划分不同的组,来应对公司内,多任务,多层次的划分组。

Ansible这款自动化运维工具内有许多功能不同的模块。如:flie模块,copy模块,command模块,service模块,ping模快,debug模块等模块。每一个模块都有不同功能,不同的用法。都可以很好的提高运维效率。

Ansible不仅可以通过命令行的形式,提高效率。更可以使用剧本(playbook)的方式来进一步提高效率。剧本的功能很强大,命令行可以做到的它可以做到,命令行不能做到的它也可以做到。

在执行任务过程中,命令行会忠实的执行任务,但不会变通。而剧本则不一样,它不仅忠实的执行任务,而且,还足够的灵活。(会在执行任务前,搜集节点主机上信息,查看与本次任务是否冲突或匹配,来决定任务是否需要执行。)剧本还有许多强大的功能。如:批量安装软、自动获取变量、自动循环、使用标签执行部分任务等功能。

在2012年Ansible诞生后,就以其小巧易用等特点,在众多自动化运维工具中脱颖而出,得到广泛的应用。

互动区

* 你对以上内容有什么看法?你最关注云计算哪个趋势?如果你还有想了解的技术话题,欢迎留言分享。

*「启迪云谈」每周二持续更新,敬请期待。如需转载请联系小编。

-热门阅读-

启迪云计算有限公司 | 依托于清华启迪控股集团雄厚的资本和强大的科技创新及产业服务能力| 国际领先的私有云及行业云解决方案提供商 | 企业数字化转型首选平台

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181218A13O8K00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券