Deploying Openstack on AWS

Deploying Openstack on AWS

Probably everyone with OpenStack hands-on experience would agree that sometimes it could be hard and frustrating to install it and test it. Especially if you do not own a small Data Center or the proper physical infrastructure to support its installation needs… However, wouldn’t it be great to use a public cloud provider and its infrastructure to experiment and create POC environments? In this article, I will provide the basic steps of how to spin up a Redhat OpenStack POC environment on AWS and the things you should modify in order to get OpenStack up and running probably on every cloud provider.

Step 0: Prerequisites

Hardware

Instance with at least 8GB RAM and 50GB storage, with hardware virtualization enabled AMI

No alt text provided for this image
No alt text provided for this image

Software

As we are installing RedHat Openstack, We will need RHOSP iso file. Generally RedHat asks for a subscription to download this file. Drive Link for the ISO

Network

We need to disable NetworkManager and firewall as they manage network interfaces and the firewall, and Neutron wants to manage them as well. When there are two managers that don’t know about each other, you can perhaps imagine that the result is chaos.

$ sudo su
$ systemctl disable firewalld
$ systemctl stop firewalld
$ systemctl disable NetworkManager

$ systemctl stop NetworkManager

Step 1: Installation

I used gdown command to download the required iso files inside the instance.

sudo yum install python3 -y
sudo pip3 install gdown

#gdown needs the file ID to download files from gdrive
the ID can be found in the Gdrive link after file/d/ till /view

gdown   --id   ID  --output    rhosp.iso

Now, after downloading the Iso file, lets copy the contents to another folder. For this, we have to mount the iso file first

mkdir temp openstack
mount rhosp.iso temp
cp -rvf temp/ openstack/

After this, we have to create a repo inside the folder

sudo yum install createrepo
cd openstack
createrepo -v .

then we have to write a repo file for the newly created repo

vi /etc/yum.repos.d/local.repo

[openstack]
baseurl=file:///home/ec2-user/openstack
gpgcheck=0

We can check the created repo using yum repolist, If the repo isn't shown use yum clean all.

No alt text provided for this image

Install Openstack using yum install opentsack-packstack

Generate answer file using
packstack --gen-answer-file=openstack.txt

After generating, Run answer file using
packstack --answer-file=openstack.txt
No alt text provided for this image

We have successfully installed Openstack on AWS

---------------------------------------------------------------------------------------------------------------

Connecting to Horizon

As Horizon runs on apache web server , We need to configure Apache to use public IP of the instance for accessing openstack.

For this:

vi /etc/httpd/conf.d/15-horizon_vhost.conf

No alt text provided for this image

Here, we have to change ServerAlias from private IP to public IP.

After that, just restart the webserver using systemctl restart httpd


Now, We can access Openstack in our web browser using public IP of instance

No alt text provided for this image

If you are uable to find keystonerc_admin and keystonerc_demo files in your directory just chnage directory to /root and you will find it there.

MUKESH KUMAR SANDELA

Web Development | RHEL8 | MLOps | DevOps | Python |

4 年

good job bro

Mayank Gaur

DevOps Engineer @Fiftyfive Technologies

4 年

Anytime dude

要查看或添加评论,请登录

Gaurav Yadav的更多文章

  • Hosting Wordpress on AWS with maximum Security

    Hosting Wordpress on AWS with maximum Security

    Task Write a Infrastructure as code using terraform, which automatically create a VPC. In that VPC we have to create 2…

    2 条评论
  • Jenkins Automation Using Groovy

    Jenkins Automation Using Groovy

    In this tutorial I tried to Show how to use Groovy script to build a Jenkins pipeline. Groovy is suitable for beginners…

    1 条评论
  • Deploying Prometheus and Grafana over Kubernetes

    Deploying Prometheus and Grafana over Kubernetes

    Task: Creating Docker images for Prometheus & Grafana. Deploying Prometheus & Grafana as pods on top of Kubernetes by…

  • Setting Up WordPress On AWS Using Amazon EKS

    Setting Up WordPress On AWS Using Amazon EKS

    Tasks: Kubernetes Cluster using AWS EKS. Integrate EKS with EC2,EBS,LB,EFS.

  • Kubernetes deployment and Monitoring using Jenkins

    Kubernetes deployment and Monitoring using Jenkins

    Task: Using Jenkins Server on Rhel, Create a job chain of job1, job2, job3 and job4 using build pipeline plugin in…

    1 条评论
  • Number Plate Detection With Supervise.ly

    Number Plate Detection With Supervise.ly

    What is Supervisely? There are many open-sourced implementations of state of the art neural network architectures. But…

    8 条评论
  • Infrastructure as Code with AWS and Terraform

    Infrastructure as Code with AWS and Terraform

    For This Task, I first created an Amazon Machine Image(AMI) from an instance in which I configured Jenkins and Apache…

    20 条评论
  • CI/CD Pipeline Using Kubernetes

    CI/CD Pipeline Using Kubernetes

    Task Description 1. Create container image that’s has Linux and other basic configuration required to run Slave for…

    4 条评论
  • Hyperparameter Tuning using MLOps

    Hyperparameter Tuning using MLOps

    The percentage of AI models created but never put into production in large enterprises has been estimated to be as much…

    2 条评论
  • Facial Recognition using Transfer Learning

    Facial Recognition using Transfer Learning

    Transfer learning is a machine learning method where a model developed for a task is reused as the starting point for a…

    1 条评论

社区洞察

其他会员也浏览了