OpenStack on OpenShift is an exciting combination that can help you build and deploy scalable cloud infrastructure.
OpenShift is a container application platform that provides a flexible way to deploy and manage applications.
You can use OpenShift to deploy OpenStack, a popular open-source cloud operating system, and leverage its features to create a hybrid cloud environment.
OpenShift's container-based architecture allows for efficient resource utilization and scaling, which is essential for OpenStack's high-performance requirements.
By deploying OpenStack on OpenShift, you can create a highly available and scalable cloud infrastructure that supports a wide range of applications and services.
This combination is particularly useful for organizations that need to support large-scale cloud deployments and require a high degree of flexibility and control.
Here's an interesting read: Connections - Oracle Fusion Cloud Applications
OpenStack on OpenShift
OpenStack on OpenShift offers a scalable and on-demand infrastructure for cloud computing.
OpenShift is a cloud platform that provides a flexible and automated way to deploy and manage applications.
You can use OpenStack's Horizon dashboard to manage and monitor your OpenShift environment.
With OpenShift, you can create and manage multiple projects, each with its own resources and access control.
This allows for a high degree of customization and flexibility in managing your cloud infrastructure.
OpenStack's Heat orchestration service can be used to automate the deployment and scaling of OpenShift applications.
This can help streamline the process of deploying and managing complex applications.
By integrating OpenStack with OpenShift, you can leverage the strengths of both platforms to create a robust and scalable cloud infrastructure.
This integration enables you to take advantage of OpenStack's scalability and OpenShift's automation features.
OpenShift's Source-to-Image (S2I) feature can be used to automate the build and deployment of OpenStack-based applications.
This can help simplify the process of deploying and managing cloud-based applications.
Intriguing read: Microsoft Azure from Zero to Hero - the Complete Guide
Preparation and Requirements
To run OpenStack 16.1 All-in-one with OpenShift, you'll need to ensure two Ethernet ports exist on your machine. The first interface will be used for administration, while the second interface will be used for OpenStack Services and needs to be connected to a separate router.
Your system must have at least 8 CPUs, 128 GB of RAM, and 1 TB of external hard drive for an OpenShift install. A DNS server is also required when installing OpenShift on OpenStack.
Here are the specific hardware requirements for an OpenShift install on OpenStack:
- 8 CPUs
- 128 GB of RAM
- 1 TB of external hard drive
Red Hat Customers Drive Modernization
Red Hat customers are driving modernization efforts in their organizations, and one way they're doing it is by leveraging the Cisco ACI CNI plug-in in their network design. This plug-in is a game-changer for OpenShift deployments.
The Cisco ACI CNI plug-in allows for the separation of OpenShift node traffic from pod traffic on different Neutron networks. This separation results in the bootstrap, control, and compute virtual machines having two network interfaces.
One interface is for the node network, while the second interface carries both pod traffic and Cisco ACI control plane traffic. A VLAN tagged subinterface is configured on the second interface to carry this traffic.
Broaden your view: Single Node Openshift
To implement this network design, customers need to make some changes to the Red Hat OpenShift Installer UPI Ansible modules. These changes are provided by Cisco in the OpenShift installer tar file.
The changes include creating a second Neutron network in a separate playbook, modifying the existing playbooks that launch the control and compute virtual machines, and updating the playbook that creates the first Neutron network.
OpenStack All-in-One Requirements
To run OpenStack 16.1 All-in-one with OpenShift, you'll need two Ethernet ports on your machine. The first interface will be used for administration, while the second interface will be used for OpenStack Services and needs to be connected to a separate router.
You'll also need a system with some serious specs: at least 8 CPUs, 128 GB of RAM, and 1 TB of external hard drive space for an OpenShift install.
A DNS server is also required when installing OpenShift on OpenStack.
Here are the minimum system requirements for OpenShift 4.11 on OpenStack 16.2:
Deployment and Configuration
To deploy OpenShift on OpenStack, you'll first need to download the oc cli and the openshift-installer binaries. This sets the foundation for the deployment process.
You'll also need to generate an SSH key, which will be used to access the OpenShift nodes if needed. It's recommended to use the oc debug node command to access the machines once deployed.
To increase the OpenStack quota, navigate to the Admin menu, click on System->Defaults, and access the Compute and Volume quota. This ensures OpenShift has the correct sizing to deploy.
Here are the default VM flavors used in the OpenShift repository:
- 16 GB for memory
- 4 vCPUs for CPU
- 120G for disk sizing
System Configuration
To configure your system for OpenStack, start by installing RHEL 8.2 with the Server with GUI option. This will allow you to access the OpenStack console from the machine.
Configure the first and second interfaces with static IPs, and set the hostname to a fully qualified domain name (FQDN), such as openstack.example.com.
You'll need to copy the root key to the box to access it after OpenStack has been installed.
The stack user will be used to install OpenStack and manage the system, so copy the SSH key as this user and SSH into the system.
To bypass prompts for registration and logins, create an openstack-info file for the scripts.
The system-setup script will register your system with Red Hat, install the required packages, and configure tmux to keep the connection up during installation.
Here's a summary of the steps:
- Install RHEL 8.2 with Server with GUI option
- Configure first and second interfaces with static IPs
- Set hostname to a fully qualified domain name (FQDN)
- Copy root key to the box
- Copy SSH key as stack user
- Create openstack-info file for the scripts
- Run system-setup script
Optional Configurations
Optional Configurations can be a bit overwhelming, but don't worry, I've got you covered. You can customize the inventory.yaml file to suit your needs.
The cluster_snat_policy_ip is an optional configuration that determines the Source IP Network Address Translation (SNAT) IP address used for the whole cluster. If you don't set this value, you shouldn't run the cluster_snat_policy.yaml Ansible playbook.
You can also set the dns_ip field if you don't follow the procedure for controlling default resolvers in Nova servers. This allows you to specify one or more DNS server IPs.
The network_interfaces option is used to specify the name of the node network interface as set by the RHCOS image. By default, this value is set to "ens3".
Here's a quick rundown of the optional configurations:
The mtu option is used to set the Maximum Transmission Unit (MTU) for the *-primaryClusterNetwork Neutron network. By default, this value is set to 1500.
The subnet option is used to specify the CIDR used for the subnet associated with the *-secondaryClusterAciNetwork Neutron network. The default value is 192.168.208.0/20.
Sources
- https://cloudnativenow.com/features/red-hat-enables-openstack-to-run-natively-on-openshift-platform/
- https://www.openstack.org/news/view/379/using-openshift-on-openstack-red-hat-customers-power-infrastructure-and-application-modernization
- https://medium.com/@tcij1013/install-openshift-on-openstack-16-1-all-in-one-96c179310b36
- https://www.cisco.com/c/en/us/td/docs/dcn/aci/containers/installation/openshift-on-openstack/installing-openshift-4-11-on-openstack-16-2.html
- https://cloudnativenow.com/topics/cloudnativedevelopment/red-hat-previews-openstack-integration-with-openshift-platform/
Featured Images: pexels.com