Kubernetes-Murano Integration in Mirantis OpenStack 7.0 December 3, 2015 John Jainschigg (Mirantis), Bhasker Nallapothula (Biarca) and Ihor Dvoretskyi (Mirantis) www.mirantis.com
A few introductions John Jainschigg Technical Solutions Marketing (Mirantis) John Jainschigg works with Mirantis broad partner ecosystem, promoting new solution validation and encouraging customer choice. He is a former software developer, immersive 3D event-platform creator, tech magazine editor and columnist. Bhasker Nallapothula Architect (Biarca) Bhasker is a System software product development professional with 18+ years of experience, with primary focus on connected embedded products, in roles ranging from Software Development Engineer to S/W Engineering Management. Prior to Biarca, Bhasker was at AOptix Inc, Vedams, Rovi, LSI and Tata. He has a Master s Degree in Computer Science from the College of Engineering, Andhra University, India. Ihor Dvoretskyi OpenStack Operations Engineer (Mirantis) Ihor is an Operations Engineer at Mirantis Inc - with a huge experience working in IT companies, where he was responsible for a couple of projects, tightly bound to Cloud computing and *nix systems. Ihor is deeply interested in OpenStack cloud platform, other Cloud technologies and Open Source projects, including Kubernetes and related technologies.
A little housekeeping Please submit questions in the Questions pane. We ll provide a link where you can download the slides at the end of the webcast.
Agenda Kubernetes via Murano on OpenStack: Some History Next Steps: Multi-cloud and Auto-scaling Kubernetes on OpenStack: Some Background Demo: Multi-cloud and Auto-scaling Q&A
Why Murano? Complex apps, on OpenStack, easily Utilized by the OpenStack Community App Catalog Create Catalog Easily add new apps Describe forms, app dependencies, suggested configurations, billing rules etc. Deploy Apps Deploy applications and services with a push of a button Choose apps, specify settings, and deploy Automatically Manage Apps Monitor with Ceilometer Automatically self-heal, scale up & down, failover, backup Application specific actions Track usage
Why Murano? Customized, packaged orchestration OpenStack Catalog Developers and Operators OpenStack Catalog Users Black Box White Box 1. Define - Raw Application - Murano Packaging and Logic - Heat, etc. (Orchestration Assets & Templates) - VMs/OS-Images 2. Operate 1. Click 2. Launch
Container benefits Container - lightweight technology that lets users launch applications in an isolated environment on Linux Using containers benefits: Performance Repeatability Isolation Portability But managing containerized apps requires a different discipline and different tools
Kubernetes orchestrates containers The predecessor of Kubernetes was the Borg container orchestration tool, originally developed by Google. All the best ideas from Borg were incorporated into Kubernetes, that is open sourced and is available for everyone and runs everywhere Kubernetes is a container orchestrator that runs containers and supports various underlying environments
Kubernetes components Cluster - a set of nodes used by Kubernetes to run applications Node - a virtual or physical machine, where Kubelet runs and where pods can be created Pod - the smallest unit of Kubernetes - a colocated group of applications, running in the same context (e.g. - Webserver ) Replication Controller - a loop driving current state towards expected state Service - a set of running pods that run together (e.g., load-balanced backends) Labels - identifying metadata attached to their objects (e.g., dev vs prod)
Why Kubernetes via Murano on OpenStack Docker: light, fast, simple, portable, hub Kubernetes: Portability, platform abstraction, management, load balancing, app scaling, HA Murano: Ready-to-install applications (including Kubernetes and OpenVPN), orchestration API, local and community app catalogs OpenStack: Open, unlocked, API-driven IaaS layer Fuel: Installs OpenStack and Murano
Kubernetes via Murano on OpenStack: History Kubernetes Pod/Kubernetes Cluster Apps on apps. openstack.org at opening (March, 2015) Rapid, assured deployment of Dockerized apps on a scalable Kubernetes cluster, with Replication Controllers and cadvisor enabled Great solution for a single premise cloud
Kubernetes via Murano on OpenStack: Vision Organizations need multi-cloud They want to utilize premise cloud capacity efficiently, then burst at need to public hosts This can t be too complicated! Requires IaaS orchestration responsive to container status Securely, efficiently, manageably From single panes of glass (and toolkits)
Kubernetes and Murano: Multi-Cloud+Autoscaling 1. Murano installs Kubernetes and OpenVPN on OpenStack 2. OpenVPN used to link premise K8S with K8S on GCE (and other hosts in future) 3. IaaS scaling of Kubernetes nodes in response to Kubernetes resource utilization: On demand: uses Murano (and underlying orchestrators) to create and provision new K8S minion node VMs On demand: uses APIs to provision new minions on GCE
Kubernetes multi-cloud architecture
Kubernetes multi-cloud architecture: simplified Smart Kubernetes Cluster, deployed by OpenStack (Private Infrastructure) Public Cloud (GCE) Master Minion OpenVPN Minion Minion Minion Minion Minion Hybrid Cloud Deployment: Simplified Network Diagram
Metrics-driven scaling
Demo
Q&A What can we tell you?
Thank you A video will be posted next week.