enhancing kubernetes with autoscaling & hybrid cloud iaas

16
Copyright © 2016 Mirantis, Inc. All rights reserved www.mirantis.com Enhancing Kubernetes with Autoscaling & Hybrid Cloud IaaS SF Kubernetes Meetup, 17 Feb, 2016 Craig Peters, Dir of Product Management, Mirantis @peterscraig Bhasker Nallapothula, Principal Architect, Biarca

Upload: matt-baldwin

Post on 11-Jan-2017

416 views

Category:

Technology


4 download

TRANSCRIPT

Copyright © 2016 Mirantis, Inc. All rights reserved

www.mirantis.com

Enhancing Kubernetes with Autoscaling & Hybrid Cloud IaaS SF Kubernetes Meetup, 17 Feb, 2016 Craig Peters, Dir of Product Management, Mirantis @peterscraig Bhasker Nallapothula, Principal Architect, Biarca

Copyright © 2016 Mirantis, Inc. All rights reserved

Why are we here?

Coders just wanna code

corollary

Infrastructure should be invisible Yet infrastructure is a requirement

Copyright © 2016 Mirantis, Inc. All rights reserved

OpenStack: open source infra API

Copyright © 2016 Mirantis, Inc. All rights reserved

Solution: Murano App Catalog Get, Share and Run Apps on Demand

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

Utilized by the OpenStack Community App Catalog

Company Introduction

Biarca. http://www.biarca.com/

A valley based cloud solutions company focused on open source technologies in transforming enterprise applications. In this effort partnered with leading cloud product companies such as Mirantis Inc, to build, deliver and service Innovative cloud based solutions.

5

Hybrid Multi-Cloud Auto Scalable Infrastructure Application.

Goal : Demonstrate a Hybrid Multi-Cloud Auto Scalable Infrastructure, using Murano

app catalog based enhanced Kubernetes and OpenVPN applications.

Murano-deployable OpenVPN, Kubernetes applications from App catalog. Secure VPN connectivity between Private and Public cloud compute services.

Metrics driven approach to Auto (Elastic) Scale Up or Down of compute nodes in Hybrid cloud environment. Murano Apps, Location :– https://github.com/biarca-nareshtr/murano-apps/tree/biarca-openvpn/OpenVPN https://github.com/biarca-gangadhar/murano-apps/tree/master/Docker/Kubernetes/KubernetesCluster/

package

Hybrid Auto Scaling Kubernetes

Demo

Auto Scaling Infrastructure in Hybrid Multi Cloud

Master K8s

Node

K8s node K8s node K8s node

K8s node

K8s node

K8s node

Kubernetes Cluster, deployed by Murano - OpenStack (Private Infrastructure) Public Cloud (GCE) –

Extended K8s, nodes created on demand

Hybrid Cloud Deployment: Simplified Network Diagram

OpenVPN

Auto Scaling Sample: K8s cAdvisor metrics driven

Auto Scale OpenStack Cloud

Murano Integration Kubernetes Auto Scale

Murano K8s - Auto Scaling Deployment

if (autoscale==true)

KubernetesCluster.yaml

Method: setupAutoscale()

KubernetesMasterNode.yaml

AutoScale.template

autoScale.sh

Update & Copy files to Master node: /etc/autoscale/autoscale.conf /opt/bin/autoscale/metrics.py /opt/bin/autoscale/scale.sh /etc/init.d/autoscale Install dependencies Restart autoscale service

Scale Up/Down Private Cloud

Metrics Service

Master Node

Scale.sh up/down

Scale Up Scale Down

Murano API Action

scaleNodeUp

Action scaleNodeDown

Murano Kubernetes Integration

Auto Scale with GCE

13

Auto Scale up to GCE

Metrics.py scale.sh up GCE Action=> addGceNode

KubernetesCluster.yaml

Method=>addGceNode()

KubernetesMaster.yaml

AddGceNode.template AddGceNode.sh

Auto Scale down from GCE

Metrics.py scale.sh down GCE Action=> deleteGceNode

KubernetesCluster.yaml

Method=>deleteGceNode()

KubernetesMaster.yaml

deleteGceNode.template DeleteGceNode.sh

Copyright © 2016 Mirantis, Inc. All rights reserved

Why are we here?

Questions? Next Steps: ●  Download Mirantis OpenStack http://software.mirantis.com/ ●  Try Kubernetes on OpenStack

http://apps.openstack.org/