Ansible自带化运维工具术语大全_ansible gather_facts什么意思

下面是一系列的 Ansible 文档中的术语。

在主界面查看文档,了解这些术语的上下文环境,不过这里是一个好的资源测试你对 Ansible 组件的了解和更好的理解他们是如何组合起来的。你可能在想回顾 Ansible 知识的时候看看这里,在邮件中出现一些术语的时候参考一下这个文档。

动作(Action)

一个动作属于一个任务的一部分,指定运行的模块,然后传递参数给此模块。每个任务之一一个动作,但是它可以有不同的参数。

Ad Hoc

指的是使用 /usr/bin/ansible 运行 Ansible 直接执行一些命令,而不是使用 /usr/bin/ansible-playbook 执行剧本。一个 ad-hoc 命令例子,可以是在你的基础设施里面重启50台机器。任何你可以做的东西, ad-hoc 都可以实现通过写一个剧本, 剧本肯定也组合了其它的一些操作。

Async

指的是一个任务配置为运行在后台,而不是等它完成。如果你有一个很长的任务要执行,而且时长可能超出 SSH 登录时长, 那么运行那个任务在 async 方式比较有意义。Async 方式可以每隔一段时间 poll 一次,等待此任务完成。它可以调整为把任务踢出去,然后不再理会它,以便后来使用。Async方式可以在 /usr/bin/ansible 和 /usr/bin/ansible-playbook下面。

Callback Plugin

指一些用户编写的代码可以从 Ansible 运行结果获取数据,并做出一些处理。 一些提供的在 Github 项目上的事例实现了自定义日志,发邮件,甚至播放声音效果。

Check Mode

指的是运行 Ansible 使用 --ckeck 选项,但是系统本身却不作出任何改变,仅仅输出可能发生的改变。这就像在其它系统上叫做 “dry run”的方式, 用户应该被警告因为这个方式没考虑到命令失败的问题,或者冲突影响。使用这个可以知道哪些东西可能会发生,但是这不是一个好的替代 staging 环境。

Connection Type, Connection Plugin

Ansible 默认用可插拨的库和远端系统通信。 Ansible 支持天然的 OpenSSH (‘ssh’) 或者 Python 实现的 ‘paramiko’ 库。如果你在使用最近的 Ansible 版本,最好使用 OpenSSH ,同时支持 Kerberos 和 jump hosts。这在文档开始部分就有提到。也有一些加速方式的连接类型,但是必须 bootstrapped 基于SSH类型的连接,但是它非常快,就像在本地系统上运行一样。用户也可以写他们自己的连接类型插件。

Conditionals

一个条件式是根据一个表达式正确或错误判断是否在一个机器上执行给定的任务。 Ansible 的条件表达式由 ‘when’ 提供,在playbook文档里面有讨论。

Diff Mode

–diff标识可以传递给 Ansible 来展示模板文件如何改变的,或者使用 –check 模式时它们可能发生的改变 。这些 diffs 统一为diff格式。
Facts
Facts 是发现远端节点的信息。当它们被用在模板的时候, facts只能被引用,而不能被设置。Facts是当运行 plays 时候执行内部的’setup’模块自动收集的。你不需要明确的调用 setup 模块,它自己运行,但是当你想节省时间的时候你可以禁止它。为了方便用户转向其他系统配置工具, fact 模块可以拉取 facts 从 Chef的’ohai’ 和 Puppet的’facter’工具。

Filter Plugin

过滤插件式大多数用户从来不需要了解的东西。这允许创在新的 Jinja2 过滤,而这只对那些知道什么是 Jinja2 过滤的人有帮助。如果你需要他们,你可以从 API docs 部分学习如何写他们。

Forks

Ansible 与远端节点交流是通过并行的机制,并行机制的方式可以通过传递 –forks参数设置,或者在配置文件里面编辑。默认是保守的5个线程。如果你有足够的内存,你可以很容易的设置为50或者更多值。

Gather Facts (Boolean)

上面已经提到了Facts。有时候在运行多个 playbook ,可能不想收集一些fact ,而且以后也不会用到这些值。在playbook里面设置 gather_facts:False 指示跳过收集 facts。

Globbing

Globbing 是一个一种基于通配符的方式挑选许多主机,而不是明确指定主机的名字,或者它们的组名。例如 ,使用 “www*”,来匹配所有以 “www” 开头的所有主机。这个理念直接被吸收进 Func 。除此之外,不同的 set 操作也可以通过 globbing 实现。

Group

组由几个主机组成,可以方便的当做一个目标看待,同时可以共享变量。

Group Vars

group_vars 文件位于一个目录下面,同时在 inventory 旁边,有一个可选的文件名在每个组后面。这是一个方便的位置来存放变量,提供给每个组,由其是复杂的数据结构,因此这些变量不需要嵌入在 inventory 文件或 playbook 文件里面。

Handlers

Handler 仅仅是普通的任务在Ansible playbook里面(请参考tasks)。但是仅仅当任务包含 “notify” 指令和指示它改变了一些东西的时候才运行。例如,如果一个配置文件改变了,然后任务引用这个配置文件模板通知服务器重启 handler 。这意味着服务可以被反弹仅仅他们需要重启的时候。Handler 不仅仅可以用于重启服务,但是重启服务是最通用的用法。

Host

