Date post: | 18-Feb-2017 |
Category: |
Technology |
Upload: | george-paraskevas |
View: | 175 times |
Download: | 1 times |
Deploying OpenStack with Ansible
Athens OpenStack User Group #OSATH
18th Meetup, 17th April 2016George Paraskevas,
Who am I
George ParaskevasSystems Engineer @ Stackmasters
OpenStack Administrator
Agenda
• What is OpenStack
• What is openstack-Ansible
• Design principles
• Releases
• Q&A
What is OpenStack
• OpenStack is an open source software for building private and public IaaS clouds
What is openstack-ansible
• A set of ansible playbooks to manage an OpenStack cloud• Deploy
• Maintain
• Upgrade
• Supports source based installation
• Uses LXC containers
• Contributed by Rackspace since kilo release
Why Ansible?
• Easy to write and read• YAML
• Easy to install• SSH and Python only dependencies
• Agentless
• Community driven
• Powerful and modular
• Highly reliable• Idempotent modules
Why containers?
Containers provide:• Isolation
• Support many networking architectures• Bridged
• Vlans
• Stable and mature technology
• LVM as backed• snapshots
Design principles
• Vanilla OpenStack• Source based installation based on PIP wheels
• High Availability
• Manageability
Architecture
• Isolates components and services within containers
• Runs on Ubuntu 14.04
• Ansible task tagging
• Targets multiple nodes
• Deploys OpenStack from upstream sources
• Extensible
Infrastructure components
• Galera/MariaDB cluster for database backend
• RabbitMQ cluster
• PIP repository
• Memcached
• Rsyslog
Openstack components
• Neutron with ML2 and LinuxBridge as mechanism
• Swift
• Heat
• Ceph integration
• Ceilometer
• Ironic
• Designate
• And more…
RPC and community release
• Was Rackspace specific until Kilo
• Kilo was the first community release
• Rackspace specific playbooks moved to rpc repository• https://github.com/rcbops/rpc-openstack
• Moved to OpenStack namespace in 2015• https://github.com/openstack/openstack-ansible
Deployment
• Clone the repo• # cd /opt && git clone –b liberty https://github.com/openstack/openstack-
ansible.git
• Configure inventory variables and secrets
• Run the playbooks• # openstack-Ansible setup-everything.yml
Configuration
• Openstack-Ansible configuration resides under:• /etc/openstack_deloy
• Inventory• /etc/openstack_deploy/openstack_user_config.yml
• Variables and secrets• /etc/openstack_deploy/user_secrets.yml
• /etc/openstack_deploy/user_variables.yml
Control plain Node addition
shared-infra_hosts:
infra1:
192.168.10.12
Infra2:
192.168.10.13
# openstack-ansible setup-everything.yml –limit os-infra_all \ shared-infra_all \ identity_all
Compute Node addition
Compute_hosts:
compute1:
192.168.10.42
compute2:
192.168.10.43
# openstack-ansible setup-everything.yml –limit nova_compute
Beyond openstack-ansible
• Great example of Ansible use
• Great example of an OpenStack infrastructure
• Great AIO installation for testing
• Great way to become a contributor• #openstack-ansible
• https://github.com/openstack/openstack-ansible
Thank you!
Athens OpenStack User Group #OSATHhttp://www.meetup.com/Athens-OpenStack-User-Group
George Paraskevas [email protected]