周末阅读:Ansible

作者:Shawn Powers

多年来,我撰写并培训人们使用各种 DevOps 工具,虽然它们很棒,但很明显,它们中的大多数都是从开发人员的角度设计的。 这没什么错,因为以编程方式进行配置管理才是重点。 尽管如此,直到我开始使用 Ansible,我才觉得它是一款系统管理员能够快速欣赏的工具。

这种欣赏部分来自于 Ansible 与其客户端计算机通信的方式——即通过 SSH。 作为系统管理员,你们都非常熟悉通过 SSH 连接到计算机,因此从一开始,您对 Ansible 的理解就比其他替代方案更好。

考虑到这一点,我撰写了几篇文章,探讨如何利用 Ansible。 它是一个很棒的系统,但是当我第一次接触它时,不清楚该如何开始。 倒不是说学习曲线陡峭。 事实上,如果有什么问题的话,那就是我在开始使用 Ansible 之前实际上没有太多要学习的东西,这让我感到困惑。 例如,如果您不必安装代理程序(Ansible 没有在客户端计算机上安装任何软件),那么您该如何开始?

Ansible,第一部分:像系统管理员一样思考的自动化框架

如何开始使用 Ansible。 Shawn 告诉我们,Ansible 最初让他感到如此困难的原因在于,它在配置服务器/客户端关系方面非常灵活,他不知道自己应该做什么。 事实是,Ansible 并不真正在意您如何设置 SSH 系统;它将利用您拥有的任何配置。 本文将帮助您进行设置。 

Ansible,第二部分:让事情发生

最终,一个像系统管理员一样思考的自动化框架。 Ansible,你被雇用了。

Ansible 应该让您的工作更轻松,所以您需要学习的第一件事是如何执行熟悉的任务。 对于大多数系统管理员来说,这意味着一些简单的命令行工作。 Ansible 在命令行实用程序方面有一些怪癖,但学习这些细微差别是值得的,因为它构成了一个强大的系统。

Ansible,第三部分:Playbooks

Playbooks 使 Ansible 比以前更强大。

老实说,即使 Ansible 只有它的 ad-hoc 模式,它仍然是一个功能强大且有用的工具,可以自动化大量的计算机。 事实上,如果不是因为一些功能,我可能会考虑坚持使用 ad-hoc 模式,并将一堆 ad-hoc 命令添加到 Bash 脚本中,然后完成学习。 然而,这些额外的功能使持续的努力非常值得。

Ansible,第四部分:将它们整合在一起

角色是 Ansible 最复杂但又最容易学习的方面。

我之前提到过,Ansible 的 ad-hoc 模式通常被忽略,只是作为一种学习如何使用 Ansible 的方式。 我非常不同意这种心态。 Ad-hoc 模式实际上是我在日常生活中最常使用的模式。 也就是说,使用 Playbooks 和角色是利用 Ansible 功能的非常有效的方式。 事实上,当大多数人想到 Ansible 时,他们倾向于想到角色功能,因为这是大多数 Ansible 代码共享的方式。 所以首先,重要的是要理解 ad-hoc 模式、Playbooks 和角色之间的关系。

本文最初发表于 2018 年 5 月,于 2019 年 1 月更新,添加了更多资源。

Shawn 是Linux Journal的副编辑,从一开始就接触 Linux。 他对开源充满热情,并且喜欢教学。 他也喝太多咖啡,这经常在他的写作中体现出来。

加载 Disqus 评论