OpenStack Octavia – creating listeners, pools and monitors

After provisioning our first load balancer in the previous post using Octavia, we will now add listeners and a pool of members to our load balancer to capture and route actual traffic through it. Creating a listener The first thing which we will add is called a listener in the load balancer terminology. Essentially, a … Continue reading OpenStack Octavia – creating listeners, pools and monitors

OpenStack Octavia – creating and monitoring a load balancer

In the last post, we have seen how Octavia works at an architectural level and have gone through the process of installing and configuring Octavia. Today, we will see Octavia in action - we will create our first load balancer and inspect the resulting configuration to better understand what Octavia is doing. Creating a load … Continue reading OpenStack Octavia – creating and monitoring a load balancer

OpenStack Octavia – architecture and installation

Once you have a cloud platform with virtual machines, network and storage, you will sooner or later want to expose services running on your platform to the outside world. The natural way to do this is to use a load balancer, and in a cloud, you of course want to utilize a virtual load balancer. … Continue reading OpenStack Octavia – architecture and installation

OpenStack Cinder – creating and using volumes

In the previous post, we have installed Cinder and described its high level architecture. Today, we will look at a few uses cases (creating and attaching volumes) in detail, go through the code and see how Cinder interacts with external technologies like iSCSI and LVM. Creating a volume Let us first try to understand what … Continue reading OpenStack Cinder – creating and using volumes

OpenStack Cinder – architecture and installation

Having looked at the foundations of the storage technology that Cinder uses in the previous posts, we are now ready to explore the basic architecture of Cinder and install Cinder in our playground. Cinder architecture Essentially, Cinder consists of three main components which are running as independent processes and typically on different nodes. First, there … Continue reading OpenStack Cinder – architecture and installation

OpenStack Cinder foundations – building logical volumes and snapshots with LVM

When you want to build a volume service for a cloud platform, you need to find a way to quickly create and remove block devices on your compute nodes. We could of course use loopback devices for this, but this is slow, as every operation goes through the file system. A logical volume manager might … Continue reading OpenStack Cinder foundations – building logical volumes and snapshots with LVM

OpenStack Cinder foundations – storage networks, iSCSI, LUNs and all that

To understand Cinder, the block device component of OpenStack, you will need to be familiar with some terms that originate from the world of data center networks like SCSI, SAN, LUN and so forth. In this post, we will take a short look at these topics to be prepared for our upcoming installation and configuration … Continue reading OpenStack Cinder foundations – storage networks, iSCSI, LUNs and all that

OpenStack Neutron – handling instance metadata

Not all cloud instances are born equal. When a cloud instance boots, it is usually necessary to customize the instance to some extent, for instance by adding specific SSH keys or by running startup scripts. Most cloud platforms offer a mechanism called instance metadata, and the implementation of this feature in OpenStack is our topic … Continue reading OpenStack Neutron – handling instance metadata

OpenStack Neutron – DHCP and DNS

In a cloud environment, a virtual instance typically uses a DHCP server to receive its assigned IP address and DNS services to resolve IP addresses. In this post, we will look at how these services are realized in our OpenStack playground environment. DHCP basics To understand what follows, it is helpful to quickly recap the … Continue reading OpenStack Neutron – DHCP and DNS