Red Hat OpenStack Services on OpenShift (RHOSO) provides the foundation to build a private or public Infrastructure-as-a-Service (IaaS) cloud on top of Red Hat Enterprise Linux. It is a scalable, potentially fault-tolerant platform for the development of cloud-enabled workloads.
The RHOSO control plane is hosted and managed as a workload on a Red Hat OpenShift Container Platform (RHOCP) cluster. The RHOSO data plane consists of external Red Hat Enterprise Linux (RHEL) nodes that host RHOSO workloads. The RHEL nodes are managed on the data plane with an automation execution environment. The data plane nodes can be Compute nodes, Storage nodes, Networker nodes, or other types of nodes
Source: https://redhatquickcourses.github.io/rhoso-intro/rhoso-intro/1/ch1-intro/s1-rhoso-lecture.html
Prerequisites :-
You may refer to my earlier article to set up the cluster :-
2. Ceph Storage cluster
You may refer to my earlier article to set up the cluster :-
3. RHEL 9.6 compute nodes
Deployment :-
You can download all the YAML and script files using the link below.
https://github.com/Dineshk1205/RHOSO.git
Note: Before starting the deployment, please refer to the README in the above Git repository and the official documentation to understand the networking and other prerequisites.
Deploy an OpenShift 4.18 cluster and verify that all nodes are ready.
ODF External Storage setup :-
Note: OpenShift Data Foundation (ODF) internal storage mode is not supported for RHOSO 18.0 deployment. ODF internal storage cannot be used as a backend for the Cinder block storage service. Instead, an external Ceph cluster must be configured directly and connected to Cinder using the Ceph RBD driver
Install ODF operator
Once operator installation is complete .Configure storage system .
Select deployment type as a Full deployment and connect an external storage platform Red Hat Ceph Storage option.
Download script file and copy to ceph node .
On the Ceph node, create the required storage pool:
$ceph osd pool create ocs-storagecluster-ceph-rbd 128
$ceph osd pool application enable ocs-storagecluster-ceph-rbd rbd
$ rbd pool init ocs-storagecluster-ceph-rbd
$ceph osd pool ls
Run copied script and copy output and save it in json format.
$python3 ceph-external-cluster-details-exporter.py –rbd-data-pool-name ocs-storagecluster-ceph-rbd
Upload json file.
Storage system creating in progress .It will take 10–15 minutes .
Once it is ready ,you will see the status in green with capacity info.
Install Required operators
Install nmstate ,cerrt-manager , metalLB and Openstack operator.
You can validate operators pod status
$ oc get pods -n openstack-operators
Network configuration :-
Run nncp file and check status
$oc get nncp
Before proceeding configure a nad resource for each isolated network to attach a service pod to the network
Configure the MetalLB IP address range & L2Advertisement using a yaml file
Run the following command to enable global IP forwarding:
Secret Configuration
Configure password for OpenShift services and nova
Cinder pool configuration on Ceph node
On the Ceph node, create pools for Cinder and retrieve the required keys. Use the ceph-setup.sh script, which will automatically generate the necessary configuration and create the ceph-secret file
On the OpenShift node, create ceph-secret.yaml as a secret file
Deploy control plane
Run control-deploy.yaml file
It will take 15–20 minutes ,you can check the progress using below command
$ oc get openstackcontrolplane -n openstack -w
Once deployment is completed .Status will show true with setup complete message.
Compute/data plane deployment
Install RHEL 9.6
Apply network configuration
Next, generate an SSH key and create it as a secret. You can use the ssh-setup.sh script, which automatically generates the key and configures the required settings.
You can update and apply Redhat-registry.yaml file.
Next, run compute-node.yaml file and run compute-deploy.yaml
Compute/data plane deployment has started .it will take 20–25 minutes .You can monitor the status
Once the deployment is complete, the status will be shown as true and the message will indicate “setup complete.”
You can login to client and check OpenStack service status
Map the compute nodes to the compute cell to which they are connected
Testing
You can run post postdeploy.sh ,it will create a network ,cirros image and flavor.
Access the OpenStack UI and create a test VM using a Cirros image and the test network.
Test vm created successfully.
Successfully able to ping the network gateway and 8.8.8.8, confirming that the network is working properly
Test Cinder volume
Create a test volume and check
The test volume was created and is available .
You can see test 1GB cinder volume in ceph .
Kubernetes (often shortened to “K8s”) is an open-source system for automating the deployment, scaling, and…
Ceph is an open-source, distributed storage platform that provides object, block, and file storage in…
Prerequisites Red Hat OpenShift cluster deployed and operational You can refer to my earlier post…
Agent-Based Installation The Agent-based installation method provides the flexibility to boot your on-premise servers in…
You can check the earlier post regarding cluster setup and ODF setup https://kdinesh.in/deployment-of-openshift-4-20-with-using-the-assistant-installer/ https://kdinesh.in/openshiftodf/ Login…
You can check the earlier post regarding cluster setup https://kdinesh.in/deployment-of-openshift-4-20-with-using-the-assistant-installer/ 1.Install nm state operator 2.…