42
Containers management in Openstack Alessandro M. Martellone - Cloud Engineer Daniel Depaoli - Cloud Developer Webinar on December 3th, 2015 - 15:00 CET

Webinar container management in OpenStack

Embed Size (px)

Citation preview

Page 1: Webinar container management in OpenStack

Containers management in Openstack

Alessandro M. Martellone - Cloud EngineerDaniel Depaoli - Cloud Developer

Webinar on December 3th, 2015 - 15:00 CET

Page 2: Webinar container management in OpenStack

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

Page 3: Webinar container management in OpenStack

1.Introduction

A brief introduction

Page 4: Webinar container management in OpenStack

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

Page 5: Webinar container management in OpenStack

2.aContainers

What are Containers? How are they implemented?

Page 6: Webinar container management in OpenStack

■ Many objects to transport

■ Many transports type

The problem in real world

Page 7: Webinar container management in OpenStack

The problem in real world

Page 8: Webinar container management in OpenStack

■ Many frameworks, many

libraries, softwares, versions,

etc.

■ Many operating systems

■ Many steps and many times to

configure a working environment

The problem

Page 9: Webinar container management in OpenStack

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.

Page 10: Webinar container management in OpenStack

Hypervisor vs Containers

Page 11: Webinar container management in OpenStack

Hypervisor Operating System

Kernel

1

VM 1(Ubuntu)

Kernel

2

VM 2(Centos)

Kernel

3

VM 3(Windows)

Hypervisor

Kernel

Page 12: Webinar container management in OpenStack

Containers Service

Service container

1(Web Server)

Service container

2(Database)

Service container

3(Continuous

Integration)

Container engine

Kernel

Page 13: Webinar container management in OpenStack

Containers Operating System

Container 1(Ubuntu)

Container 2(Centos)

Container 3(Debian)

Container engine

Kernel

Page 14: Webinar container management in OpenStack

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

Page 15: Webinar container management in OpenStack

2.bContainers implementation

How are they implemented?

Page 16: Webinar container management in OpenStack

Containers

● Docker

● Linux Containers

● many others

● Kubernetes

Page 17: Webinar container management in OpenStack

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.

Page 18: Webinar container management in OpenStack

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.

Page 19: Webinar container management in OpenStack

Docker

Page 20: Webinar container management in OpenStack

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)

Page 21: Webinar container management in OpenStack

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

Page 22: Webinar container management in OpenStack

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

Page 23: Webinar container management in OpenStack

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

Page 24: Webinar container management in OpenStack

Kubernetes - Architecture

Master

API

RESTScheduling

actuator

SchedulerController manager

Kubernetes Client

etcd

Authorization

Minion

Kubelet Proxy

Pod

Container

Page 25: Webinar container management in OpenStack

3.Murano

An Openstack application catalog

Page 26: Webinar container management in OpenStack

Why Murano?

■ Applications deployment

■ Integration with Openstack

■ Public and browsable applications

Page 27: Webinar container management in OpenStack

Murano

An application catalog that enable developers and cloud administrators to publish various cloud-ready

applications in a browsable categorized catalog

Page 28: Webinar container management in OpenStack

Murano

Page 29: Webinar container management in OpenStack

Murano

Page 30: Webinar container management in OpenStack

4.Containers in Openstack

How to integrate containers in Openstack cloud

Page 31: Webinar container management in OpenStack

Containers in Openstack

● Nova docker

● Murano and Docker● Murano and Kubernetes

● Magnum

Page 32: Webinar container management in OpenStack

Nova docker

An hypervisor driver for Nova Compute

Deprecated

Page 33: Webinar container management in OpenStack

Nova docker

● “replace” the Nova compute hypervisor

● runs only docker containers

● consider a containers as a virtual machine

● compute node dedicated for it

Page 34: Webinar container management in OpenStack

Docker and Murano

Murano should deploy a Machine with docker engine and load on it a container.

Page 35: Webinar container management in OpenStack

Kubernetes and Murano

Murano should also deploy a Kubernetes environment.

Page 36: Webinar container management in OpenStack

Magnum

An OpenStack API service making container orchestration engines available as first class

resource

Page 37: Webinar container management in OpenStack

Magnum

● Multi containers type support

● Uses Heat to orchestrate an OS image with containers engine

● Full OpenStack integrate

Page 38: Webinar container management in OpenStack

5.Video Demo

Page 39: Webinar container management in OpenStack

Demo 1 Nova Docker

Demo 2 Magnum (https://vimeo.com/128538940)

Demo 3 Murano

Demo 4 Murano and docker

Demo 5 Murano and Kubernetes

Page 40: Webinar container management in OpenStack

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

[email protected]

Page 41: Webinar container management in OpenStack

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

Page 42: Webinar container management in OpenStack

Thanks!Watch the video

at https://www.youtube.com/watch?v=w9Qxjid3CdY