deploying openstack using ansible

15
© 2016 IBM Corporation Deploying OpenStack using Ansible Openstack Day India Event 2016 Chhavi Agarwal IBM

Upload: openstackindia

Post on 08-Jan-2017

426 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Deploying openstack using ansible

© 2016 IBM Corporation

Deploying OpenStack using Ansible

Openstack Day India Event 2016

Chhavi AgarwalIBM

Page 2: Deploying openstack using ansible

© 2016 IBM Corporation

Openstack Day India Event 2016

Agenda

What is Openstack-Ansible ?

Why we need it ?

OSAD Architecture

OSAD Configuration

How to use it ?

2

Page 3: Deploying openstack using ansible

© 2016 IBM Corporation

Openstack Day India Event 2016

Why we need Openstack Ansible

Openstack is hard to install and configure.

Out of band configuration issues

Legacy architecture does not scale well.

3

Page 4: Deploying openstack using ansible

© 2016 IBM Corporation

Openstack Day India Event 2016

Openstack Ansible

“Deploying OpenStack from source in a way that makes it scalable while also being

simple to operate, upgrade, and grow.”

4

Page 5: Deploying openstack using ansible

© 2016 IBM Corporation

Openstack Day India Event 2016

Openstack Ansible

Openstack-Ansible is a Rackspace Initiatives.

Provides a production ready deployment.

It uses the power of Ansible.

Services are pulled and deployed from the Git Source repositories.

It uses LXC containers to deploy Openstack services.

Easy to deploy and scale private clouds from single to even thousand nodes.

5

Page 6: Deploying openstack using ansible

© 2016 IBM Corporation

Openstack Day India Event 2016

Why Ansible

Ansible provides an automated IT framework for cloud provisioning, configuration

and application deployment.

It uses a very simple YAML language for playbooks and roles.

Ansible manages system using SSH, so no remote agents or daemons needed

Allows parallel task execution.

Ansible contains a rich set of > 200 built-in modules

Playbooks are simple and can be easily fine-tuned as per requirement.

6

Page 7: Deploying openstack using ansible

© 2016 IBM Corporation

Openstack Day India Event 2016

Why LXC Containers

Openstack runs services in LXC containers ~ Bare-metal.

Provides OS level virtualization include CPU, memory and block I/O.

Compatible with many network architectures.

Supports LVM Backend

Stable and provides Scalability.

7

Page 8: Deploying openstack using ansible

© 2016 IBM Corporation

Openstack Day India Event 2016

Openstack Ansible Host Layout

8

Redundant 10Gb Network Switches

Infrastructure Control

Plane

Nova

Heat

Glance

keystone

Neutron cinder

Horizon

Galera

Memcached

RabbitMQ

Compute

Plane (n)

Storage

Plane (n)

Cinder-

volume

iSCSI

targets

Ceph

nodes

Bo

nd

0

Bo

nd

0

Bo

nd

1

Bo

nd

1

Bo

nd

1

Infrastructure

Logging

Host

Rsyslog

Logstash

ELK

Bo

nd

0

Bo

nd

1

External

NetworksLoad

Balancers

Bo

nd

0

Bo

nd

1

Openstack services

Infrastructure services

Deploy

ment

Host

Ansible

Bond 0 Management Network

Bond 1 VM Network

Page 9: Deploying openstack using ansible

© 2016 IBM Corporation

Openstack Day India Event 2016

Openstack-Ansible Requirement

9

16GB RAM, 100GB Disk

Ubuntu 14.04 LTS

Secure Shell (SSH) client and server that supports public key authentication

Network Time Protocol (NTP) client for time synchronization.

Python 2.7 or later.

Page 10: Deploying openstack using ansible

© 2016 IBM Corporation

Openstack Day India Event 2016

Openstack-Ansible configuration

/etc/Openstack-user-config.yml

10

Page 11: Deploying openstack using ansible

© 2016 IBM Corporation

Openstack Day India Event 2016

Openstack-Ansible Configuration

Located in /etc/openstack_deploy

– Openstack-user-config.yml

– user_variables.yml

– user_secrets.yml

conf.d Define additional services like swift, ceph, haproxy

/etc/openstack_deploy/env.d/* Used to defined additional group mapping.

11

Page 12: Deploying openstack using ansible

© 2016 IBM Corporation

Openstack Day India Event 2016

OSA All-In-One Installation

Install on a fresh Ubuntu 14.04 host

– # git clone https://github.com/openstack/openstack-ansible \

/opt/openstack-ansible

– # cd /opt/openstack-ansible

– # scripts/bootstrap-ansible.sh // Installs Ansible, roles and modules

– # scripts/bootstrap-aio.sh // Sets up host and config files

– # vi /etc/openstack_deploy/... // Optional: If u want to make any changes

– # scripts/run-playbooks.sh // Install Openstack Services

12

Page 13: Deploying openstack using ansible

© 2016 IBM Corporation

Openstack Day India Event 2016

Adding a Compute Node

Edit the /etc/openstack_deploy/openstack_user_config.yml file and add the host to the compute_hosts

stanza.

# cd /opt/openstack-ansible/playbooks

# openstack-ansible setup-hosts.yml --limit NEW_HOST_NAME

# openstack-ansible setup-openstack.yml --skip-tags nova-key-distribute --limit NEW_HOST_NAME

# openstack-ansible setup-openstack.yml --tags nova-key --limit compute_hosts

13

Page 14: Deploying openstack using ansible

© 2016 IBM Corporation

Openstack Day India Event 2016

Openstack-Ansible Community

Openstack-Ansible is evolving project.

Partners: Rackspace, cisco, hp, Time-warner

Enough scopes for feature enhancement

Code Location : https://github.com/openstack-ansible/openstack-ansible

IRC Channel: chat.freenode.net #Openstack-ansible

14

Page 15: Deploying openstack using ansible

© 2015 IBM Corporation

Openstack Day India Event 2016

15