第 3 章 使用主机组
主机组充当常见主机设置的模板。除了为每个主机单独定义设置外,使用主机组定义一次常见设置并将其应用到多个主机。
3.1. 主机组设置和嵌套主机组 复制链接链接已复制到粘贴板!
主机组可以为主机定义许多设置,如生命周期环境、内容视图或主机可用的 Ansible 角色。
当您更改现有主机组的设置时,新设置不会传播到分配给主机组的主机。在主机组中更改后,只有 Puppet 类设置会在主机上更新。
您可以创建主机组的层次结构。目的是拥有一个基础级主机组,它代表您机构中的所有主机,并提供常规设置,然后嵌套提供特定设置的组。
在嵌套主机组时,Satellite 会按照以下顺序应用主机设置:
- 主机设置优先于主机组设置。
- 嵌套式主机组设置优先于父主机组设置。
例 3.1. 嵌套式主机组层次结构
您要创建一个名为 Base 的顶级主机组,以及两个名为 Webserver 和 Storage 的嵌套式主机组。嵌套式主机组与多个主机关联。您还创建与任何主机组不关联的主机 custom.example.com。
您可以在嵌套主机组(Webservers 和 Storage)上的顶级主机组(Base)和 Ansible 角色上定义操作系统。
| 顶级主机组 | 嵌套主机组 | 主机 | 从主机组继承的设置 |
|---|---|---|---|
| Base
这个主机组应用 | webservers
此主机组应用 | webserver1.example.com | 主机使用以下设置:
|
| webserver2.example.com | |||
| Storage
此主机组应用 | storage1.example.com | 主机使用以下设置:
| |
| storage2.example.com | |||
| [no 主机组] | custom.example.com | 没有从主机组继承的设置。 | |
例 3.2. 嵌套式主机组设置
您要创建一个名为 Base 的顶级主机组,以及两个名为 Webserver 和 Storage 的嵌套式主机组。您还可以创建与顶级主机组 Base 关联的主机 custom.example.com,但没有嵌套的主机组。
您可以在顶级主机组(Base)和嵌套主机组(Webserver 和 Storage)上为操作系统和 Ansible 角色设置定义不同的值。
| 顶级主机组 | 嵌套主机组 | 主机 | 从主机组继承的设置 |
|---|---|---|---|
| Base 此主机组应用这些设置:
| webservers 此主机组应用这些设置:
| webserver1.example.com | 主机使用以下设置:
|
| webserver2.example.com | |||
| Storage 此主机组应用这些设置:
| storage1.example.com | 主机使用以下设置:
| |
| storage2.example.com | |||
| [no nested host group] | custom.example.com | 主机使用以下设置:
|