enhancing kubernetes with autoscaling & hybrid cloud iaas
Post on 11-Jan-2017
417 Views
Preview:
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
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
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
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
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
top related