第 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 创建一个 openstackclient pod,供用户运行 RHOSP CLI 命令并与其 RHOSP 云交互。

您可以使用特定于 OSPdO 的资源来置备 overcloud 基础架构,生成 overcloud 配置并创建 overcloud。要使用 OSPdO 创建 RHOSP overcloud,您必须完成以下任务:

  1. 在操作 RHOCP 集群上安装 OSPdO。
  2. 为基础操作系统创建 RHOCP 集群数据卷,并为远程 Git 存储库添加身份验证详细信息。
  3. 使用 OpenStackNetConfig CRD 创建 overcloud 网络,包括 control plane 和任何隔离的网络。
  4. 创建 ConfigMap 以存储 overcloud 的任何自定义 heat 模板和环境文件。
  5. 创建一个 control plane,其中包含 Controller 节点的三个虚拟机,以及一个 pod 来执行客户端操作。
  6. 创建裸机 Compute 节点。
  7. 创建 OpenStackConfigGenerator 自定义资源,以便为 overcloud 配置呈现 Ansible playbook。
  8. 使用 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"
    Copy to Clipboard Toggle word wrap
  • 使用以下命令查看特定 CRD 的定义:

    $ oc describe crd openstackbaremetalset
    Name:         openstackbaremetalsets.osp-director.openstack.org
    Namespace:
    Labels:       operators.coreos.com/osp-director-operator.openstack=
    Annotations:  cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME)
                  controller-gen.kubebuilder.io/version: v0.3.0
    API Version:  apiextensions.k8s.io/v1
    Kind:         CustomResourceDefinition
    ...
    Copy to Clipboard Toggle word wrap
  • 使用以下命令查看可用于配置特定 CRD 的字段的描述:

    $ oc explain openstackbaremetalset.spec
    KIND:     OpenStackBaremetalSet
    VERSION:  osp-director.openstack.org/v1beta1
    
    RESOURCE: spec <Object>
    
    DESCRIPTION:
         <empty>
    
    FIELDS:
       count                <Object>
       baseImageUrl         <Object>
       deploymentSSHSecret  <Object>
       ctlplaneInterface    <Object>
       networks             <[]Object>
       ...
    Copy to Clipboard Toggle word wrap

OSPdO 包括两种类型的 CRD:硬件配置和软件配置。

硬件置备 CRD

openstacknetattachment (内部)
OSPdO 用来管理 NodeNetworkConfigurationPolicyNodeSriovConfigurationPolicy CRD,它们用于将网络附加到虚拟机(VM)。
openstacknetconfig
用于指定描述完整网络配置的 openstacknet attachment 和 openstacknet CRD。每个节点的保留 IP 和 MAC 地址集合反映在状态中。
openstackbaremetalset
用于为特定 RHOSP 角色创建一组裸机主机,如 "Compute" 和 "Storage"。
openstackcontrolplane
使用 创建 RHOSP control plane 并管理关联的 openstackvmset CR。
openstacknet (内部)
使用 创建用于将 IP 分配给 openstackvmsetopenstackbaremetalset CR 的网络。
openstackipset (内部)
包含给定网络和角色的一组 IP。OSPdO 用来管理 IP 地址。
openstackprovisionservers
使用 提供自定义镜像,以使用 Metal3 置备裸机节点。
openstackvmset
用于为特定 RHOSP 角色创建一组 OpenShift Virtualization 虚拟机,如 "Controller"、"Database" 或 "NetworkController"。

软件配置 CRD

openstackconfiggenerator
在扩展或更改自定义 ConfigMap 时,使用 自动生成用于部署的 Ansible playbook。
openstackconfigversion
使用 代表一组可执行 Ansible playbook。
openstackdeploy
使用 执行 openstackconfigversion CR 中定义的 Ansible playbook 集合。
openstackclient
创建用于运行 RHOSP 部署命令的 pod。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat