3.2. Director 配置参数
以下列表包含用于配置 undercloud.conf
文件的参数的相关信息。将所有参数保留在相关部分内以避免出错。
您至少必须将 container_images_file
参数设置为包含容器镜像配置的环境文件。如果没有将此参数正确设置为适当的文件,则 director 无法从 ContainerImagePrepare
参数获取容器镜像规则集,也无法从 ContainerImageRegistryCredentials
参数获取容器 registry 身份验证详情。
默认值
以下参数会在 undercloud.conf
文件的 [DEFAULT]
部分中进行定义:
- additional_architectures
overcloud 支持的附加(内核)架构的列表。目前,除了默认的
x86_64
架构外,overcloud 还支持ppc64le
架构。注意当启用对 ppc64le 的支持时,还必须将
ipxe_enabled
设置为False
。有关使用多个 CPU 架构配置 undercloud 的更多信息,请参阅 配置多个 CPU 架构 overcloud。- certificate_generation_ca
-
为所请求证书签名的 CA 的
certmonger
别名。仅在设置了generate_service_certificate
参数的情况下使用此选项。如果您选择local
CA,certmonger 会将本地 CA 证书提取到/etc/pki/ca-trust/source/anchors/cm-local-ca.pem
并将该证书添加到信任链中。 - clean_nodes
- 确定是否在部署之间和内省之后擦除硬盘。
- cleanup
-
删除临时文件。把它设置为
False
以保留部署期间使用的临时文件。如果出现错误,临时文件可帮助您调试部署。 - container_cli
-
用于容器管理的 CLI 工具。将此参数设置为
podman
。Red Hat Enterprise Linux 8.4 仅支持podman
。 - container_healthcheck_disabled
-
禁用容器化服务运行状况检查。红帽建议您启用运行状况检查,并将此选项设置为
false
。 - container_images_file
含有容器镜像信息的 Heat 环境文件。此文件可能包含以下条目:
- 所有需要的容器镜像的参数
-
ContainerImagePrepare
参数(用于推动必要的镜像准备)。通常,含有此参数的文件被命名为containers-prepare-parameter.yaml
。
- container_insecure_registries
-
供
podman
使用的不安全 registry 列表。如果您想从其他来源(如私有容器 registry)拉取镜像,则使用此参数。在大多数情况下,如果在 Satellite 中注册了 undercloud,podman
就有从 Red Hat Container Catalog 或 Satellite Server 拉取容器镜像的证书。 - container_registry_mirror
-
配置的
podman
使用的可选registry-mirror
。 - custom_env_files
- 要添加到 undercloud 安装中的其他环境文件。
- deployment_user
-
安装 undercloud 的用户。如果此参数保留为不设置,则使用当前的默认用户
stack
。 - discovery_default_driver
-
为自动注册的节点设置默认驱动程序。需要启用
enable_node_discovery
参数,且必须在enabled_drivers
列表中包含驱动程序。 - enable_ironic; enable_ironic_inspector; enable_mistral; enable_nova; enable_tempest; enable_validations; enable_zaqar
-
定义要为 director 启用的核心服务。保留这些参数设为
true
。 - enable_node_discovery
-
自动注册通过 PXE 引导内省虚拟内存盘 (ramdisk) 的所有未知节点。新节点使用
fake
作为默认驱动程序,但您可以设置discovery_default_driver
覆盖它。您也可以使用内省规则为新注册的节点指定驱动程序信息。 - enable_novajoin
-
定义是否在 undercloud 中安装
novajoin
元数据服务。 - enable_routed_networks
- 定义是否支持路由的 control plane 网络。
- enable_swift_encryption
- 定义是否启用 Swift 加密。
- enable_telemetry
-
定义是否在 undercloud 中安装 OpenStack Telemetry 服务(gnocchi、aodh、panko)。如果您想自动安装和配置 telemetry 服务,则将
enable_telemetry
参数设为true
。默认值为false
,即在 undercloud 中禁用 telemetry。如果使用要利用指标数据的其他产品,如 Red Hat CloudForms,则需要这个参数。
每个组件都不支持 RBAC。Alarming 服务(aodh)和 Gnocchi 不考虑安全 RBAC 规则。
- enabled_hardware_types
- 要为 undercloud 启用的硬件类型的列表。
- generate_service_certificate
-
定义 undercloud 安装期间是否生成 SSL/TLS 证书,此证书用于
undercloud_service_certificate
参数。undercloud 安装会保存生成的证书/etc/pki/tls/certs/undercloud-[undercloud_public_vip].pem
。certificate_generation_ca
参数中定义的 CA 将为此证书签名。 - heat_container_image
- 要使用的 heat 容器镜像的 URL。请保留不设置。
- heat_native
-
使用
heat-all
运行基于主机的 undercloud 配置。请保留为true
。 - hieradata_override
-
在 director 上配置 Puppet hieradata 的
hieradata
覆盖文件的路径,为undercloud.conf
参数外的服务提供自定义配置。如果设置此参数,undercloud 安装会将此文件复制到/etc/puppet/hieradata
目录并将其设为层次结构中的第一个文件。有关使用此功能的更多信息,请参阅在 undercloud 上配置 hieradata。 - inspection_extras
-
指定在内省的过程中是否启用额外的硬件集合。此参数在内省镜像上需要
python-hardware
或python-hardware-detect
软件包。 - inspection_interface
-
该 director 用来进行节点内省的网桥。这是 director 配置创建的自定义网桥。
LOCAL_INTERFACE
会附加到这个网桥。请保留使用默认的值(br-ctlplane
)。 - inspection_runbench
-
在节点内省过程中运行一组基准测试。将此参数设为
true
以启用基准测试。如果您需要在检查注册节点的硬件时执行基准数据分析操作,则需要使用这个参数。 - ipa_otp
-
定义在 IPA 服务器注册 undercloud 节点使用的一次性密码。启用
enable_novajoin
之后需要提供此密码。 - ipv6_address_mode
undercloud 置备网络的 IPv6 地址配置模式。以下列表包含这个参数的可能值:
- dhcpv6-stateless - 使用路由器公告 (RA) 的地址配置以及使用 DHCPv6 的可选信息。
- DHCPv6-stateful - 地址配置和使用 DHCPv6 的可选信息。
- ipxe_enabled
-
定义使用 iPXE 还是标准的 PXE。默认为
true
,其启用 iPXE。将此参数设置为false
以使用标准 PXE。对于 PowerPC 部署,或混合了 PowerPC 和 x86 的部署,请将此值设置为false
。 - local_interface
指定 director Provisioning NIC 的接口。这也是该 director 用于 DHCP 和 PXE 引导服务的设备。把这个项的值改为您选择的设备。使用
ip addr
命令可以查看连接了哪些设备。以下是一个ip addr
命令的结果输出示例:2: em0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 52:54:00:75:24:09 brd ff:ff:ff:ff:ff:ff inet 192.168.122.178/24 brd 192.168.122.255 scope global dynamic em0 valid_lft 3462sec preferred_lft 3462sec inet6 fe80::5054:ff:fe75:2409/64 scope link valid_lft forever preferred_lft forever 3: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noop state DOWN link/ether 42:0b:c2:a5:c1:26 brd ff:ff:ff:ff:ff:ff
在这个例子中,External NIC 使用
em0
,Provisioning NIC 使用em1
(当前没有被配置)。在这种情况下,将local_interface
设置为em1
。配置脚本会把这个接口附加到一个自定义的网桥(由inspection_interface
参数定义)上。- local_ip
为 director Provisioning NIC 定义的 IP 地址。这也是 director 用于 DHCP 和 PXE 引导服务的 IP 地址。除非 Provisioning 网络需要使用其他子网(如该 IP 地址与环境中的现有 IP 地址或子网冲突)保留默认值
192.168.24.1/24
。对于 IPv6,本地 IP 地址前缀长度必须是
/64
,以支持有状态和无状态连接。- local_mtu
-
要用于
local_interface
的最大传输单元 (MTU)。对于 undercloud 不要超过 1500。 - local_subnet
-
要用于 PXE 引导和 DHCP 接口的本地子网。
local_ip
地址应该属于这个子网。默认值为ctlplane-subnet
。 - net_config_override
-
网络配置覆盖模板的路径。如果设置此参数,undercloud 将使用 JSON 或 YAML 格式的模板以使用
os-net-config
配置网络,并忽略undercloud.conf
中设置的网络参数。当您要配置绑定或向接口添加一个选项时,请使用此参数。有关自定义 undercloud 网络接口的更多信息,请参阅配置 undercloud 网络接口。 - networks_file
-
覆盖用于
heat
的网络文件。 - output_dir
- 输出状态目录、处理的 heat 模板和 Ansible 部署文件。
- overcloud_domain_name
要在部署 overcloud 时使用的 DNS 域名。
注意配置 overcloud 时,必须将
CloudDomain
参数设置为匹配的值。配置 overcloud 时,在环境文件中设置此参数。- roles_file
- 要用来覆盖用于 undercloud 安装的默认角色文件的角色文件。强烈建议您将此参数保留为不设置,以便 director 安装使用默认的角色文件。
- scheduler_max_attempts
- 调度程序尝试部署实例的次数上限。此值必须大于或等于您期望一次部署的裸机节点数,以避免调度时的潜在争用情形。
- service_principal
- 使用该证书的服务的 Kerberos 主体。仅在您的 CA 需要 Kerberos 主体(如在 FreeIPA 中)时使用此参数。
- subnets
-
用于置备和内省的路由网络子网的列表。默认值仅包括
ctlplane-subnet
子网。如需更多信息,请参阅 子网。 - templates
- 要覆盖的 heat 模板文件。
- undercloud_admin_host
通过 SSL/TLS 为 director Admin API 端点定义的 IP 地址或主机名。director 配置将 IP 地址作为路由的 IP 地址附加到 director 软件网桥,其使用
/32
子网掩码。如果
undercloud_admin_host
不在与local_ip
相同的 IP 网络中,您必须将ControlVirtualInterface
参数设置为您希望 undercloud 上的 admin API 侦听的接口。默认情况下,admin API 侦听br-ctlplane
接口。在自定义环境文件中设置ControlVirtualInterface
参数,并通过配置custom_env_files
参数在undercloud.conf
文件中包含自定义环境文件。有关自定义 undercloud 网络接口的详情,请参考配置 undercloud 网络接口。
- undercloud_debug
-
把 undercloud 服务的日志级别设置为
DEBUG
。将此值设置为true
以启用DEBUG
日志级别。 - undercloud_enable_selinux
-
在部署期间启用或禁用 SELinux。除非调试问题,否则强烈建议保留此值设为
true
。 - undercloud_hostname
- 定义 undercloud 的完全限定主机名。如果设置,undercloud 安装将配置所有系统主机名设置。如果保留未设置,undercloud 将使用当前的主机名,但您必须相应地配置所有主机名设置。
- undercloud_log_file
-
用于存储 undercloud 安装和升级日志的日志文件的路径。默认情况下,日志文件是主目录中的
install-undercloud.log
。例如,/home/stack/install-undercloud.log
。 - undercloud_nameservers
- 用于 undercloud 主机名解析的 DNS 名称服务器列表。
- undercloud_ntp_servers
- 帮助同步 undercloud 日期和时间的网络时间协议服务器列表。
- undercloud_public_host
通过 SSL/TLS 为 director Public API 端点定义的 IP 地址或主机名。director 配置将 IP 地址作为路由的 IP 地址附加到 director 软件网桥,其使用
/32
子网掩码。如果
undercloud_public_host
不在与local_ip
相同的 IP 网络中,您必须将PublicVirtualInterface
参数设置为您希望 undercloud 上公共 API 侦听的公共接口。默认情况下,公共 API 侦听br-ctlplane
接口。在自定义环境文件中设置PublicVirtualInterface
参数,并通过配置custom_env_files
参数在undercloud.conf
文件中包含自定义环境文件。有关自定义 undercloud 网络接口的详情,请参考配置 undercloud 网络接口。
- undercloud_service_certificate
- 用于 OpenStack SSL/TLS 通信的证书的位置和文件名。理想的情况是从一个信任的证书认证机构获得这个证书。否则,生成自己的自签名证书。
- undercloud_timezone
- undercloud 的主机时区。如果未指定时区,director 将使用现有时区配置。
- undercloud_update_packages
- 定义是否在安装 undercloud 期间更新软件包。
子网
每个置备子网在 undercloud.conf
文件中都有一个对应的同名部分。例如,要创建称为 ctlplane-subnet
的子网,在 undercloud.conf
文件中使用以下示例:
[ctlplane-subnet] cidr = 192.168.24.0/24 dhcp_start = 192.168.24.5 dhcp_end = 192.168.24.24 inspection_iprange = 192.168.24.100,192.168.24.120 gateway = 192.168.24.1 masquerade = true
您可以根据自身环境所需来指定相应数量的置备网络。
director 在创建子网后无法更改子网的 IP 地址。
- cidr
-
director 用来管理 overcloud 实例的网络。这是 undercloud
neutron
服务管理的 Provisioning 网络。保留其默认值192.168.24.0/24
,除非您需要 Provisioning 网络使用其他子网。 - masquerade
定义是否伪装
cidr
中定义的用于外部访问的网络。这为 Provisioning 网络提供了网络地址转换(NAT),使 Provisioning 网络能够通过 director 进行外部访问。注意director 配置还使用相关
sysctl
内核参数自动启用 IP 转发。- dhcp_start; dhcp_end
overcloud 节点 DHCP 分配范围的开始值和终止值。确保此范围包含足够的 IP 地址,以分配给您的节点。如果没有为子网指定,director 通过删除为
local_ip
、gateway
、undercloud_admin_host
、undercloud_public_host、undercloud_public_host
以及inspection_iprange
参数的值来确定分配池。您可以通过指定启动和结束地址对列表,为 undercloud control plane 子网配置非持续分配池。另外,您可以使用
dhcp_exclude
选项排除 IP 地址范围中的 IP 地址。例如,以下配置同时创建分配池172.20.0.100-172.20.0.150
和172.20.0.200-172.20.0.250
:选项 1
dhcp_start = 172.20.0.100,172.20.0.200 dhcp_end = 172.20.0.150,172.20.0.250
选项 2
dhcp_start = 172.20.0.100 dhcp_end = 172.20.0.250 dhcp_exclude = 172.20.0.151-172.20.0.199
- dhcp_exclude
DHCP 分配范围中排除的 IP 地址。例如,以下配置排除 IP 地址
172.20.0.105
和 IP 地址范围172.20.0.210-172.20.0.219
:dhcp_exclude = 172.20.0.105,172.20.0.210-172.20.0.219
- dns_nameservers
-
特定于子网的 DNS 名称服务器。如果没有为子网定义名称服务器,子网将使用
undercloud_nameservers
参数中定义的名称服务器。 - gateway
-
overcloud 实例的网关。它是 undercloud 主机,会把网络流量转发到外部网络。保留其默认值
192.168.24.1
,除非您需要 director 使用其他 IP 地址,或想直接使用外部网关。 - host_routes
-
此网络上 overcloud 实例的 Neutron 管理的子网的主机路由。这也为 undercloud 上的
local_subnet
配置主机路由。 - inspection_iprange
-
在检查过程中,此网络上的节点要使用的临时 IP 范围。这个范围不得与
dhcp_start
和dhcp_ end
定义的范围重叠,但必须位于同一个 IP 子网中。
修改这些参数的值以符合您的配置。完成后,请保存文件。