Ansible Automation Platform - 导入外部主机清单
创始人
2024-04-12 22:24:54

《OpenShift / RHEL / DevSecOps / Ansible 汇总目录》

文章目录

  • 从外部向“清单”批量导入主机
    • 从 VMware vCenter 导入主机清单
    • 从外部文件导入主机清单
  • 使用“智能清单”

Ansible 的 Playbook 执行目标是 “清单” 中的主机和分组。在 AAP 控制台中可以手工创建 “主机” 并通过 “清单” 关联主机和分组,也可从外部环境中批量导入“主机” 和 “清单” 信息。
标准 “清单” 中包含哪些主机是静态的,因此必须手动向 “清单” 中添加或删除 “主机”,执行 Playbook 的目标 “清单” 才会有变化。而 AAP 的 “智能清单” 相当于 “主机视图”,可以通过更改 “智能清单” 的过滤条件来动态变更它包含的 “主机”。

从外部向“清单”批量导入主机

AAP 支持从 VMware vCenter、OpenStack、红帽虚拟化、AWS、AZure、Google Cloud、红帽卫星、外部文件等源头批量导入主机清单。

从 VMware vCenter 导入主机清单

  1. 先创建一个 VMware vCenter 类型的 “凭证”。
    在这里插入图片描述
  2. 创建一个新的 “清单”。
    在这里插入图片描述
  3. 在新建的 “清单” 中创建一个新的 “源”。
    在这里插入图片描述
  4. 在 “源” 的编辑页面中按照下图选出 “源” 和 “凭证”,另外将使用在发现主机中包含的 processor_vcpus 变量作为主机选择条件,选出 processor_vcpus = 2 的主机。
    在这里插入图片描述
  5. 保存 “源” 后在详情页面中点击 “同步”,此时 AAP 会按照 “源” 的目标和过滤条件将符合条件的主机导入到 “清单” 中。
    在这里插入图片描述
  6. 再次查看刚刚创建 “清单” 中的 “主机” 页面,可以看到被导入的主机清单列表。
    在这里插入图片描述

从外部文件导入主机清单

  1. 在一个 Git 的 Repository 中创建内容如下的 inventory_list 文件,它定义了主机和分组、以及变量。
{"dyngroup":{"hosts":["cloud1.cloud.example.com","cloud2.cloud.example.com","cloud3.cloud.example.com","cloud4.cloud.example.com"],"vars":{"var1": true}},"_meta":{"hostvars":{"cloud1.cloud.example.com":{"type":"lb"},"cloud2.cloud.example.com":{"type":"web"},"cloud3.cloud.example.com":{"type":"web"},"cloud4.cloud.example.com":{"type":"database"}}}
}
  1. 在 Git 的 Repository 中相同位置创建内容如下的 inventory-script 文件,注意需要替换curl 命令使用的 inventory_list 文件访问地址。
#!/bin/bashif [ "$1" == "--list" ] ; thencurl -sS https://gitee.com/dawnskyliu/playbooks_adv_summit2021/raw/master/inventory/inventory_list
elif [ "$1" == "--host" ]; thenecho '{"_meta": {"hostvars": {}}}'
elseecho "{ }"
fi
  1. 在 AAP 控制台上创建一个对应前面 Git Repository 的 “项目”。
    在这里插入图片描述
  2. 创建一个新的 “清单”,然后在其中创建一个新 “源”。然后按照下图将 “源”设为“源于项目”,将 “项目” 和 “清单文件” 设为前面创建的资源。
    在这里插入图片描述
  3. 在新建的 “源” 详情页面中点击 “同步”,AAP 将启动任务运行 Git Repository 中的 inventory-script 文件将 inventory_list 文件中的主机导入到 AAP。
    在这里插入图片描述
  4. 完成后可在 “清单” 中查看从外部文件导入的 “主机”。
    在这里插入图片描述

使用“智能清单”

可以将 “智能清单” 看成是 “主机” 的视图,因此创建新的 “智能清单” 前需要 AAP 中至少先有一个 “主机”。

  1. 在 AAP 的清单中创建一个 “智能清单”。
    在这里插入图片描述

  2. 进入 “智能主机过滤器” 的 “放大镜” 图标,此时在对话框中应该显示当前 AAP 的所有主机。
    在这里插入图片描述

  3. 在弹出对话框中将 “名称” 改为 “高级”,然后按照下图查找 name,查找类型为 regex ,查找内容为 cloud[2-4].cloud.example.com,最后点击 “放大镜” 图标。
    在这里插入图片描述

  4. 此时对话框可之显示过滤后的主机,最后点击 “选择” 按钮。在这里插入图片描述

  5. 查看新创建的 “智能清单” 对应的 “主机”,即为上一步过滤出的主机。
    在这里插入图片描述

相关内容

热门资讯

南开大学专业排名最新或2023... 南开大学专业排名最新或2023(历届)招生优势专业南开大学各专业排名是多少? 南开大学的各类专业排名...
最新或2023(历届)六一儿童... 六一儿童节的作文怎样写?下面是小编提供的范文参考:六月一日是我们儿童们的节日,今年的这一天与以往不同...
最新或2023(历届)快乐的六... 【篇一】明天就是六一儿童节了,妈妈特地上新城给我买了转笔刀。我非常喜欢它,因为它是苹果的形状,我最爱...
最新或2023(历届)难忘的六... 篇一:星期五 雷阵雨 5月23日为了让山区的小朋友过一个快乐的“六一”儿童节,我们班组织了捐文具、玩...
最新或2023(历届)六一儿童... Every day looking forward to the "61" Children has...