This is a workshop done on codemonsters.pro technological conference.
It illustrates how you can create and deal with vm and container virtual infrastructures and combine them in a useful way.
1. From OpenStack to Docker
swarm
Nikolay Milovanov
New Bulgarian University
nmilovanov@nbu.bg
2. OpenStack facts and figures
• Cloud IAAS automation stack
• Began 2010 as a project between NASA &
RackSpace
• First Component is the hypervisor Nebula which
now is called Nova
• Distributed under Apache license
• Developed by a community of around 1800 active
committers (increased from 400 to 1500 for less
than an year…)
3. OpenStack facts and figures
• Managed by OpenStack Foundation
• Evolves based on a coordinated 6-month
release cycle with frequent development
milestones
• Currently has 14 releases
– 15th Ocata is scheduled for Feb 2017 (Apr 2017)
4. OpenStack releases and component evolution
Austin 21-Oct-10 Nova, Swift
Bexar 3-Feb-11 Nova, Glance, Swift
Cactus 15-Apr-11 Nova, Glance, Swift
Diablo 22-Sep-11 Nova, Glance, Swift
Essex 5-Apr-12 Nova, Glance, Swift, Horizon, Keystone
Folsom 27-Sep-12 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder
Grizzly 4-Apr-13 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder
Havana
17-Oct-13
Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder,
Heat, Ceilometer
Icehouse
17-Apr-14
Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder,
Heat, Ceilometer, Trove
Juno
16-Oct-14
Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder,
Heat, Ceilometer, Trove, Sahara
Kilo
Apr-15
Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder,
Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila,
Designate, Barbican
Liberty Oct-15
Mitaka Apr-16
Newton Oct-15
MAGNUM, designate
Focus has shifted towards improving the existing once
6. Docker
• Docker is an open-source project that automates
the deployment of Linux applications inside
software containers
• Docker is a wrapper on top of liblxc/libcontainer
which are wrappers of a couple of key kernel
features
– namespaces, originally developed by IBM, wrap a set
of system resources and present them to a process to
make it look like they are dedicated to that process.
– cgroups, originally developed by Google, govern the
isolation and usage of system resources, such as CPU
and memory, for a group of processes
7. Docker Swarm
• Native clustering for Docker
• Turns a pool of Docker hosts into a single,
virtual Docker host
• Allows us to do clusters of docker containers
8. NBU
• First and largest private university in Bulgaria
• First to introduce credit system
• Has started from two apartments
• Now has about 14000 students
• Mostly humanitarian university
• Clear separation between administration and academic
• Technology programs are in
– Telecommunications
– Informatics
• OpenStack lab is hosted by Telecommunications
department in Building 2, lab 701a
10. Scenario
• In an OpenStack tenant we will :
– create virtual network, subnet and a router
– play a bit with the native OpenStack security
functionalities such as keys and access-groups
– deploy a VM from an cloud image
12. Second part
• inject user-data and do fun with the VM
• deploy automatically docker& docker swarm
into an OpenStack VM
• If we do all that, we are a real heroes and will
play with some containers on top of the
swarm cluster
13. To do the exercise you will need
OpenStack clients
• Those will hit straight OpenStack REST APIs
• You need to install:
– pip install python-novaclient
– pip install python-neutronclient
– pip install python-glanceclient
• Credentials
– User: ….
– Tenant: ….
– Password: ….
– GUI (you won’t need it but anyway)
– http://java2days.telecom.nbu.bg/dashboard
• Slides and workshop scripts
– https://goo.gl/sA2xmt
Magnum is an OpenStack API service developed by the OpenStack Containers Team making container orchestration engines such as Docker Swarm, Kubernetes, and Apache Mesos available as first class resources in OpenStack.