kubernetes integration with odl
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 …