6.10. Director 配置参数

以下列表包含用于配置 undercloud.conf 文件的参数的相关信息。将所有参数保留在相关部分内以避免出错。

重要

您至少必须将 container_images_file 参数设置为包含容器镜像配置的环境文件。如果没有将此参数正确设置为适当的文件,则 director 无法从 ContainerImagePrepare 参数获取容器镜像规则集,也无法从 ContainerImageRegistryCredentials 参数获取容器 registry 身份验证详情。

默认值

以下参数会在 undercloud.conf 文件的 [DEFAULT] 部分中进行定义:

additional_architectures
overcloud 支持的附加(内核)架构的列表。目前,除了默认的 x86_64 架构外,overcloud 还支持 ppc64le 架构。
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.2 仅支持 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].pemcertificate_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-hardwarepython-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。
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 地址。
dhcp_exclude
DHCP 分配范围中排除的 IP 地址。
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_startdhcp_ end 定义的范围重叠,但必须位于同一个 IP 子网中。