1.3. director Operator 的自定义资源定义
director Operator 包含一组可用于管理 overcloud 资源的自定义资源定义(CRD)。CRD 有两种类型:硬件置备和软件配置。
硬件置备 CRD
openstacknetattachment
(内部)- 管理 NodeNetworkConfigurationPolicy 和 NodeSriovConfigurationPolicy,用于将网络附加到虚拟机
openstacknetconfig
- 高级别 CRD 以指定 openstacknetattachments 和 openstacknets 来描述完整的网络配置。每个节点的保留 IP/MAC 地址集合反映在状态中。
openstackbaremetalset
- 为特定 TripleO 角色创建一组裸机主机(Compute、Storage 等)
openstackcontrolplane
- 用于创建 OpenStack control plane 和管理关联的 openstackvmsets 的 CRD
openstacknet
(内部)- 创建用于为 vmset 和 baremetalset 资源分配 IP 的网络
openstackipset
(内部)- 包含用于给定网络和角色的一组 IP。内部用于管理 IP 地址。
openstackprovisionservers
- 用于为使用 Metal3 进行裸机置备提供自定义镜像
openstackvmset
- 使用 OpenShift Virtualization 创建一组特定 TripleO 角色(Controller、数据库、NetworkController 等)
软件配置 CRD
openstackconfiggenerator
- 当您扩展或对自定义 ConfigMap 进行修改以进行部署时自动为部署生成 Ansible playbook
openstackconfigversion
- 代表一组可执行 Ansible playbook
openstackdeploy
- 执行一组 Ansible playbook (openstackconfigversion)
openstackclient
- 创建用于运行 TripleO 部署命令的 pod
查看 director Operator CRD
使用
oc get crd
命令查看这些 CRD 列表:$ oc get crd | grep "^openstack"
使用
oc describe crd
命令查看特定 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 ...
CRD 命名惯例
每个 CRD 在 spec.names
部分包含多个名称。根据您的操作上下文使用这些名称:
在创建和与资源清单交互时,请使用
kind
:apiVersion: osp-director.openstack.org/v1beta1 kind: OpenStackBaremetalSet ....
资源清单中的
kind
名称与对应 CRD 中的kind
名称相关联。与多个资源交互时,请使用
复数
:$ oc get openstackbaremetalsets
与单个资源进行交互时使用
singular
$ oc describe openstackbaremetalset/compute
对于任何 CLI 互动,使用
shortName
:$ oc get osbmset
其他资源