Upload
create-net
View
331
Download
3
Embed Size (px)
Citation preview
Containers management in Openstack
Alessandro M. Martellone - Cloud EngineerDaniel 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:[email protected]://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:[email protected]://www.linkedin.com/in/alessandromartellone
1.Introduction
A brief introduction
Content
1. Introduction2. Containers
a. What are containers
b. LXC
c. Docker
d. Kubernetes3. Murano4. Container in Openstack
a. Nova docker
b. Murano
c. Magnum5. Demo
a. Nova dockerb. Magnum (https://vimeo.com/128538940)
c. Murano
d. Murano and docker
e. Murano and Kubernetes
2.aContainers
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?
SpeedShips within
seconds, automated deploy in seconds, boot in
seconds.
FootprintIn a single machine
100-1000 containers, against
10-100 virtual machines
Still Virtualization
Networks, file system, resource
isolation
2.bContainers 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
RESTScheduling
actuator
SchedulerController 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
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.com/watch?v=w9Qxjid3CdY