☁️
Virtualization & Cloud

Cloud Compute (OpenStack)

Open-source cloud platform for VMs, networking, and storage

🐧 Linux🍎 Mac🪟 Windows
Reviewed: Tested on: Kubernetes 1.29 · Terraform 1.8 · Ubuntu 22.04

What is this?

OpenStack lets you build your own private cloud to create virtual servers on demand.

📥

Step 01

Install OpenStack (DevStack)

(01)DevStack — all-in-one lab install

DevStack is the fastest way to get OpenStack running for learning.

Linux
1# Requirements: Ubuntu 22.04, 16GB+ RAM, 100GB disk
2sudo useradd -s /bin/bash -d /opt/stack -m stack
3echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
4
5sudo -u stack git clone https://opendev.org/openstack/devstack /opt/stack/devstack
6sudo -u stack cp /opt/stack/devstack/samples/local.conf /opt/stack/devstack/local.conf
7
8# Edit local.conf — set ADMIN_PASSWORD, DATABASE_PASSWORD, etc.
9cd /opt/stack/devstack && sudo -u stack ./stack.sh

(02)Install OpenStack CLI client

Linux
1pip install python-openstackclient
2openstack --version
3
4# Source credentials after DevStack:
5source /opt/stack/devstack/openrc
⚙️

Step 02

Configure OpenStack

(01)Create network and instance

Linux
1# Source admin credentials
2source /opt/stack/devstack/openrc
3
4# Create network
5openstack network create private-net
6openstack subnet create --network private-net --subnet-range 10.0.0.0/24 private-subnet
7
8# Create router (if needed)
9openstack router create router1
10openstack router add subnet router1 private-subnet
11
12# Upload image
13openstack image create "Ubuntu-22.04" --file jammy-server-cloudimg-amd64.img --disk-format qcow2
14
15# Create flavor and keypair
16openstack flavor create --ram 2048 --disk 10 --vcpus 2 m1.small
17openstack keypair create --public-key ~/.ssh/id_ed25519.pub mykey
18
19# Launch instance
20openstack server create --flavor m1.small --image Ubuntu-22.04 --network private-net --key-name mykey my-instance

(02)Horizon web dashboard

Linux
1# After DevStack install, access Horizon:
2# http://<server-ip>/dashboard
3# Login: admin / ADMIN_PASSWORD from local.conf
4
5openstack server list
6openstack console log show my-instance
✅

Step 03

Verify OpenStack

(01)Check services

Linux
1openstack service list
2openstack endpoint list
3openstack compute service list
4openstack network agent list
⚡

Step 04

Manage Cloud Compute

(01)Instance lifecycle

Linux
1openstack server list
2openstack server stop my-instance
3openstack server start my-instance
4openstack server delete my-instance
5
6# Floating IP
7openstack floating ip create public
8openstack server add floating ip my-instance <floating-ip>