2.8. 创建主机组
如果您创建了大量主机,则很多主机都有通用设置和属性。为每个新主机添加这些设置和属性非常耗时。如果使用主机组,您可以将通用属性应用到您创建的主机。
主机组作为常见主机设置的模板,包含提供给主机的许多相同详细信息。使用主机组创建主机时,主机将继承主机组中的定义的设置。然后,您可以为单个主机提供附加详情。
要使用 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:
Storage
(应用nfs
Puppet 类)-
主机:
storage1.example.com
(存储服务器) -
主机:
storage2.example.com
(存储服务器)
-
主机:
-
主机:
custom.example.com
(自定义主机)
在本例中,所有主机都使用 Red Hat Enterprise Linux 7.6 作为其操作系统,因为它们继承了 Base
主机组。两个 Web 服务器主机从 Webserver
主机组继承设置,其中包括 nginx
Puppet 类以及来自 Base
主机组中的设置。两个存储服务器从 Storage
主机组继承设置,其中包括 nfs
Puppet 类以及 Base
主机组中的设置。自定义主机仅继承 Base
主机组的设置。
流程
- 在 Satellite Web UI 中,进入到 Configure > Host Groups 并点 Create Host Group。
- 如果您有一个要从中继承属性的现有主机组,您可以从 Parent 列表中选择主机组。如果没有,请将此字段留空。
- 输入新主机组的 Name。
- 输入您希望将来的主机继承的任何更多信息。
- 单击 Ansible Roles 选项卡,然后从 Ansible Roles 列表中选择您要添加到主机的一个或多个角色。使用 箭头图标 管理您添加或删除的角色。
点附加选项卡,并将您要属性的任何详情添加到主机组中。
注意在注册与
生产
环境中创建的 Puppet 环境关联的主机组时,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_"