Ansible介绍

Ansible是一个基础架构自动化引擎。容易上手,足够灵活,可以处理复杂的相互依赖的系统。

简介

Ansible的架构包括安装Ansible自身的部署系统,以及由Ansible管理的目标系统。它不需要代理(agent)就能将变更推送到目标系统,因为它使用SSH协议作为将变更推送到目标系统的传输机制。这也意味着目标系统上不需要额外安装软件。无代理架构使Ansible的配置变得非常简单。
Ansible通过SSH将模块复制到目标系统之中,然后执行它们以更改目标系统的状态。执行后,Ansible模块将被清除,目标系统上不会留下任何痕迹。
Ansible默认使用基于SSH的推送模型(push model)来将变更推送到目标系统。如果你认为这种机制对于你的基础架构扩展性不够, Ansible还支持基于代理的拉取模型(pull model)。Ansible是用Python 开发的,附带了大量的核心自动化模块。
Ansible的配置文件称为playbook,它们是用YAML编写的,YAML只是一种标记语言。YAML很容易理解,它是为编写配置文件而定制 的。这使得学习Ansible自动化变得更加容易。Ansible Galaxy是可用于 你的项目的可重复使用的Ansible模块的集合。
在后续的文章中,我们将选择Ansible来自动化云基础架构。
更多了解请查阅:https://docs.ansible.com/ansible/latest/user_guide/intro.html

概念

模块

Ansible模块(module)是封装系统资源或操作的组件。模块对资源及其属性进行建模。Ansible附带了包含各种核心模块的软件包,这些核 心模块代表了各种系统资源;例如,file模块对系统中的文件进行封 装,它具有诸如所有者、组、模式等属性。这些属性表示系统中文件的 状态;通过更改资源的属,我们可以描述系统所需的最终状态。
注:Ansible还为多个云供应商和虚拟化引擎(包括OpenStack)提供了优秀且稳定的模块。更多了解请查阅官方网站:https://docs.ansible.com/ansible/latest/modules/list_of_cloud_modules.html#openstack

变量

清单

角色

playbook

---本文结束感谢您的阅读---
北岸冷若冰霜 wechat
欢迎使用微信扫一扫上面的二维码,订阅我的公众号!
坚持原创分享,点击下方打赏,您的支持将鼓励我继续创作!