kubernetes integration with odl

Post on 15-Apr-2017

338 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Integration of Kubernetes and OpenDaylight

Prem Sankar Gopannan, EricssonFaseela K, Ericsson

• Microservice• Use case – NFV• Kubernetes• Proposed Architecture• Demo• Q&A

Agenda

Microservice Architecture

• Pattern that helps break down monolithic software into smaller independent modules

• Enables exploiting the real power of elasticity

• Enables scaling and high availability of these modules at a granular level

• Application containers help you enable Microservices and host these modules

• Containers• Virtualization methodology• OS Kernel allows for multiple isolated user space• Isolation by concepts like Cgroups and namespaces

• Cgroups provides ability to• limit, account and isolate resource usage of process groups. Resource

includes CPU, memory, disk I/O• prioritize resources• Control that includes freeze, checkpoint and restarts

• Namespace partitions key kernel structure to create environment that include process, network, IPC, mount points, hostname and user

Microservice enabler - Containers

Microservice and NFV

- NFVi platform provides the infrastructure for VNF

- NFVi needs to host VNF from different vendors

- VNF would come in different flavours

- It is key that NFVi supports containers and manages the container ecosystem

• Popular ones in the market• Kubernetes - Google• Mesos - Mesosphere• Nomad - Hasicorp• Docker Swarm - Docker• Cloud Foundry - Pivotal• Openshift – Redhat

Container management landscape

Kubernetes and Microservice

Current trendMonolithic > Microservice > Docker > How to manage > Kubernetes

Source: Openstack User survey report, Apr 2016

• Kubernetes (K8S) is a container cluster management tool

• K8S helps you realize the microservice architecture

• Openstack:VM::Kubernetes:Containers

Kubernetes

• Components of Kubernetes• Master -> Server with the K8S API service• Pod -> Defines a collection of containers tied together that are deployed

in the same minion, for example a database and a web server container.• Replication controller -> Defines how many pods or containers need to be

running. The containers are scheduled across multiple minions.• Service -> A definition that allows discovery of services/ports published by

containers, and external proxy communications. A service maps the ports of the containers running on pods across multiple minions to externally accesible ports.

• Kubecfg -> The command line client that connects to the master to administer Kubernetes.

Kubernetes

Neutron Plugin or Gluon/Proton

Linux Linux Linux Linux

Kubernetes

Datacenter Hardware

Linux

OpenStack

OVS

App

Orchestration Systems

OpenStack APIs

OpenDayLight

Kubernetes APIs

CNI Plugin

KVM KVM Container RT

Container RT

App App App

VM Application Container Application

Proposed Architecture

• Magnum – API to manage multitenant Containers• Supports Swarm, Kuberenetes and Mesos

• Kolla – Openstack control services as containers• Murano – Application catalog of containerized applications• Kuryr – Bridges neuton networking model to containers

Containers and Openstack

DEMO Information

vhost

VM

Open vSwitch

Container

OpenDaylight

Kubernetes Master

Kubelet

CNI Plugin

Server 1 Server 2

Kubelet

CNI PluginContainer VM

veth

Container Container

veth

phy phy

Open vSwitch vhost

OpenStack

Demo Setup

Open vSwitch

Host OS

Open vSwitch

VM

Container App

Container App

Container App

VLAN’s

Openstack Magnum

OpenDaylight

Kubernetes / Docker

Kuryr

Neutron / Gluon

Container App

Container App

Container App

Container Mgt

(docker, kube-pxy)

Iptables / NAT/FW

Integrated Native

Moving forward

New beginning …

top related