Preparing for the OpenStack setup

In the remainder of this book, we will be installing and configuring various OpenStack components. Therefore, let's look at the architecture that we will follow in the remainder of the book and what we need to have handy.

While we can set up all the components of the OpenStack on a single server, it will not be close to any real-life scenario, so taking this into consideration, we will do a minimal distributed installation. Since this book is intended to be a beginner's guide, we shall not bore ourselves with cloud architecture questions.

Selecting the services

As we are aware by now that OpenStack is made up of individual components, we need to be careful in selecting the appropriate services. As we have already seen in the dependency maps table, some services are sort of mandatory and the others are optional depending on the scenario. Too many services and you complicate the design, too little and you constrain it; so it is imperative that we strike a good balance. In our case, we will stick to the basic services:

  • Keystone
  • Horizon
  • Nova
  • Cinder
  • Swift
  • Glance

In the optional section, we will choose Neutron. This should help us in getting a pretty robust cloud with the essential features rolled out in no time.

Service layout

We will be installing these components on virtual machines for our learning purposes; we will use four different virtual machines to run our cloud:

  • Controller node
  • Network node
  • Compute node
  • Storage node

The following diagram shows the kind of services that will be hosted in each of the different nodes in the rest of the book. We will identify the servers with the previously mentioned names:

Service layout

The OpenStack service layout

Controller node

The controller node will house the manager services for all the different OpenStack components such as message queue, Keystone, image service, Nova management, and Neutron management.

Network node

The network node server will house Neutron components such as the DHCP Agent, the L3 Agent, and Open vSwitch. This node will provide networking to all the guest VMs that spin up in the OpenStack environment.

Compute node

The compute node will have the hypervisor installed on itself. For the purpose of this setup, we will use LXC or KVM to keep things simple. It also houses network agents.

Storage node

The storage node will provide block and object storage to the rest of the OpenStack services. This will be the node that needs to be connected to the iSCSI storage in order to create different blocks.

Operating system

We will use Linux Ubuntu 14.04 as the operating system of choice to install and configure the different components. All the previously mentioned nodes should be running Ubuntu.

Network layout

Since we are going to use Neutron, the following network architecture needs to be followed:

  • Management network: This network is available on all the OpenStack servers.
  • Tunnel network: This network is used to tunnel the traffic between the compute nodes and the network node and is available on all the compute and the network nodes. There can be more than one if we are going for a multi-tiered environment.
  • Storage network: This connects the compute and storage nodes. This is used as a separate network to ensure that there is no network congestion.
  • External network: This is connected only to the network node and can be accessed using Neutron. The elastic IPs are configured on this network.

The following diagram shows the different connections in our network. The compute node is connected to all the networks except the external network. It is to be noted that the storage and the tunnel network can be completely internal networks. The management network is primarily the one that needs to be accessible from the LAN of the company, as this will be the network that the users will need to reach in order to access the self-service portal:

Network layout

Network connectivity

For the purpose of learning, let's set up the network ranges that we will use in our installation. The following is the table of the network range:

Network Name

IP Range

Management Network

172.22.6.0/24

Tunnel Network

10.0.0.0/24

Storage Network

192.168.10.0/24

External Network

192.168.2.0/24

Network ranges

Since we are using this in the lab network, the external network is assumed and will need to be changed depending on the routing rules.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset