第 10 章 部署多个 overcloud
该功能在此发行版本中作为技术预览提供,因此不享有红帽的全面支持。它只应用于测试,不应部署在生产环境中。有关技术预览功能的更多信息,请参阅覆盖范围详细信息。
您可以使用一个 undercloud 节点部署并管理多个 overcloud。每个 overcloud 都是唯一的 heat 栈,不共享堆栈资源。如果环境中 undercloud 和 overcloud 的比率为 1:1 时会造成无法管理的 overclound 数量时,可以使用该方法。例如,Edge、多站点和多产品环境。
多个 overcloud 部署中的 overcloud 环境是完全独立的,您可以使用 source
命令在环境之间进行切换。每个 overcloud 都有一个唯一的凭据文件,它由部署过程创建。要与 overcloud 交互,您必须提供适当的凭据文件。
如果将裸机置备服务(ironic)用于裸机置备,则所有 overcloud 必须位于同一置备网络中。如果无法使用同一置备网络,则可使用部署的服务器方法使用路由的网络部署多个 overcloud。在这种情况下,您必须确保 HostnameMap
参数中的值与每个 overcloud 的堆栈名称匹配。
要在单个 undercloud 上部署多个 overcloud,您必须执行以下任务:
- 部署 undercloud。如需更多信息,请参阅 section I. Director 安装和配置。
- 部署第一个 overcloud。如需更多信息,请参阅 合作伙伴 II。基本的 overcloud 部署。
-
通过为新 overcloud 创建新的环境文件,并在部署命令中指定核心 heat 模板以及新的配置文件和新堆栈
名称来
部署额外的 overcloud。
10.1. 部署额外 overcloud 复制链接链接已复制到粘贴板!
您可以在单个 undercloud 上部署多个 overcloud。以下流程演示了如何在现有 overcloud ( overcloud-one
)的现有 Red Hat OpenStack Platform (RHOSP)部署中创建和部署新的 overcloud-two
。
先决条件
- undercloud。
- 一个或多个 overcloud。
- 可用于额外 overcloud 的节点。
- 为额外 overcloud 自定义网络,使得每个 overcloud 在生成的堆栈中都有唯一的网络。
步骤
-
以
stack
用户身份登录 undercloud 主机。 查找
stackrc
undercloud 凭证文件:source ~/stackrc
$ source ~/stackrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为您想部署的额外 overcloud 创建新目录:
mkdir ~/overcloud-two
(undercloud)$ mkdir ~/overcloud-two
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
network_data.yaml
文件从现有 overcloud 复制到额外 overcloud 的新目录中:cp network_data.yaml ~/overcloud-two/network_data.yaml
(undercloud)$ cp network_data.yaml ~/overcloud-two/network_data.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 打开
~/overcloud-two/network_data.yaml
文件,并将name_lower
更新至额外 overcloud 网络的唯一名称:- name: InternalApi name_lower: internal_api_cloud_2 ...
- name: InternalApi name_lower: internal_api_cloud_2 ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加
service_net_map_replace
(如果不存在),并将值设为额外 overcloud 网络的默认值:- name: InternalApi name_lower: internal_api_cloud_2 service_net_map_replace: internal_api
- name: InternalApi name_lower: internal_api_cloud_2 service_net_map_replace: internal_api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定额外 overcloud 上每个子网的 VLAN ID:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定
overcloud-two
外部网络网关的 IP 地址:- name: External ... gateway_ip: <ip_address> ...
- name: External ... gateway_ip: <ip_address> ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<ip_address
> 替换为overcloud-two
外部网络网关的 IP 地址,例如10.0.10.1
。
-
将
-
为额外 overcloud 创建网络配置文件,该文件会覆盖
/usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml
文件中提供的默认隔离网络配置,如network_overrides.yaml
。 打开
~/overcloud-two/network_overrides.yaml
文件,并添加overcloud-two
DNS 服务器的 IP 地址:parameter_defaults: ... DnsServers: - <ip_address> ...
parameter_defaults: ... DnsServers: - <ip_address> ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<ip_address
> 替换为overcloud-two
DNS 服务器的 IP 地址,例如10.0.10.2
。
-
将
如果您的部署使用可预测的 IP 地址,请在新的网络 IP 地址映射文件
ips-from-pool-
IP 地址:overcloud-two
.yaml 中为 overcloud-two 节点配置Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用其他环境文件将
overcloud-two
环境文件添加到堆栈中,并部署额外的 overcloud:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 部署过程创建
overcloud-tworc
,用于与overcloud-two
交互。要与其他 overcloud 交互,请提供 overcloud 凭证文件:
source overcloud-tworc
$ source overcloud-tworc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow