type
status
date
slug
summary
tags
category
icon
password
书籍

Ansible 主机清单入门


1. 什么是主机清单?

  • 主机清单是一个文件,用来告诉 Ansible 要管理哪些主机(服务器),以及如何对它们分类。
  • 主机可以被放进不同的“组”里,方便管理。

2. 主机清单的两种写法

  • 静态清单:手动写好的清单,像文本文件一样。
  • 动态清单:自动生成的清单,可以从云服务或其他地方获取最新的主机信息。

3. 简单的主机清单

  • 最简单的清单就是ini文件一行一个主机名或 IP 地址:
    • 这就是告诉 Ansible 要管理这些主机。

    4. 主机分组

    • 我们可以把主机分成组,比如“web 服务器组”和“数据库服务器组”:
      • 这样,你可以对 webservers 组里的所有主机做某些操作,也可以单独操作 db-servers 里的主机。

      5. 一台主机可以属于多个组

      • 你可以根据主机的用途、位置等,把一台主机放到多个组里:
        • 比如 web1.example.com 既是 webservers 组的一员,也是 east-datacenterproduction 组的一员。

        6. 默认组

        • all:所有主机默认都属于 all 组。
        • ungrouped:那些没有分配进任何组的主机会自动放进这个组。

        7. 嵌套分组

        • 你可以在一个组里再嵌套其他组,形成分层结构:
          • 这里,north-america 包含 usacanada 两个组,每个组里面有具体的主机。

          8. 主机范围表示

          • 你可以用 [START:END] 的形式表示一系列连续的主机或 IP 地址:
            • 这表示从 server01server20,或者从 192.168.4.0192.168.7.255 的所有地址。

            9. 验证清单

            列出特定主机配置清单

            • 可以用命令来检查你的清单是否正确:
              • 解析:

              • ansible-navigator:这是 Ansible 的一个工具,提供了一个命令行界面来管理和使用 Ansible。
              • inventory:表示要操作的是 Ansible 的主机清单(inventory)。
              • m stdout:指定输出模式为标准输出(stdout),即将结果打印到终端屏幕。
              • -host washington1.example.com:指定要查询的主机名为 washington1.example.com
              • 好的,这里是简洁的总结:

                1. 主机存在但没有清单配置

              • 输出
                • 意思:找到了主机,但没有任何配置。

                • 2. 主机不存

                • 输出
                  • 意思:找不到主机,可能是拼写错误或未在清单中定义。

                列出配置清单

                命令

                功能

                • 列出 Ansible 的配置清单,包括所有主机和组的详细信息。

                解析

                • -list:列出所有定义的主机和组,输出格式为 JSON。

                输出

                • 输出将显示清单中所有主机和组的结构及其属性,格式通常为 JSON。
                 

                显示特定组的结构图

                命令

                功能

                • 显示 Ansible 清单中特定组(如 canada)的结构图。

                解析

                • -graph:以图形化形式展示指定组的结构。
                • canada:指定要显示的主机组名。

                输出

                • 输出将以图形化的方式展示 canada 组中的主机及其关系,帮助理解组的结构和包含的主机。

                用途

                • 该命令用于可视化特定组的主机关系,帮助用户快速理解组内主机的配置和层级结构。

                交互浏览清单结构

                命令

                功能

                • 浏览 Ansible 清单中的组和主机,查看其详细信息。

                输出示例

                当执行该命令时,您将看到以下选项:
                • Title:标题栏,显示当前功能。
                • Description:描述当前选项的功能。
                • 选项
                    1. Browse Groups:浏览每个清单组及其成员。按0
                    1. Browse Hosts:浏览清单中所有主机的列表。按1

                示例输出

                组名示例

                • canada:属于 all 组,类型为 group
                • ungrouped:属于 all 组,类型为 group
                • usa:属于 all 组,类型为 group

                操作

                • ESC 键返回到主菜单或退出。

                10.Ansible 清单覆盖与动态清单笔记

                1. 覆盖清单的位置

                默认位置

                • Ansible 默认的主机清单文件位置:

                  自定义位置

                  • 可以通过指定其他路径来使用不同的清单文件。
                  • 使用命令行选项:
                    • PATHNAME:自定义清单文件的路径。

                  2. 动态清单

                  概念

                  • 动态清单根据实时数据生成清单,而非依赖静态文件。

                  功能

                  • 动态清单脚本可以与多个服务交互,如:
                    • 红帽卫星服务器
                    • Amazon EC2 账户

                  优势

                  • 动态清单能够在新主机添加或旧主机移除时,自动更新清单,确保信息的实时性。

                  注意事项

                  • 本节未详细讨论如何使用动态清单。
                  疑问:
                  实时信息?解释主机名字改了,动态清单里面的主机名字也会改? 是的。

                  练习:

                  构建Ansible清单

                  主机名称
                  用途
                  位置
                  环境
                  servera.lab.example.com
                  webservers
                  raleigh
                  development
                  serverb.lab.example.com
                  webservers
                  raleigh
                  testing
                  serverc.lab.example.com
                  webservers
                  mountainview
                  production
                  serverd.lab.example.com
                  webservers
                  london
                  production

                  list:

                  相关文章
                  RHCE 9版本考试资料
                  Lazy loaded image
                  40.总复习-4 实验手册:galaxy角色配置与部署
                  Lazy loaded image
                  39.总复习-3 实验手册:配置 RHEL 系统角色和用户管理
                  Lazy loaded image
                  38.总复习-2 实验手册:Ansible Web 服务器配置和测试
                  Lazy loaded image
                  37.总复习-1 实验手册:配置和运行Ansible脚本
                  Lazy loaded image
                  36:总复习
                  Lazy loaded image
                  03:实施Playbook-2 管理Ansible配置文件01:Ansible概要
                  Loading...
                  みなみ
                  みなみ
                  一个普通的干饭人🍚
                  最新发布
                  第1回:イントロダクション
                  2025-4-21
                  TOKYO自習島
                  2025-4-21
                  第1回:イントロダクション
                  2025-4-18
                  第1回:オリエンテーション/意思決定と会計情報
                  2025-4-18
                  建物業法の基本と免許-59問
                  2025-4-10
                  宅建士过去问速刷:小南小白陪你拿证-001
                  2025-4-7
                  公告

                  🎉 欢迎访问我的博客 🎉

                  🙏 感谢您的支持 🙏

                  📅 本站自 2024年9月1日 建立,致力于分享我在 IT・MBA・不动产中介 等领域的学习与实践经验,并推动 线上线下学习会 的自主开展。

                  📚 主要内容

                  💻 IT・系统与开发

                  • 系统管理:Red Hat 等
                  • 容器与编排:Kubernetes、OpenShift
                  • 云计算:AWS、IBM Cloud
                  • AI 入门:人工智能基础与实践
                  • 技术笔记与考证经验

                  🏠 不动产 × 宅建士

                  • 宅建士考试笔记

                  🎓 MBA 学习笔记

                  • 管理学、经济学、财务分析等

                  🔍 快速查找内容(标签分类)

                  由于网站目前没有专门的设计,可能会导致查找信息不便。为了更快找到你感兴趣的内容,推荐使用以下标签功能 进行搜索!
                  📌 定期更新,欢迎常来看看!
                  📬 有任何建议或想法,也欢迎留言交流!