2.7. 创建主机组
如果您创建大量主机,则许多主机都可以具有通用的设置和属性。为每个新主机添加这些设置和属性是耗时的。如果使用主机组,您可以将通用属性应用到您创建的主机。
主机组充当常见主机设置的模板,包含您提供给主机的许多相同详情。当您使用主机组创建主机时,主机会从主机组继承定义的设置。然后,您可以提供额外的详细信息来个性化主机。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
主机组层次结构
您可以创建主机组的层次结构。目的是提供一个基本级别主机组,它代表您组织中的所有主机并提供常规设置,然后嵌套组来提供特定的设置。例如,您可以有一个基本级别主机组来定义操作系统,以及继承基本级别主机组的两个嵌套主机组:
hostgroup:
Base
(Red Hat Enterprise Linux 8.8)hostgroup:
Webserver
(应用nginx
Puppet 类)-
主机:
webserver1.example.com
(Web 服务器) -
主机:
webserver2.example.com
(Web 服务器)
-
主机:
hostgroup:
存储
(适用于nfs
Puppet 类)-
主机:
storage1.example.com
(存储服务器) -
主机:
storage2.example.com
(存储服务器)
-
主机:
-
主机:
custom.example.com
(自定义主机)
在本例中,所有主机都使用 Red Hat Enterprise Linux 7.6 作为其操作系统,因为它们对 基本
主机组的继承。两个 Web 服务器主机继承 Webserver
主机组中的设置,其中包括 nginx
Puppet 类和 Base
主机组中的设置。这两个存储服务器从 Storage
主机组继承设置,其中包括 nfs
Puppet 类以及 Base
主机组中的设置。自定义主机仅继承 Base
主机组中的设置。
流程
- 在 Satellite Web UI 中,导航到 Configure > Host Groups,再点 Create Host Group。
- 如果您有一个要从中继承属性的现有主机组,您可以从 Parent 列表中选择一个主机组。如果没有,请将此字段留空。
- 输入新 主机组的名称。
- 输入您希望将来的主机继承的任何其他信息。
- 单击 Ansible Roles 选项卡,然后从 Ansible Roles 列表中选择您要添加到主机的一个或多个角色。使用 箭头图标 管理添加或删除的角色。
单击附加选项卡,并将您要属性的任何详细信息添加到主机组中。
注意Puppet 在将主机注册到与
Production
环境中创建的 Puppet 环境关联的主机组时,无法检索 Puppet CA 证书。要创建与主机组关联的适当 Puppet 环境,请手动创建目录:
# mkdir /etc/puppetlabs/code/environments/example_environment
- 单击 Submit 以保存主机组。
CLI 过程
使用
hammer hostgroup create
命令创建主机组。例如:# hammer hostgroup create --name "Base" \ --architecture "My_Architecture" \ --content-source-id _My_Content_Source_ID_ \ --content-view "_My_Content_View_" \ --domain "_My_Domain_" \ --lifecycle-environment "_My_Lifecycle_Environment_" \ --locations "_My_Location_" \ --medium-id _My_Installation_Medium_ID_ \ --operatingsystem "_My_Operating_System_" \ --organizations "_My_Organization_" \ --partition-table "_My_Partition_Table_" \ --puppet-ca-proxy-id _My_Puppet_CA_Proxy_ID_ \ --puppet-environment "_My_Puppet_Environment_" \ --puppet-proxy-id _My_Puppet_Proxy_ID_ \ --root-pass "My_Password" \ --subnet "_My_Subnet_"