Chapter 2. Planning your deployment
To deploy and operate your Red Hat OpenStack Services on OpenShift (RHOSO) environment, you use the tools and container infrastructure provided by the Red Hat OpenShift Container Platform (RHOCP).
RHOCP uses a modular system of Operators to extend the functions of your RHOCP cluster. The RHOSO OpenStack Operator (openstack-operator
) installs and runs a RHOSO control plane within RHOCP and automates the deployment of a RHOSO data plane. The data plane is the collection of nodes that host RHOSO workloads. The OpenStack Operator prepares the nodes with the operating system configuration that is required to host the RHOSO services and workloads.
The OpenStack Operator manages a set of Custom Resource Definitions (CRDs) that define how you can deploy and manage the infrastructure and configuration of the RHOSO control plane and the data plane nodes. To create a RHOSO cloud with a RHOCP-hosted control plane, you use the OpenStack Operator CRDs to create a set of custom resources (CRs) that configure your control plane and your data plane.
2.1. How to deploy the cloud infrastructure
To create a RHOSO cloud with a RHOCP hosted control plane, you must complete the following tasks:
-
Install OpenStack Operator (
openstack-operator
) on an operational RHOCP cluster. - Provide secure access to the RHOSO services.
- Create and configure the control plane network.
- Create and configure the data plane networks.
- Create a control plane for your environment.
- Customize the control plane for your environment.
- Create and configure the data plane nodes.
- Optional: Configure a storage solution for the RHOSO deployment.
You perform the control plane installation tasks and all data plane creation tasks on a workstation that has access to the RHOCP cluster.
- Install OpenStack Operator (
openstack-operator
) on an operational RHOCP cluster - The RHOSO administrator installs the OpenStack Operator on the RHOCP cluster. For information about how to install the OpenStack Operator, see Installing and preparing the Operators in the Deploying Red Hat OpenStack Services on OpenShift guide.
- Provide secure access to the RHOSO services
- You must create a Secret custom resource (CR) to provide secure access to the RHOSO service pods. For information, see Providing secure access to the Red Hat OpenStack Platform services in the Deploying Red Hat OpenStack Services on OpenShift guide.
- Create and configure the control plane network
- You use RHOCP Operators to prepare the RHOCP cluster for the RHOSO control plane network. For information, see Preparing RHOCP for RHOSP networks in the Deploying Red Hat OpenStack Services on OpenShift guide.
- Create and configure the data plane networks
- You use RHOCP Operators to prepare the RHOCP cluster for the RHOSO data plane network. For information, see Configuring the data plane network in the Deploying Red Hat OpenStack Services on OpenShift guide.
- Create a control plane for your environment
- You configure and create an initial control plane with the recommended configurations for each service. For information, see Creating the control plane in the Deploying Red Hat OpenStack Services on OpenShift guide.
- Customize the control plane for your environment
- You can customize your deployed control plane with the services required for your environment. For information, see Customizing the control plane in the Customizing the Red Hat OpenStack Services on OpenShift deployment guide.
- Create and configure the data plane nodes
- You configure and create a simple data plane with the minimum features. For information, see Creating the data plane in the Deploying Red Hat OpenStack Services on OpenShift guide.
- Customize the data plane for your environment
- You can customize your deployed data plane with the features and configuration required for your environment. For information, see Customizing the data plane in the Customizing the Red Hat OpenStack Services on OpenShift deployment guide.
- Configure a storage solution for the RHOSO deployment
- You can optionally configure a storage solution for your RHOSO deployment. For information, see the Configuring persistent storage guide.
2.2. Custom resource definitions (CRDs)
The OpenStack Operator includes a set of custom resource definitions (CRDs) that you can use to create and manage RHOSP resources.
Use the following command to view a complete list of the RHOSP CRDs:
$ oc get crd | grep "^openstack"
Use the following command to view the definition for a specific 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 ...
Use the following command to view descriptions of the fields you can use to configure a specific 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> ...
Additional resources
2.2.1. CRD naming conventions
Each CRD contains multiple names in the spec.names
section. Use these names depending on the context of your actions:
Use
kind
when you create and interact with resource manifests:apiVersion: core.openstack.org/v1beta1 kind: OpenStackControlPlane ...
The
kind
name in the resource manifest correlates to thekind
name in the respective CRD.Use
singular
when you interact with a single resource:$ oc describe openstackcontrolplane/compute