2.7. 创建主机组
如果您创建大量主机,则许多主机都可以具有共同的设置和属性。为每个新主机添加这些设置和属性非常耗时。如果使用主机组,您可以将常见属性应用到您创建的主机。
主机组作为常见主机设置的模板,包含您提供给主机的许多相同详细信息。使用主机组创建主机时,主机将从主机组中继承定义的设置。然后您可以为主机提供额外的详情。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
主机组层次结构
您可以创建主机组的层次结构。目的是具有一个代表机构中所有主机的基本级别主机组,并提供常规设置,然后嵌套组以提供特定的设置。例如,您可以有一个用来定义操作系统的基本级别主机组,以及继承基本级别主机组的两个嵌套式主机组:
Hostgroup:
Base
(Red Hat Enterprise Linux 7.6)Hostgroup:
Webserver
(应用nginx
Puppet 类)-
Host:
webserver1.example.com
(web server) -
主机:
webserver2.example.com
(Web 服务器)
-
Host:
hostgroup:
存储
(应用nfs
Puppet 类)-
Host:
storage1.example.com
(storage server) -
Host:
storage2.example.com
(storage server)
-
Host:
-
host :
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_"