Cloud Computing 9 min read

Master OpenStack: Complete Guide to Components and Environment Setup

This article provides a comprehensive overview of OpenStack's architecture, details each core service with its role, and walks through step‑by‑step commands to configure a functional OpenStack Pike environment on CentOS, including networking, database, messaging, and storage components.

Ops Development Stories
Ops Development Stories
Ops Development Stories
Master OpenStack: Complete Guide to Components and Environment Setup
Whoever will ultimately shake the world must remain deeply silent for a long time; whoever will ultimately ignite lightning must drift like clouds for a long time. — Nietzsche

About OpenStack

OpenStack consists of a collection of services that work together to provide compute, identity, networking, image, block storage, object storage, telemetry, orchestration, and database capabilities for your cloud.

OpenStack Components and Functions

Dashboard (Horizon): Provides a web-based UI for creating instances and managing resources.

Network (Neutron): Manages virtual network resources for instances.

Compute (Nova): Offers a pool of compute resources via virtualization.

Identity Service (Keystone): Handles authentication, authorization, and service catalog.

Block Service (Cinder): Supplies persistent block storage to instances.

Object Service (Swift): Multi‑tenant object storage for accounts, containers, and objects.

Image Service (Glance): Enables discovery, registration, and retrieval of VM images.

Orchestration Service (Heat): Generates cloud applications by running OpenStack API calls based on templates.

Bare Metal Service (Ironic): Manages and provisions physical machines.

Database Service (Trove): Provides scalable, reliable cloud configuration for relational and NoSQL databases.

Metering & Data Collecting Service (Ceilometer): Offers monitoring, metering, and data collection.

Containers Service (Zun): Manages containers within OpenStack.

Clustering Service (Senlin): Creates and runs clusters of similar objects across OpenStack services.

Shared File Systems Service (Manila): Supplies file storage for VMs, supporting share management and snapshots.

Load‑balancer Service (Octavia): Open‑source, carrier‑grade load balancing solution for OpenStack.

OpenStack Architecture Diagram

OpenStack architecture diagram
OpenStack architecture diagram

OpenStack Logical Architecture

OpenStack logical architecture
OpenStack logical architecture

OpenStack Basic Environment Setup

1. Verify environment configuration, set up name resolution, and disable SELinux and the firewall on both controller and compute nodes.

Environment configuration
Environment configuration

2. Install and configure the time server: yum install chrony Configure chrony to allow other nodes to connect:

sed -i '7a server 173.168.16.224 iburst' /etc/chrony.conf
sed -i '8a allow 173.168.16.0/24' /etc/chrony.conf

Enable and start the service:

systemctl enable chronyd
systemctl start chronyd

3. Install OpenStack packages on all nodes (using the Pike release):

yum install centos-release-openstack-pike
yum upgrade

Note: If the yum repository fails, follow the fourth and fifth commands shown in the accompanying image.

Yum repository fix
Yum repository fix

Install the OpenStack client and SELinux policy:

yum -y install python-openstackclient
yum install openstack-selinux

4. Install and configure MariaDB: yum install mariadb mariadb-server python2-PyMySQL Create /etc/my.cnf.d/openstack.cnf with the following content:

[mysqld]
bind-address= 173.168.16.224
default-storage-engine= innodb
innodb_file_per_table= on
max_connections= 4096
collation-server= utf8_general_ci
character-set-server= utf8

Enable and start MariaDB:

systemctl enable mariadb
systemctl start mariadb

Secure the installation: mysql_secure_installation 5. Install the message queue: yum install rabbitmq-server Enable and start the service:

systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service

Add the OpenStack user and set permissions:

rabbitmqctl add_user openstack openstack
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
RabbitMQ configuration
RabbitMQ configuration

Restart the message queue service: systemctl restart rabbitmq-server 6. Install and start Memcached:

yum install memcached python-memcached
systemctl enable memcached
systemctl start memcached

7. Install ETCD (distributed key‑value store): yum install etcd Edit /etc/etcd/etcd.conf and set the following parameters (example values shown):

ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS=http://173.168.16.224:2380
ETCD_LISTEN_CLIENT_URLS=http://173.168.16.224:2379
ETCD_NAME="controller"
ETCD_INITIAL_ADVERTISE_PEER_URLS=http://173.168.16.224:2380
ETCD_ADVERTISE_CLIENT_URLS=http://173.168.16.224:2379
ETCD_INITIAL_CLUSTER="controller=http://173.168.16.224:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER_STATE="new"

Enable and start ETCD:

systemctl enable etcd
systemctl start etcd

At this point, the basic OpenStack environment setup is complete. Reply with "OpenStack" to the public account to receive the full Pike installation documentation.

Reference: OpenStack Installation Guide – Environment

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

cloud computingLinuxInstallationInfrastructureOpenStack
Ops Development Stories
Written by

Ops Development Stories

Maintained by a like‑minded team, covering both operations and development. Topics span Linux ops, DevOps toolchain, Kubernetes containerization, monitoring, log collection, network security, and Python or Go development. Team members: Qiao Ke, wanger, Dong Ge, Su Xin, Hua Zai, Zheng Ge, Teacher Xia.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.