Openstack

OpenStack Cloud Single Node Deployment Using Koll-Ansible and Kubernetes Cluster Deployment using OpenStack Magnum

OpenStack is a collection of open-source tools.

Different OpenStack cloud deployment methods are available.

Kolla Ansible is one of the preferred deployment method.

Kolla provides Docker containers and Ansible playbooks to meet Kolla’s mission. Kolla’s mission is to provide production-ready containers and deployment tools for operating OpenStack clouds.

OpenStack Core Service: –

1. Keystone – Identity Service

2. Glance – Image Service.

3. Nova – Compute Service.

4. Neutron – Network Service.

5. Horizon – Dashboard service.

You can check optional services – https://docs.openstack.org/2023.1/install/

My Deployment Overview: –

OS – Centos9

NICs – 2 – Primary network for management and secondary network for cloud network.

Storage DISKS – Custom partition, most of the space is allocated to var partition, Openstack default VM storage partition is var . And 2 Additional disks for Cinder.

OpenStack Services deployment overview: –

By default, the above-core services and Heat (Orchestrator service) will be deployed. Additionally, Services – Cinder (volume service), Grafana, Prometheus (for monitoring the infra) and Magnum for Container infra services enabled on the Kolla deployment file.

Configure IP for Primary Nic, don’t configure any IP for Second NIC.

Deployment Steps: –

Note down NIC names and Storage device names.

Clone or copy script to deployment machine.

URL – https://github.com/Dineshk1205/openstacksinglenode/blob/main/Openstack%20single.sh

In the Script Update the following configuration is based on your env/requirements.

Openstack_Version=’2023.1′ ## Openstack Version ## For the old version minor changes are required.

Openstack_VIP=’172.90.0.201′ ## Free IP

Internal_NIC_Name=’ens192′ ## Primary NIC Name

External_NIC_Name=’ens224′ ## secondary NIC Name

#Cloud network configuration

EXT_NET_CIDR=’172.90.0.1/24′ ## External/Provider Network Subnet.

EXT_NET_RANGE=’start=172.90.0.210, end=172.90.0.245’ ## Network Range

EXT_NET_GATEWAY=’172.90.0.1′ ## Gateway

Also update disks names as per your env (dev/sdb,dev/sdc)

Save configuration. Assign execute (+x) permission to script file – chmod +x openstacksingle.sh

Run script file – ./openstacksingle.sh. It will take 20 to 25 minutes (Based on your infra time will vary). The script will deploy, and configure OpenStack cloud services – keystone, glance, Nova, neutron, Horizon, Cinder, Heat, Magnum and creates an external network, flavours, keypair, magnum template and Kubernetes cluster deployment.

Once deployment is completed. run cat /etc/kola/admin-openrc.sh and copy the admin password.

Use any browser: Dashboard URL – Deployment machine/VIP. Enter username – admin and password – paste the above copied password. click on the sign-in.

After logging, Admin>system information > check if any service state is Down.

And you can check Kubernetes cluster status (Container Infra>Clusters) and also select the Orchestration option and check events. (Note: – Deployed only one master and one worker, you can deploy multiple worker nodes and also you can scale worker nodes. For deploying multiple master nodes requires Octavia load balancer service)

Check in the instance section. Kubernetes master instance created and running. Once Master is ready, heat (Orchestrator) will deploy the worker node instance

From the deployment machine, you can log to master node using instance floating IP.

You can see worker node also created and running.

You run the kubectl command and check Kubernetes node status – kubectl get nodes

You can check in stacks topology –heat created Kubernetes required networks, security policies ..etc.

You also check the pods status – kubectl get pods -A

Dineshreddy Kayithi

Rooted in a solid academic foundation with a Bachelor's Degree in Information Technology, my career has been deeply entrenched in designing, deploying, and managing enterprise-grade infrastructure across virtualization, cloud-native, and containerized environments. Industry certifications from VMware, AWS, Microsoft, and Kubernetes validate my hands-on expertise in architecting scalable, resilient systems spanning hypervisors, public/hybrid cloud platforms, and container orchestration frameworks. I'm driven by a relentless pursuit of emerging technologies — translating them into production-ready solutions that solve complex operational challenges.

View Comments

Share
Published by
Dineshreddy Kayithi
Tags: Openstack

Recent Posts

Red Hat OpenShift VM Micro-segmentation Using MultiNetworkPolicy

OpenShift Virtualization allows virtual machines (VMs) to run natively on Kubernetes alongside container workloads. Using…

1 month ago

Red Hat OpenStack Services on OpenShift (RHOSO)

Red Hat OpenStack Services on OpenShift (RHOSO) provides the foundation to build a private or public…

2 months ago

Kubernetes Cluster Deployment

Kubernetes (often shortened to “K8s”) is an open-source system for automating the deployment, scaling, and…

2 months ago

Ceph cluster on a single machine

Ceph is an open-source, distributed storage platform that provides object, block, and file storage in…

2 months ago

vSphere to OpenShift VM Migration

Prerequisites Red Hat OpenShift cluster deployed and operational You can refer to my earlier post…

2 months ago

Installing OpenShift 4.21 in an air-gapped on-premises/BareMetal environment using Agent-based deployment

Agent-Based Installation The Agent-based installation method provides the flexibility to boot your on-premise servers in…

4 months ago