Containers management
in Openstack
Alessandro M. Martellone - Cloud Engineer
Daniel Depaoli - Cloud Developer
Webinar on December 3th, 2015 - 15:00 CET
Hello!
I am Alessandro M. Martellone
I am Daniel Depaoli
I am an enthusiastic user of OpenStack too!
I work at Create-Net and I’m involved in software defined
networking and cloud network project. I’m also an Openstack
devops.
Contacts:
ddepaoli@create-net.org
http://www.linkedin.com/in/ddepaoli
I am an enthusiastic user of OpenStack.
I work at Create-Net as Cloud Platform Engineer. Mainly
involved on Future Internet infrastructures and cloud
platforms.
Contacts:
amartellone@create-net.org
http://www.linkedin.com/in/alessandromartellone
1.
Introduction
A brief introduction
Content
1. Introduction
2. Containers
a. What are containers
b. LXC
c. Docker
d. Kubernetes
3. Murano
4. Container in Openstack
a. Nova docker
b. Murano
c. Magnum
5. Demo
a. Nova docker
b. Magnum (https://vimeo.com/128538940)
c. Murano
d. Murano and docker
e. Murano and Kubernetes
2.a
Containers
What are Containers? How are they implemented?
■ Many objects to transport
■ Many transports type
The problem in real world
The problem in real world
■ Many frameworks, many
libraries, softwares, versions,
etc.
■ Many operating systems
■ Many steps and many times to
configure a working environment
The problem
Hardware resource
A container is an
allocation, portioning,
and assignment of host
(compute) resources
such as CPU Shares,
Network I/O, Bandwidth,
Block I/O, and Memory
(RAM).
Software Containers
Namespace
Using of namespaces to
isolate processes,
networks, mount points
from one container to
others.
Common Kernel
Containers model
eliminates the hypervisor
layer, redundant OS
kernels, binaries and
libraries needed to
typically run workloads
in a vm.
Hypervisor vs Containers
Hypervisor Operating System
Kernel
1
VM 1
(Ubuntu)
Kernel
2
VM 2
(Centos)
Kernel
3
VM 3
(Windows)
Hypervisor
Kernel
Containers Service
Service container
1
(Web Server)
Service container
2
(Database)
Service container
3
(Continuous
Integration)
Container engine
Kernel
Containers Operating System
Container 1
(Ubuntu)
Container 2
(Centos)
Container 3
(Debian)
Container engine
Kernel
Why Containers?
Speed
Ships within
seconds,
automated deploy
in seconds, boot in
seconds.
Footprint
In a single machine
100-1000
containers, against
10-100 virtual
machines
Still
Virtualization
Networks, file
system, resource
isolation
2.b
Containers implementation
How are they implemented?
Containers
● Docker
● Linux Containers
● many others
● Kubernetes
LXC (Linux Containers)
■ Working with Linux Kernel > 2.6.24 when cgroups was
introduced
■ It combines kernel's cgroups and support for isolated
namespaces to provide an isolated environment for
applications.
Docker
API + tools for developers
cross platform
component re-use
● online containers repository
Docker is an open platform for developers and
sysadmins to build, ship, and run distributed
applications.
Docker
Other implementations
Warden
BSD Jails
Workload partitions Parallels Virtuozzo Containers
Sandboxie
WPARS
Solaris Containers
Linux V-Server
iCore Virtual Accounts
Hp-UX Containers
Rocket (rkt)
Kubernetes
Open source system for managing containerized
applications across multiple hosts, providing basic
mechanisms for deployment, maintenance, and
scaling of applications.
● deployment automation
● scaling application
● cluster management
● container organizer
Kubernetes - High level architecture
● Cluster: set of nodes
● Master: Main cluster node.
It’s the main management
contact point for
administrators
● Minion: working server
● Pod: one or more containers
that should be controlled as
a single application
Kubernetes main processes
Controller
manager
Replication
pods
management
Proxy
Containers
network
manager
Label (etcd)
key/value pair
for objects
identification
Kubelet
Container agent,
ensure
containers
running
Api
Api service
Scheduler
Assignment of
workloads
Docker
Kubernetes - Architecture
Master
API
REST
Scheduling
actuator
Scheduler
Controller
manager
Kubernetes Client
etcd
Authorization
Minion
Kubelet Proxy
Pod
Container
3.
Murano
An Openstack application catalog
Why Murano?
■ Applications deployment
■ Integration with Openstack
■ Public and browsable applications
Murano
An application catalog that enable developers and
cloud administrators to publish various cloud-ready
applications in a browsable categorized catalog
Murano
Murano
4.
Containers in Openstack
How to integrate containers in Openstack cloud
Containers in Openstack
● Nova docker
● Murano and Docker
● Murano and Kubernetes
● Magnum
Nova docker
An hypervisor driver for Nova Compute
Deprecated
Nova docker
● “replace” the Nova compute hypervisor
● runs only docker containers
● consider a containers as a virtual machine
● compute node dedicated for it
Docker and Murano
Murano should deploy a Machine with docker engine and load on it a container.
Kubernetes and Murano
Murano should also deploy a Kubernetes environment.
Magnum
An OpenStack API service making container
orchestration engines available as first class
resource
Magnum
● Multi containers type support
● Uses Heat to orchestrate an OS image with containers
engine
● Full OpenStack integrate
5.
Video Demo
Demo 1 Nova Docker
Demo 2 Magnum (https://vimeo.com/128538940)
Demo 3 Murano
Demo 4 Murano and docker
Demo 5 Murano and Kubernetes
OpenStack Bootcamp
The main topics covered are:
■ Overview on OpenStack and its
architecture,
■ OpenStack networking;
■ Swift;
■ Ceilometer and its architecture,
■ Heat Overview;
■ OpenStack deployment.
At the end of the Bootcamp each
student will be able to:
■ Describe the architecture of an
OpenStack deployment;
■ Discuss the main functionalities
of OpenStack;
■ Deploy, configure and use the
Openstack services;
■ Create and manage VMs and
Virtual Networks;
■ Create and manage, suers, roles,
and quotas;
■ Use the OpenStack CLI and
Dashboard.
In partnership with Mirantis
For further information:
http://openstack.create-net.org
openstack@create-net.org
Reference
[1] https://www.docker.com/whatisdocker
[2] http://www.slideshare.net/jpetazzo/introduction-docker-linux-containers-lxc
[3] https://linuxcontainers.org/lxc/introduction/
[4] https://coreos.com/blog/rocket/
[5] http://kubernetes.io/v1.0/docs/whatisk8s.html
[6] https://docs.docker.com/swarm/
[7] https://coreos.com/
[8] http://www.projectatomic.io/
[9] https://wiki.openstack.org/wiki/Docker
[10] https://wiki.openstack.org/wiki/Murano
[11] https://wiki.openstack.org/wiki/Magnum
[12] http://kubernetes.io/v1.0/docs/whatisk8s.html
[13] http://aucouranton.com/2014/06/13/linux-containers-parallels-lxc-openvz-docker-and-more/
[14] http://www.socallinuxexpo.org/sites/default/files/presentations/Jerome-
Scale11x%20LXC%20Talk.pdf
[15] http://martinfowler.com/articles/microservices.html
[16] https://www.digitalocean.com/community/tutorials/an-introduction-to-kubernetes
[17] https://blog.risingstack.com/operating-system-containers-vs-application-containers/
[18] https://github.com/appc/spec/blob/master/SPEC.md
[19] http://media.wix.com/ugd/295986_d5059f95a78e451db5de3d54f711e45d.pdf
Thanks!
Watch the video
at
https://www.youtube.co
m/watch?v=w9Qxjid3CdY

Webinar container management in OpenStack

  • 1.
    Containers management in Openstack AlessandroM. Martellone - Cloud Engineer Daniel Depaoli - Cloud Developer Webinar on December 3th, 2015 - 15:00 CET
  • 2.
    Hello! I am AlessandroM. Martellone I am Daniel Depaoli I am an enthusiastic user of OpenStack too! I work at Create-Net and I’m involved in software defined networking and cloud network project. I’m also an Openstack devops. Contacts: ddepaoli@create-net.org http://www.linkedin.com/in/ddepaoli I am an enthusiastic user of OpenStack. I work at Create-Net as Cloud Platform Engineer. Mainly involved on Future Internet infrastructures and cloud platforms. Contacts: amartellone@create-net.org http://www.linkedin.com/in/alessandromartellone
  • 3.
  • 4.
    Content 1. Introduction 2. Containers a.What are containers b. LXC c. Docker d. Kubernetes 3. Murano 4. Container in Openstack a. Nova docker b. Murano c. Magnum 5. Demo a. Nova docker b. Magnum (https://vimeo.com/128538940) c. Murano d. Murano and docker e. Murano and Kubernetes
  • 5.
    2.a Containers What are Containers?How are they implemented?
  • 6.
    ■ Many objectsto transport ■ Many transports type The problem in real world
  • 7.
    The problem inreal world
  • 8.
    ■ Many frameworks,many libraries, softwares, versions, etc. ■ Many operating systems ■ Many steps and many times to configure a working environment The problem
  • 9.
    Hardware resource A containeris an allocation, portioning, and assignment of host (compute) resources such as CPU Shares, Network I/O, Bandwidth, Block I/O, and Memory (RAM). Software Containers Namespace Using of namespaces to isolate processes, networks, mount points from one container to others. Common Kernel Containers model eliminates the hypervisor layer, redundant OS kernels, binaries and libraries needed to typically run workloads in a vm.
  • 10.
  • 11.
    Hypervisor Operating System Kernel 1 VM1 (Ubuntu) Kernel 2 VM 2 (Centos) Kernel 3 VM 3 (Windows) Hypervisor Kernel
  • 12.
    Containers Service Service container 1 (WebServer) Service container 2 (Database) Service container 3 (Continuous Integration) Container engine Kernel
  • 13.
    Containers Operating System Container1 (Ubuntu) Container 2 (Centos) Container 3 (Debian) Container engine Kernel
  • 14.
    Why Containers? Speed Ships within seconds, automateddeploy in seconds, boot in seconds. Footprint In a single machine 100-1000 containers, against 10-100 virtual machines Still Virtualization Networks, file system, resource isolation
  • 15.
  • 16.
    Containers ● Docker ● LinuxContainers ● many others ● Kubernetes
  • 17.
    LXC (Linux Containers) ■Working with Linux Kernel > 2.6.24 when cgroups was introduced ■ It combines kernel's cgroups and support for isolated namespaces to provide an isolated environment for applications.
  • 18.
    Docker API + toolsfor developers cross platform component re-use ● online containers repository Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications.
  • 19.
  • 20.
    Other implementations Warden BSD Jails Workloadpartitions Parallels Virtuozzo Containers Sandboxie WPARS Solaris Containers Linux V-Server iCore Virtual Accounts Hp-UX Containers Rocket (rkt)
  • 21.
    Kubernetes Open source systemfor managing containerized applications across multiple hosts, providing basic mechanisms for deployment, maintenance, and scaling of applications. ● deployment automation ● scaling application ● cluster management ● container organizer
  • 22.
    Kubernetes - Highlevel architecture ● Cluster: set of nodes ● Master: Main cluster node. It’s the main management contact point for administrators ● Minion: working server ● Pod: one or more containers that should be controlled as a single application
  • 23.
    Kubernetes main processes Controller manager Replication pods management Proxy Containers network manager Label(etcd) key/value pair for objects identification Kubelet Container agent, ensure containers running Api Api service Scheduler Assignment of workloads Docker
  • 24.
  • 25.
  • 26.
    Why Murano? ■ Applicationsdeployment ■ Integration with Openstack ■ Public and browsable applications
  • 27.
    Murano An application catalogthat enable developers and cloud administrators to publish various cloud-ready applications in a browsable categorized catalog
  • 28.
  • 29.
  • 30.
    4. Containers in Openstack Howto integrate containers in Openstack cloud
  • 31.
    Containers in Openstack ●Nova docker ● Murano and Docker ● Murano and Kubernetes ● Magnum
  • 32.
    Nova docker An hypervisordriver for Nova Compute Deprecated
  • 33.
    Nova docker ● “replace”the Nova compute hypervisor ● runs only docker containers ● consider a containers as a virtual machine ● compute node dedicated for it
  • 34.
    Docker and Murano Muranoshould deploy a Machine with docker engine and load on it a container.
  • 35.
    Kubernetes and Murano Muranoshould also deploy a Kubernetes environment.
  • 36.
    Magnum An OpenStack APIservice making container orchestration engines available as first class resource
  • 37.
    Magnum ● Multi containerstype support ● Uses Heat to orchestrate an OS image with containers engine ● Full OpenStack integrate
  • 38.
  • 39.
    Demo 1 NovaDocker Demo 2 Magnum (https://vimeo.com/128538940) Demo 3 Murano Demo 4 Murano and docker Demo 5 Murano and Kubernetes
  • 40.
    OpenStack Bootcamp The maintopics covered are: ■ Overview on OpenStack and its architecture, ■ OpenStack networking; ■ Swift; ■ Ceilometer and its architecture, ■ Heat Overview; ■ OpenStack deployment. At the end of the Bootcamp each student will be able to: ■ Describe the architecture of an OpenStack deployment; ■ Discuss the main functionalities of OpenStack; ■ Deploy, configure and use the Openstack services; ■ Create and manage VMs and Virtual Networks; ■ Create and manage, suers, roles, and quotas; ■ Use the OpenStack CLI and Dashboard. In partnership with Mirantis For further information: http://openstack.create-net.org openstack@create-net.org
  • 41.
    Reference [1] https://www.docker.com/whatisdocker [2] http://www.slideshare.net/jpetazzo/introduction-docker-linux-containers-lxc [3]https://linuxcontainers.org/lxc/introduction/ [4] https://coreos.com/blog/rocket/ [5] http://kubernetes.io/v1.0/docs/whatisk8s.html [6] https://docs.docker.com/swarm/ [7] https://coreos.com/ [8] http://www.projectatomic.io/ [9] https://wiki.openstack.org/wiki/Docker [10] https://wiki.openstack.org/wiki/Murano [11] https://wiki.openstack.org/wiki/Magnum [12] http://kubernetes.io/v1.0/docs/whatisk8s.html [13] http://aucouranton.com/2014/06/13/linux-containers-parallels-lxc-openvz-docker-and-more/ [14] http://www.socallinuxexpo.org/sites/default/files/presentations/Jerome- Scale11x%20LXC%20Talk.pdf [15] http://martinfowler.com/articles/microservices.html [16] https://www.digitalocean.com/community/tutorials/an-introduction-to-kubernetes [17] https://blog.risingstack.com/operating-system-containers-vs-application-containers/ [18] https://github.com/appc/spec/blob/master/SPEC.md [19] http://media.wix.com/ugd/295986_d5059f95a78e451db5de3d54f711e45d.pdf
  • 42.