Skip to content

Ansible Inclusions

在我们写代码的时候为了能够使代码能够复用,可以将相关的代码封装成函数,通过调用函数即可重复利用之前的代码,除了函数这种形式,在 Java 和 Python 中通常还会使用 import 来导入相关的 Packages ,来减轻相关的工作量,也更加容易管理。那么在 Ansible 上是否也存在这样的操作呢?答案可定是有的。
...continue reading "Ansible 之旅(十一) Ansible Inclusions"

Ansible Facts

Ansible Facts 是 Ansible 在托管主机上自动收集的变量。它是通过在执行 Ad hoc 以及 Playbook 时使用 setup 模块进行收集的,并且这个操作是默认的。因为这个收集托管主机上的 Facts 比较耗费时间,所以可以在不需要的时候关闭 setup 模块。收集的 Facts 中包含了托管主机特有的信息,这些信息可以像变量一样在 Play 中使用。
...continue reading "Ansible 之旅(十) Ansible Facts"

1

Ansible 变量

Ansible 本身支持变量,可以在 Ansible 项目中方便的使用变量来存放数据,达到重用的目的。举个例子,通过 Ansible 部署四台机器上的 WEB 服务,但是要求每个 WEB 服务的配置文件中的某个参数不一样,如监听的 IP ,假设不使用变量的话,可能需要写 4 个 Play ,但是使用了变量,只需写一个 Play ,然后给不同的托管主机设置不同的变量即可。
...continue reading "Ansible 之旅(九) Ansible 变量"

Ansible 模块

Ansible 为管理员提供了超过 1300+(目前不断的新增中) 的模块来面对不同的任务,关于模块的文档在官网可以访问:https://doc.ansible.com
针对每个模块,Ansible 文档都贴心的提供了模块的说明,参数,以及对新手来说非常有用的参考例子。除了访问在线文档外,还可以通过 ansible-doc 命令来查询模块的文档,-l 选项可以列出系统中所有模块的名称和简单的描述。

...continue reading "Ansible 之旅(八) Ansible 模块"

Ansible Playbook

什么是 Playbook ?首先 Play 是一组有序的 tasks ,这些任务是可以在 inventory 中的主机执行,而 Playbook 它是一个文本文件,里面包含了一个或多个 Play
Play 可以允许将复杂、冗长的手动管理任务转换为可以预测成功结果的可重复例程。在 Playbook 中,可以保存可读和可执行的 tasks 队列,可以按照应用部署的步骤来编写 Playbook 来进行部署应用或基础架构。

...continue reading "Ansible 之旅(七) Playbook"

动态 Inventory

之前介绍的静态 inventory 很容易编写,但是这只适合管理小型的基础设施架构,在管理大型基础设施架构时,机器可能会经常变来变去,如现今的私有云公有云,此时很难再去保持静态的 inventory 不变,遇到这种情况静态 inventory 已经无法较好的管理托管主机了。

...continue reading "Ansible 之旅(六) 管理 Inventory"

通过 Ansible 执行 Ad Hoc

所谓的 Ad Hoc 简而言之就是 临时命令
Ad Hoc 是一种快速执行单个 Ansible 任务的方法,它不需要为下次运行而保存起来,非常简单,只需运行一行命令,不需要写到 Ansible Playbook 当中。所以 Ad Hoc 更加注重解决一些简单或平时工作中临时遇到的任务,而 Ansible Playbook 更适合解决复杂的且需要固化下来的任务。

...continue reading "Ansible 之旅(五) 运行 Ad Hoc"