2.2. 自定义资源定义(CRD)
OpenStack Operator 包含一组可用于创建和管理 RHOSP 资源的自定义资源定义(CRD)。
使用以下命令查看 RHOSP CRD 的完整列表:
$ oc get crd | grep "^openstack"
使用以下命令查看特定 CRD 的定义:
$ oc describe crd openstackcontrolplane Name: openstackcontrolplane.openstack.org Namespace: Labels: operators.coreos.com/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 的字段的描述:
$ oc explain openstackcontrolplane.spec KIND: OpenStackControlPlane VERSION: core.openstack.org/v1beta1 RESOURCE: spec <Object> DESCRIPTION: <empty> FIELDS: ceilometer <Object> cinder <Object> dns <Object> extraMounts <[]Object> ...
其他资源
2.2.1. CRD 命名约定
每个 CRD 在 spec.names
部分中包含多个名称。根据操作的上下文使用这些名称:
在创建并与资源清单交互时使用
kind
:apiVersion: core.openstack.org/v1beta1 kind: OpenStackControlPlane ...
资源清单中的
kind
名称与对应 CRD 中的kind
名称关联。与单个资源进行交互时使用
singular
$ oc describe openstackcontrolplane/compute