Deploying an OpenStack Cloud Environment

Deploying an OpenStack Cloud Environment

A look into other cloud computing platforms other than VMware.

When you think of on-premise Software-Defined Data Center (SDDC) solutions, the first option that really comes to mind is VMware vSphere. vSphere is an encompassing term that includes several other VMware technologies to provide an infrastructure for virtualization. I personally enjoy working with a VMware vSphere environment. However, there are other competing platforms out in today's marketplace. Today we're going to look at OpenStack.

What is OpenStack?

OpenStack is an open-source cloud computing platform that can be used to manage distributed computing, network, and storage resources. You can use OpenStack to build private and public clouds. Resources can be managed through a dashboard, giving administrators control while empowering users to provision resources through a web interface.

OpenStack Overview

OpenStack is also fully open-source meaning there are no licensing costs. It is available under the Apache License which means that it can be used free of charge. Even if deployed within one of the available distributions, vendors must not add any additional licensing costs (ref OpenStack vs VMware: Bringing costs down). However, OpenStack is also not just a simple technology that you install and use. It has a certain degree of complexity and takes time to fully understand and maximize utilization. Organizations, like Canonical and Red Hat, provide professional services and support to help manage your OpenStack environment.

How to use OpenStack?

Today I will be demonstrating how to deploy and configure an OpenStack cloud. However, I will be utilizing MicroStack. MicroStack is a micro cloud platform based on OpenStack, designed for the edge and small-scale data center deployments, that can be installed and maintained with minimal effort. Canonical provides easy-to-understand tutorials to learn more about OpenStack. (For this demonstration, I used these installation instructions versus the one in the tutorials. But they are the same instructions.

Create the VM

The first requirements are to have a physical machine to work on. The tutorial's requirements are as follows:

  • The latest Ubuntu LTS installed.

  • Multi-core CPU

  • 8 GB of RAM

  • 100 GB of storage

In fact, I'm just going to create a virtual machine in VMware Workstation Pro. Something like this should be perfect for this demonstration:

OpenStack VM on Ubuntu

MicroStack Deployment

If you follow along in the tutorial, the commands are pretty simple.

First, execute the following command to install the MicroStack snap:

sudo snap install microstack --devmode --beta

When the installation process has finished, I will view information on the installed snap by entering the command: :

snap list microstack

Looking good so far! Install MicroStack snap

Initialization

I will then initialize MicroStack. According to the documentation, this will "automatically deploy, configures, and starts OpenStack services. In particular, it will create the database, networks, an image, several flavors, and ICMP/SSH security groups." The command I will use is:

sudo microstack init --auto --control

Apparently, this can take quite a bit of time depending on your system.

MicroStack Initialization

Verification

Once the initialization is finished, you can run a few commands to check functionality. The standard OpenStack client comes pre-installed and is invoked like so:

microstack.openstack <command>

To list the default image, run:

microstack.openstack image list

To get the default list of flavors:

microstack.openstack flavor list

MicroStack Image and Flavor List

Now we are getting somewhere!

Create an Instance

I will now create an instance (virtual machine) named 'test' based on the 'cirros' image. CirrOS is a minimal Linux distribution that was designed for use as a test image on clouds such as OpenStack Compute. You can download a CirrOS image in various formats from the CirrOS download page I will use the command:

microstack launch cirros -name test

MicroStack launch cirrOS

Now I will connect to the instance via ssh using the generated ssh keys that were shown in the output. (I just copied the command from the resulting output from creating the instance.)

Connecting to Test instance via ssh

I then typed in ip a to get a quick status of the networking.

Access the Cloud Dashboard

Now for the fun stuff!

To access the OpenStack (MicroStack) Cloud Dashboard, I need to open a browser with the IP address of the virtual machine running MicroStack. So let me browse over to the IP address.

OpenStack Coud Dashboard

Now I need a username and password. The tutorial states that the username is admin, but I also need to generate a password from the terminal console. The password is obtained by entering the command:

sudo snap get microstack config.credentials.keystone-password

Generate OpenStack Admin Password

Now I need to enter the username admin and generated password into the console.

OpenStack Login

And I can now look at my entire OpenStack environment on a Cloud Dashboard.

OpenStack Cloud Dashboard

If I select Instances I should be able to see the test instance that we created in the terminal.

Test Instance Cloud Dashboard

Where to go from here?

Now that you have your MicroStack environment deployed, you can get started with the basics of OpenStack by going through the OpenStack Tutorials by Canonical.

Create your own micro cloud environment and have some fun!

There is even an OpenStack Cheat Sheet should you need it. I'm pretty sure you will if you're new to OpenStack.

Thank you for your time during this tutorial/demonstration. Please feel free to leave any comments below!

Did you find this article valuable?

Support Brandon Bowman by becoming a sponsor. Any amount is appreciated!