ansible 模块
当我长大的时候,我摹 randfather在他的花园棚。 他会在那里呆几个小时,制作和修理东西。 这是我们获得互联网之前的方式,所以我花了很多时间研究他在那个棚子里创造的东西。 虽然大棚充满了许多工具,从演练,车床电气格宾斯和很多的东西,我怀疑我能确定,即使今天,他只用了什么,他手头有一个微小的子集。 然而,他的成就似乎从未无限。
我讲这个故事是因为我觉得自己的职业生涯被花在了一个隐喻的棚屋里。 计算机具有如此之多的工具,全部都在一个很小的(虚拟?)空间内。 在工具棚内有工具棚-我最喜欢的是Ansible。 最新的2.9版本附带3,681个模块! 3681! 当我在2013年夏天开始使用Ansible时,1.2.1版本只有113个模块,但是,正如 我当时所写的那样 ,我仍然可以实现我想象中的一切。
模块是Ansible的Struts,使轻重的齿轮变得轻巧。 他们被设计为可以很好地完成一项工作,从而实现 Unix哲学 。 这就是我们将这么多捆绑在一起的方式。 作为乐队的指挥,Ansible现在拥有许多指挥乐器。
5.authorized_key
安全外壳(SSH)是Ansible的核心,至少对于Windows以外的几乎所有其他功能而言都是如此。 通过Ansible有效使用SSH的关键(无双关语)是… 关键 ! 撇开一点-可以使用SSH密钥为安全性做很多非常酷的事情 。 值得仔细阅读sshd手册页的authorized_keys部分。 如果您要进入精细的用户访问领域,那么管理SSH密钥可能会变得很费力,尽管我们可以通过接下来的两个收藏夹之一来完成它,但我更喜欢使用该模块,因为它可以通过变量轻松进行管理 。
4. 文件
除了将文件放置在某处的明显功能之外, 文件模块还设置所有权和权限。 我想说,使用一个模块可以为您带来巨大的收益 。 我也将提供与设置权限相关的大部分安全性,因此文件模块可以很好地与authorized_keys配合使用。
3. 模板
操作文件内容的方法有很多,我看到很多人使用lineinfile 。 我自己将其用于小型任务。 但是, 模板 模块更加清晰 因为您维护整个文件的上下文。 我更喜欢以任何人都可以轻松理解的方式编写Ansible内容-对我来说,这意味着不难理解正在发生的事情。 模板的使用意味着能够查看您放置的整个文件,以及用于更改零件的变量。
2. 尿
当前发行版中的许多模块都将Ansible用作协调器。 他们与另一项服务对话,而不是做一些特定的事情,例如将文件放置到位。 通常,这种交谈也是通过HTTP进行的。 在存在许多这些模块之前,您可以直接使用uri模块对API进行编程。 这是一个功能强大的访问工具,可让您执行很多操作。 我在虚构的Ansible棚子里不会没有它。
1. 外壳
我们包装中的小丑卡。 瑞士军刀。 如果您绝对无法控制其他事情,请使用shell 。 有人会说我们现在正在谈论使Ansible成为Bash脚本-但是,我想说这还是更好的,因为在您的角色和角色中使用name参数,可以记录每个步骤。 对我来说,这和任何东西一样大。 在我仍在咨询的时代,我曾经帮助数据库管理员(DBA)迁移到Ansible。 DBA不是一个需要变革的人,而是推迟了更改工作方法的时间。 因此,为了简化Ansible的方式,我们使用shell模块从Ansible调用了一些现有的DB管理脚本。 伴随任务的内容丰富的名称声明。
您可以通过这五个模块大量学习。 是的,旨在完成特定任务的模块将使您的生活更加轻松。 但是,借助简单的工程设计,您几乎可以实现很多目标。 Ansible开发人员Brian Coca是它的专家, 他的技巧和窍门 总是值得关注的。
您如何看待我的前五名? 如果您受到限制,您会选择五个模块,为什么选择 ? 在下面的评论中让我知道!
翻译自: https://opensource.com/article/19/11/ansible-modules
ansible 模块