第 1 章 使用 director Operator 创建和部署 RHOSP overcloud
Red Hat OpenShift Container Platform (RHOCP)使用 Operator 的模块化系统来扩展 RHOCP 集群的功能。Red Hat OpenStack Platform (RHOSP) director Operator (OSPdO)添加了在 RHOCP 中安装和运行 RHOSP 云的功能。OSPdO 管理一组自定义资源定义(CRD),用于部署和管理 RHOSP 节点的基础架构和配置。OSPdO 部署的 RHOSP 云的基本架构包括以下功能:
- 虚拟化 control plane
- Controller 节点是 OSPdO 在 Red Hat OpenShift Virtualization 中创建的虚拟机(VM)。
- 裸机机器置备
- OSPdO 使用 RHOCP 裸机恢复机器管理为 RHOSP 云调配计算节点。
- 网络
- OSPdO 为 RHOSP 服务配置底层网络。
- 基于 Heat 和 Ansible 的配置
-
OSPdO 在 RHOCP 中存储自定义 heat 配置,并使用 director 中的
config-download功能将配置转换为 Ansible playbook。如果您更改了存储的 heat 配置,OSPdO 会自动重新生成 Ansible playbook。 - CLI 客户端
-
OSPdO 创建一个
openstackclientpod,供用户运行 RHOSP CLI 命令并与其 RHOSP 云交互。
您可以使用特定于 OSPdO 的资源来置备 overcloud 基础架构,生成 overcloud 配置并创建 overcloud。要使用 OSPdO 创建 RHOSP overcloud,您必须完成以下任务:
- 在操作 RHOCP 集群上安装 OSPdO。
- 为基础操作系统创建 RHOCP 集群数据卷,并为远程 Git 存储库添加身份验证详细信息。
-
使用
OpenStackNetConfigCRD 创建 overcloud 网络,包括 control plane 和任何隔离的网络。 -
创建 ConfigMap以存储 overcloud 的任何自定义 heat 模板和环境文件。 - 创建一个 control plane,其中包含 Controller 节点的三个虚拟机,以及一个 pod 来执行客户端操作。
- 创建裸机 Compute 节点。
-
创建
OpenStackConfigGenerator自定义资源,以便为 overcloud 配置呈现 Ansible playbook。 -
使用
openstackdeploy将 Ansible playbook 配置应用到 overcloud 节点。
1.1. director Operator 的自定义资源定义 复制链接链接已复制到粘贴板!
Red Hat OpenStack Platform (RHOSP) director Operator (OSPdO)包括一组可用于管理 overcloud 资源的自定义资源定义(CRD)。
使用以下命令查看 OSPdO CRD 的完整列表:
oc get crd | grep "^openstack"
$ oc get crd | grep "^openstack"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令查看特定 CRD 的定义:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令查看可用于配置特定 CRD 的字段的描述:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OSPdO 包括两种类型的 CRD:硬件配置和软件配置。
硬件置备 CRD
openstacknetattachment(内部)-
OSPdO 用来管理
NodeNetworkConfigurationPolicy和NodeSriovConfigurationPolicyCRD,它们用于将网络附加到虚拟机(VM)。 openstacknetconfig-
用于指定描述完整网络配置的
和 openstacknet CRD。每个节点的保留 IP 和 MAC 地址集合反映在状态中。openstacknetattachment openstackbaremetalset- 用于为特定 RHOSP 角色创建一组裸机主机,如 "Compute" 和 "Storage"。
openstackcontrolplane-
使用 创建 RHOSP control plane 并管理关联的
openstackvmsetCR。 openstacknet(内部)-
使用 创建用于将 IP 分配给
openstackvmset和openstackbaremetalsetCR 的网络。 openstackipset(内部)- 包含给定网络和角色的一组 IP。OSPdO 用来管理 IP 地址。
openstackprovisionservers- 使用 提供自定义镜像,以使用 Metal3 置备裸机节点。
openstackvmset- 用于为特定 RHOSP 角色创建一组 OpenShift Virtualization 虚拟机,如 "Controller"、"Database" 或 "NetworkController"。
软件配置 CRD
openstackconfiggenerator-
在扩展或更改自定义
ConfigMap时,使用 自动生成用于部署的 Ansible playbook。 openstackconfigversion- 使用 代表一组可执行 Ansible playbook。
openstackdeploy-
使用 执行
openstackconfigversionCR 中定义的 Ansible playbook 集合。 openstackclient- 创建用于运行 RHOSP 部署命令的 pod。