zoukankan      html  css  js  c++  java
  • 【Ansible 文档】【译文】动态inventory

    Dynamic Inventory 动态inventory

    配置管理系统的用户经常想要保存inventory到不同的软件系统中。Ansible提供了一个基本的基于文本的系统,正如inventory中描述的那样,但是如果你要其他的怎么办?

    常见的例子包括从云提供者、LDAP、Cobbler中拉取inventory,或者一种昂贵的CMDB软件。

    Ansible很容易支持所有的这些选项,通过外部的inventory系统。contrib/inventory 目录已经包含的一些为EC2/Eucalyptus、Rackspace 云,以及OpenStack,下面有详细的细节。

    Ansible Tower同样提供了一个数据库来存储inventory,可以通过web和REST访问。Tower同步你可能正在使用的所有的Ansible动态inventory,并且同时包含图形inventory编辑器。通过使用一个数据库记录所有的主机,很容易关联过去的历史事件,并且查看在过去的playbooks执行时那一台主机失败过。

    Example: The Cobbler External Inventory Script

    特定例子,略

    Example: AWS EC2 External Inventory Script

    特定例子,略

    Example: OpenStack External Inventory Script

    特定例子,略

    Other inventory scripts

    其他选择例子,略

    Using Inventory Directories and Multiple Inventory Sources 使用Inventory 目录和多个Inventory 源

    如果Ansible使用-i指定的位置是一个目录,(或者同样在ansible.cfg同样配置),Ansible可以同时使用多个inventory源。当如此做时,在相同的ansible运行混合动态的和静态的inventory管理资源是可能的。即混合云。

    在一个Inventory目录中,可执行文件会被当作动态inventory资源,并且大部分其他文件当作静态的。以下面列出的模式结尾的文件将被忽略:

    ~, .orig, .bak, .ini, .cfg, .retry, .pyc, .pyo

    你可以替换这个列表,通过在ansible.cfg中配置inventory_ignore_extensions 这个选项,或者设置ANSIBLE_INVENTORY_IGNORE环境变量。这个值是逗号分割的模式,如上展示。

    任何在inventory目录下 group_vars and host_vars 的子目录,将按照预期翻译,使得inventory目录称为一种强大的组织配置的方式。

    Static Groups of Dynamic Groups 动态组中的静态组

    当在静态inventory文件中定义组中组时,子组必须被定义在静态inventory文件中,否则ansible会返回一个错误。

    如果你想要在动态子组的静态组,在inventory文件中定义动态组为为空即可,例如:

    [tag_Name_staging_foo]
    
    [tag_Name_staging_bar]
    
    [staging:children]
    tag_Name_staging_foo
    tag_Name_staging_bar
  • 相关阅读:
    CSS 基本语法
    Html 块
    Html 表单
    Html 创建表格
    Html 建立超链接
    Html 在网页中使用图像
    CentOS7 重启问题
    Java 多线程——多线程的引入
    c++ 自然排序-window文件排序
    MFC更改图标
  • 原文地址:https://www.cnblogs.com/pengyusong/p/7688235.html
Copyright © 2011-2022 走看看