一个host 只是简单的 Ansible 管理的远端机器。它们可以被分配私有的变量,可以被组织为一个组。所有的组有可以访问一个名字,也可以是IP地址,如果他们在默认的SSH端口不能访问,可以指定一个一个可选的端口号

Host Specifier

每一个 Play 映射为一系列的 tasks (可以是定义的role,purpose,或系统指令) 到一些系统的集合

“hosts:” 指令在每个play中通常叫做主机指定。

它可以挑选一个系统,一个或更多组,甚至一些主机在其他组不在某个组里面,但是在另外一个组里面。

Host Vars

就像”Group Vars”,一个名称为 “host_vars/” 的目录在 inventory 文件旁,可以在 invetory 文件的主机名后面包含这个文件,使用 YAML 格式。这提供一个方便的位置分配变量给这个主机而不要在 inventory 文件里面嵌入太多变量。Host Vars 文件还可以用于定义复杂的在 inventory 文件里面不断出现的数据结构。

Lazy Evaluation

总的来说, Ansible 评估任何变量在 playbook 内容在最新的可能的时间里,也就是意味着如果你定义了一个数据结构,这个数据结构自身也可以定义变量值在里面,然后每件事情就像你期望的那样工作。 这也意味着 变量字符串可以包含其它的变量在字符串里面。

Lookup Plugin

一个查询插件是从外界得到数据进入 Ansible 。这些东西就像 “with_items” ,一个基础的循环插件,但是也有其它的查询插件就像 “with_file”, 从文件加载数据,甚至有一些逡巡环境变量, DNS 文本记录,或者键值存储。 查询插件也可以被 templates 访问 ,{{ lookup(‘file’,‘/path/to/file’) }}.

Multi-Tier

IT 系统不是一次在同一时间只管理一个系统,而是在多个系统之间交互,一组系统,在一个定义好的顺序里面。例如,一个 web server 可能需要在数据库服务器之前更新,web server的部分内容又要在 THAT 数据库服务之后更新,同时不同的负载均衡器和监控服务器也需要被联系到。 Ansible 看待系统为整个工作流和拓扑,而不是简单的一次一个系统。

Idempotency

改变类的命令仅仅在他们需要使用的时候才被使用,最好描述系统的状态而不是如何到达系统某个状态的过程。打个比方,从美国的卡罗莱纳州到加利福尼亚州包括驾驶很长一段距离的车,但是如果我是在阿拉斯加州,则需要乘坐地铁。 Ansible的资源就像你说,“把我放到加利福尼亚”然后决定如何到达那里。如果你已经在加利福尼亚,没有什么会发生,然后他会让你知道什么都没有发生,不需要改变什么东西。

Includes

Playbook 文件可以包含其它的 plays,任务列表也可以扩展在其它文件的外部任务,就像处理器。 Include 可以被参数化的,也就是装载文件可以传递变量。例如,一个Include 表演设置Wordpress 博客站点,需要传递”user”参数,然后这个表演(play)可以 include 多于一次的博客站点,例如叫做 “alice” 和 “bob”

Inventory

一个描述主机和组的 Ansible 文件。Inventory 可以通过 “Inventory Script” 提供,有时也叫做 “External Inventory Script”

Inventory Script

一个简单的从外部资源寻找主机,主机组的成员,和变量信息的程序 – 可以是个 SQL 数据库,一个 CMDB 解决方案,或者是 LDAP。这个概念来自 Puppet (叫”External Nodes Classifier”),工作方式也是类似的。

Jinja2

Jinja2 是 Ansible 模板的首选语言。它非常简单,很容易阅读和书写。

JSON

Ansible 从远端机器上返回的数据使用 JSON 类型。这使得模块可以使用任何语言编写,而不仅仅是Python。

Library

许多模块的集合供 /usr/bin/ansible 或 Ansible Playbook 使用。

Limit Groups

通过传递 --limit somegroup 参数给 ansible 或 ansible-playbook ,命令可以限制为一些主机的子集 。 例如这可以使目标为全部的服务器到只允许一个服务器运行 playbook 。

Local Connection

通过在 playbook 中使用 “connection:local” ,或者传递 “-c local” 给 /usr/bin/ansible ,这指明了我们正在管理本地主机而不是远端机器。

Local Action

local_action 指令在 playbook 意味着给予的步骤仅仅会在本地机器上运行, 但是这变量 ‘{{ ansible_hostname }}’可以被传递到远端机器引用。这可以被用于触发器,例如,rsync 操作。

Loops

通常来说, Ansible 不是一个编程语言。它跟喜欢声明,尽管不同的结果像 “with_items” 使得指定的任务重复的实验多个 items 在一个列表里面。特定的模块,例如 yum 和 apt ,对这更喜欢,可以安装多个包,然后加速了配置的总时间。

Modules

Module 是 Ansible 运行远端机器的单元。模块可以使用通过 /usr/bin/ansible 或者 /usr/bin/ansible-playbook 。模块可以通过任何语言编写包括 Perl,Bash,Ruby,但是使用Python 可以利用一些有用的社区库代码。模块仅仅返回一些 JSON 格式数据或简单的 key=value 集合。一旦模块在远端执行之后,他们就被移除了,隐私不需 daemon 长时间运行。Ansible 把模块的集合看做 ‘library’

Notify

等级改变的事件和通知处理任务需要在 play 的最后运行。如果一个 handler 被多个任务通知,它会仍然仅仅运行一次。 Handler仅仅按照列表运行一次,而不是他们被notified 的顺序。

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 19
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值