Your boss has requested that you look into installing OpenStack. One of the requirements is to leverage your current VMware infrastructure. Of course your plate is already full, and now you need to learn a new platform.
So here are a few things that should ease your mind when considering OpenStack. First, OpenStack is a framework that can use your current hardware and software infrastructure. Second, OpenStack services allow integration at the software layer with vendors like VMware. Finally, OpenStack uses drivers to translate requests to calls on the software infrastructure. Why is this important? Let’s take a look at VMware Integrated OpenStack (VIO) to answer these questions.
VMware Integrated OpenStack (VIO)
At this point you probably have some questions similar to the following:
- What is VIO?
- How does it integrate with my current vSphere environment?
- Why should I use VIO instead of running OpenStack on RHEL, KVM, etc?
- Who should use VIO?
Let’s dig in.
What is VIO?
Simply put, VIO allows the use of OpenStack framework on your current VMware vSphere infrastructure. OpenStack services have VMware-specific drivers and plugins built to translate requests to calls.
Deploying VIO consists of a virtual appliance (vApp) to your vCenter. The vApp deploys two VMs: management-server (OMS) and openstack-template. The management VM deploys, configures and manages VIO. The OpenStack template VM has the base images for the VIO VMs. A plugin is available in vCenter that will allow the deployment of a highly available OpenStack production environment. This environment will consist of 15 VMs:
- VIO Compute Driver: The Nova compute node(s) which handle deploying and deleting instances. Each vSphere cluster added to OpenStack will add a Nova compute node, otherwise it starts with one.
- VIO Controller: The OpenStack APIs and schedulers live here. Services consist of Nova, Neutron, Glance, Cinder, Heat and Keystone. Two controller VMs are deployed in an Active/Active configuration.
- VIO DB: This is where the metadata lives. There are three MariaDB VMs deployed in an Active/Passive/Passive state with replication between the databases.
- VIO DHCP: Manages tenant IP addresses. Two VMs in an Active/Active state.
- VIO LoadBalancer: Internal and external communication is handled by two load balancers in an Active/Passive state.
- VIO Memcache: Memory stores for database call results. Two initial Active/Active VMs are deployed, but it’s scalable.
- VIO Objectstorage: Allows storage and retrieval of data, also known as Swift. Initially one VM is deployed.
- VIO RabbitMQ: Communication between services is handled by messaging. Two RabbitMQ VMs are deployed. Both are active.
How does VIO integrate with my current vSphere environment?
VIO sits on top of your current vSphere infrastructure. Once VIO has been deployed and configured on vSphere it leverages the following:
- Compute clusters managed via Nova. VIO manages the resources at the cluster level, not the individual host level.
- Neutron (Networking) can leverage your current vDS or NSX via NSX plugin.
- OpenStack Manager (OMS) allows addition of components such as compute, storage, etc. post-deployment.
- vCenter driver and Cinder driver is used to connect the OpenStack services with vSphere.
- vSphere Web Client plug-in is available for management. All instance deployment and management should be done from the Horizon web portal or OpenStack API.
- Glance images can be either VMDK, OVA or ISO.
Sprechen OpenStack lingo?
Here is just a quick cheat sheet to get you up to speed on OpenStack terms:
|OpenStack Terms||VMware Relationship||Notes & Comments|
|Nova||Compute||Resources are pooled at the cluster level, not at the individual host.|
|Cinder||Storage||Any storage supported by vSphere, as well as VSAN.|
|Glance||Templates||Glance images can be either in the form of a VMDK, OVA or ISO.|
|Neutron||Network||Support for vSphere Distributed Switch and NSX.|
|Horizon||Web Portal||Horizon is the web portal that lets you manage your OpenStack environment. Tenant Management and instance deployment are just some examples.|
|KeyStone||Identity Service||Can be compared to current platform services’ controller function.|
|Heat||Orchestration||Automation of instances, networks and other services.|
Using VIO with vDS vs. NSX
VIO supports vSphere Distributed Switch (vDS) or NSX via the Neutron plugin. Although supported, the vDS has limitations in a VIO environment compared to NSX. NSX can provide support for options such as security groups and fenced environments via Firewall. Here is a quick comparison:
- VLANs for Provider Networks
- Layer 2 Support
- Management Plane High Availability
- VLANs for Provider Networks
- Layer 2 and 3 Support
- NAT & Floating IP Support
- Security Groups
- DHCP Service
- Stateful distributed Firewall
The Benefits of VIO
VIO should not be mistaken for a VMware proprietary flavor of OpenStack. In fact, it’s based on a VMware OpenStack distribution recognized by the OpenStack Foundation. There are benefits for deploying VIO compared to using KVM or RHEL:
- VMware administrators will not be as intimidated to learn OpenStack since they are already familiar with the underlying infrastructure.
- Ease of deployment with a vAPP. More importantly, it deploys a highly available production-ready environment.
- Free to customers who own the vCloud suite & vSphere with Operations Management (vSOM).
- One stop shop for support. VMware will provide support for OpenStack and VMware infrastructure. This will come at a cost of $200 per CPU. Keep in mind that VMware is eating its own dog food here and running a large OpenStack deployment internally using VIO on vSphere.
- Ease of management such as adding or removing capacity.
- Leveraging benefits of the vSphere environment such as DRS, HA and vMotion.
- Simplified upgrades and patching with the potential of minimum disruption to the OpenStack environment. This would depend on the underlying infrastructure.
- Integration with other VMware products such as log insight and vRealize Operations manager.
- Support for any storage supported by vSphere infrastructure including VSAN.
- Developers have an area to spin up virtual machines for development and testing.
OpenStack is usually thought of as hard to implement. VIO simplifies that. VIO allows VMware administrators to get familiar with OpenStack quicker while leveraging their current vSphere environment. It also gives developers an area to code, while giving operations an area without looking elsewhere (causing shadow IT). As organizations get more familiar with OpenStack over time, they can also begin to contribute.
Stay tuned as we’ll go more in to the deployment and configuration of VIO on vSphere 6.
Over the last 15 years, he has held a variety of roles in the datacenter, emphasizing virtualization design and implementation. Follow him on Twitter @Emad_Younis.