当前位置: 首页 > 知识库问答 >
问题:

为什么要有一本Ansible的“大师剧本”?

连成益
2023-03-14

在Ansible项目中有一个大师剧本有什么意义?Ansible最佳实践描述的项目布局如下所示:

production      # inventory file for production servers
staging         # inventory file for staging servers
site.yml        # master playbook
webservers.yml  # playbook for webserver tier
dbservers.yml   # playbook for dbserver tier
# site.yml
---
- include: webservers.yml
- include: dbservers.yml
---
- name: configure webservers
  hosts: webservers

  tasks:
    (tasks go here)

  roles:
    (roles go here)
# ansible.cfg
[defaults]
hostfile = inventory
$ ansible-playbook site.yml
$ ansible-playbook -i production site.yml

但是,既然您的webserver或dbserver剧本很可能会指定“hosts:webservers”或“host:dbservers”来指示目录文件中的这些组,那么为什么不运行这些命令呢?

$ ansible-playbook -i production webservers.yml
$ ansible-playbook -i production dbservers.yml

有一个网站。YML大师剧本给你买了什么?

谢了。

共有1个答案

柯良骏
2023-03-14

那个例子极其简单。

想象一下,您有一个相当复杂的基础设施,它的各种组件有15-20个不同的剧本。这样的主剧本将确保不仅所有底层剧本都将执行,而且它们将以正确的顺序执行。(即应该首先运行什么,dbservers.yml还是webservers.yml?)

 类似资料:
  • 根据Ansible的文档,一个剧本是: ...一个非常简单的配置管理和多机部署系统的基础,不像任何已经存在的系统,并且非常适合部署复杂的应用程序。 同样,根据这些文档,一个角色是: 如果有人能给我解释这些差异,我对Ansible的理解将会大大提高! 剧本vs角色vs以及中的类似条目 如果剧本是在YAML文件中定义的,那么角色在哪里定义? 除了Ansible服务器上的之外,如何使用可用的剧本/角色添

  • 本文向大家介绍python ansible服务及剧本编写,包括了python ansible服务及剧本编写的使用技巧和注意事项,需要的朋友参考一下 第1章 ansible软件概念说明 python语言是运维人员必会的语言,而ansible是一个基于Python开发的自动化运维工具 (saltstack)。其功能实现基于SSH远程连接服务;ansible可以实现批量系统配置、批量软件部署、批量文件拷

  • 问题内容: 我有以下两项艰巨的任务 用于获取计算机(Linux)中的接口列表并获取每个接口的总线地址。我在同一本剧本中还有另外一项任务,如下 我希望对var2的值进行迭代,然后打印总线号。 var2.results如下 我的目标是获取上述每个项目中stdout的值,例如(“ stdout”:“ 09:00.0”)。我试图给像 但这不能正确提供标准输出中的总线值。当第二个变量是and indexed

  • null 如果有更有经验的人,是否有一种建议的方法将常用的角色组合在一起,同时如果需要,仍然可以选择单独使用?

  • 约书亚·布洛赫在高效的Java中写道: 请注意,非零长度数组总是可变的,因此类具有公共静态最终数组字段或返回此类字段的访问器是错误的。如果类具有这样的字段或访问器,客户端将能够修改数组的内容。这是安全漏洞的常见来源: 请注意,许多IDE生成的访问器会返回对私有数组字段的引用,这恰恰导致了这个问题。有两种方法可以解决这个问题。您可以将公共数组设为私有,并添加公共不可变列表: 或者,可以将数组设为私有

  • 我已经使用$.mobile.changepage在我的phonegap jquerymobile项目中进行重定向。然而,让我困惑的是,我需要将所有页面的脚本放在同一个文件中index.html.否则,重定向页面无法执行其标头中的功能。 例如,我的index.html似乎是 然后,我的设备将重定向到测试。html,似乎是 然而,脚本永远不会在test.html.执行然后我把脚本index.html,