3.7. 配置 director
director 的安装过程需要特定的设置来决定您的网络配置。这些设置保存在
stack
用户的家目录中的一个模板中(undercloud.conf
)
红帽会提供一个基本的模板来帮助您设置安装所需的配置。把这个模板复制到
stack
用户的家目录中:
$ cp /usr/share/instack-undercloud/undercloud.conf.sample ~/undercloud.conf
这个基本的模板包括以下参数:
- image_path
- 指定到用于实施角色的镜像的路径。它的值被设为
stack
用户的images
:/home/stack/images
- local_ip
- director 的 Provisioning NIC 的 IP 地址。它同时还是 director 用来作为它的 DHCP 和 PXE 引导服务的 IP 地址。除非您需要为 Provisioning 网络使用不同的子网(比如,因为默认值和存在的 IP 地址或环境中的其它子网冲突),请保留使用默认值
192.0.2.1/24
。 - undercloud_public_vip
- director 的 Public API 的 IP 地址。使用 Provisioning 网络中的一个与其它任何 IP 地址或地址范围都不冲突的 IP 地址。
- undercloud_admin_vip
- director 的 Admin API 的 IP 地址。使用 Provisioning 网络中的一个与其它任何 IP 地址或地址范围都不冲突的 IP 地址。
- undercloud_service_certificate
- 用于 OpenStack SSL 通讯的证书的位置和文件名。最理想的情况是从一个信任的证书颁发机构获得这个证书。您也可以使用以下命令生成一个自签发的证书:
$ openssl genrsa -out privkey.pem 2048 $ openssl req -new -x509 -key privkey.pem -out cacert.pem -days 365 $ cat cacert.pem privkey.pem > undercloud.pem
这会创建一个undercloud.pem
文件来和undercloud_service_certificate
选项一起使用。另外,这个文件还需要一个特殊的 SELinux context,从而使 HAProxy 工具可以读取它。请参照以下示例:$ sudo mkdir /etc/pki/instack-certs $ sudo cp ~/undercloud.pem /etc/pki/instack-certs/. $ sudo semanage fcontext haproxy_t /etc/pki/instack-certs/* $ sudo restorecon -R /etc/pki/instack-certs
- local_interface
- 指定 director 的 Provisioning NIC 的接口。它同时还是 director 用来作为它的 DHCP 和 PXE 引导服务的设备。把这个项的值改为您需要使用的值。使用
ip addr
命令可以查看连接了哪些设备。以下是一个ip addr
命令的结果输出示例:2: eth0: <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 eth0 valid_lft 3462sec preferred_lft 3462sec inet6 fe80::5054:ff:fe75:2409/64 scope link valid_lft forever preferred_lft forever 3: eth1: <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 使用eth0
,Provisioning NIC 使用eth1
(当前没有被配置)。在这种情况下,把local_interface
设置为eth1
。配置脚本会把这个接口附加到一个自定义的网桥(由discovery_interface
参数定义)上。 - masquerade_network
- 定义用于外部访问的网络伪装。这为 Provisioning 网络提供了一定程度的网络地址转换(network address translation,简称 NAT)功能,从而可以通过 director 实现外部访问。除非 Provisioning 网络使用了不同的子网,请保留使用默认的值(
192.0.2.0/24
)。 - dhcp_start, dhcp_end
- Overcloud 节点的 DHCP 分配范围的开始值和终止值。请确保这个范围可以为您的节点提供足够的 IP 地址。
- network_cidr
- director 用来管理 Overcloud 实例的网络,它是 Provisioning 网络。除非您的 Provisioning 网络使用了不同的子网,保留使用默认值(
192.0.2.0/24
)。 - network_gateway
- Overcloud 实例的网关。它是发现主机(discovery host),会把网络流量转发到 External 网络。除非您的 director 使用不同的 IP 地址,或直接使用一个外部网关,请保留使用默认的值(
192.0.2.1
)。 - discovery_interface
- director 用来进行节点发现的网桥。这是 director 配置创建的一个自定义网桥。
LOCAL_INTERFACE
会附加到这个网桥。请保留使用默认的值(br-ctlplane
)。 - discovery_iprange
- 在 PXE 引导和部署过程中,director 发现服务使用的 IP 地址范围。使用逗号分隔范围的起始值和终止值。例如,
192.0.2.100,192.0.2.120
。请确保这个范围有足够的 IP 地址,并和dhcp_start
与dhcp_end
指定的范围不冲突。 - discovery_runbench
- 在节点发现过程中运行一组基准数据。把它设为
1
来启用这个功能。如果您需要在检查注册节点的硬件时执行基准数据分析操作,可以使用这个选项。详情请参阅 第 6.3.3 节 “使用自动健康检查(Automated Health Check,简称 AHC)工具自动为节点加标签”。 - undercloud_debug
- 把 Undercloud 服务的日志级别设置为
DEBUG
。把它设为true
来启用它。 - undercloud_db_password, undercloud_admin_token, undercloud_admin_password, undercloud_glance_password, 等等
- 剩下的参数用来定义 director 服务的访问信息。我们推荐您把这些参数的值保留为空,director 的配置脚本会自动产生这些值。在配置脚本完成后,您可以获得这些值。
根据您的网络的具体情况修改这些参数的值。完成后,保存这个文件并运行以下命令:
$ openstack undercloud install
这会启动 director 的配置脚本。director 会安装额外的软件包,并把它的服务配置为和
undercloud.conf
中的设置相符合的情况。这个脚本会需要一些时间来完成。
完成后,配置脚本会产生两个文件:
undercloud-passwords.conf
- director 服务的所有密码列表。stackrc
- 用来访问 director 命令行工具的一组初始变量。
运行以下命令初始化
stack
用户来使用命令行工具:
$ source ~/stackrc
您现在可以使用 director 的命令行工具了。