Upload
shapeblue
View
1.021
Download
0
Embed Size (px)
Citation preview
Containers and CloudStack
Sebastien GoasguenLondon, March 3rd 2016
@sebgoa@skippbox
Background
• Founder, Skippbox• VP of Apache
CloudStack• PMC of Apache libcloud• ASF member• O’Reilly author of the
Docker cookbook
• Thanks
@skippbox
Outline
• Comments on CloudStack in 2015• Exciting personal update• Quick Docker review• Container orchestrators• Letting loose
@skippbox
CloudStack in 2015• Solid year– New release workflow and commit process
• Stable community– High growth in Latin America
• New features:– Quota, SAML, Metrics, Nuage, rVPC, -AWSAPI,
Docker images …• Two news items:– Citrix sold CCP to Accelerite– Schuberg maintains its own open source fork
@skippbox
Skippbox• Container startup• Embracing Kubernetes• Building a product focusing on
Applications deployment and self-management
• Open Source• http://www.skippbox.com
@skippbox
Three drivers
• Kubernetes toolbox to ease on-ramp for developers and operators.kmachine, kompose, boot2k8s, skippbox
https://github.com/skippbox• Distributed app marketplace based on Kubernetes
• Event-based app life-cycle system
@skippbox
Docker review
@skippbox
Docker ?
@skippbox
@skippbox
Just in case…
$ sudo yum install docker-engine$ sudo service docker start
$ docker pull nginx$ docker run –p 80:80 nginx
@skippbox
Then…
• Docker engine• Docker compose• Docker machine• Docker Swarm• Docker Toolbox• Docker Network
@skippbox
“Ecosystem on fire”
@skippbox
@skippbox
Orchestrators “war”
@skippbox
Docker in CloudStack
@skippbox
Integration points
• Docker in CloudStack guests• Package CloudStack as a set of containers• Docker as infra plumbing• Docker orchestrators
@skippbox
Docker in cloudstack VM
@skippbox
Where do you run Docker ?
@skippbox
• On VMs
• In a Public cloud
• Guests with Docker engine
• “Docker templates”
@skippbox
Offer those in your cloud
@skippbox
e.g PCextreme
@skippbox
Docker-Machine
• One binary to create a remote Docker host and setup the TLS communication with your local docker client.
• Automates the TLS setup and the configuration of the local environment
• Can manage multiple machines in different clouds at the same time
@skippbox
CloudStack and Machine• Many drivers (e.g exoscale, btcloud… )• Generic CloudStack driver needs love
$ docker-machine create -d exoscale foobarINFO[0000] Creating SSH key... INFO[0001] Creating exoscale... INFO[0005] Waiting for SSH... INFO[0072] Configuring Machine...
$ kmachine create –d btcloud foobar$ kompose k8s up -d
@skippbox
Container orchestrators
@skippbox
Container orchestrators
• How to manage containers on multi-host ?• How to do service discovery ?
• e.g Docker swarm, Lattice, kubernetes, Rancher
• Should CloudStack orchestrates containers ?
@skippbox
e.g How about Swarm ?
• You can create a swarm cluster with docker-machine
• Hence, it’s easy to create a Swarm in CloudStack
@skippbox
How to deploy apps in clouds
• Configuration mgt (e.g Ansible, Chef)• Terraform
• Recipes to deploy Kubernetes, Rancher and Lattice
• Terraform plans to deploy Lattice and Kubernetes on CloudStack
@skippbox
Philosophy
• CloudStack manages VM• Let’s do it well• Let something else manage containers
• Can’t keep up with the velocity of Kubernetes• If AWS builds ECS on top of EC2 why should
we do it differently
@skippbox
@skippbox
Mesos (TLP at Apache since July 2013)
@skippbox
Docker Swarm
@skippbox
Rancher Labs
@skippbox
Kubernetes• Started by Google in ~June 2014• Open source re-write of Borg• Written in Go• Extremely fast paced
• Docker, rkt …• Google and RedHat
Kubernetes open sourced in June 2014
• 14,000 commits in a year~16,000 for docker
• 300+ contributors
Borg, Eurosys April 2015
Important Lineage
@skippbox
K8s + cloudstack
• Terraform plan
• Ansible recipes
• Deploy k8s easily on CloudStack clouds (basic and advanced).
@skippbox
Letting loose a bit …
@skippbox
What if ?• CloudStack is a distributed app• CloudStack components can run in containers
• Why not run the VMs in containers as well (i.e KVM process in a namespace and cgroups)…like Google
• What manages CloudStack then ? A container application
@skippbox
John Wilkes~ 23 minutes
https://www.youtube.com/watch?v=VQAAkO5B5Hg
CloudStack 5.0
• How about CloudStack in Kubernetes ?– Why not. GCE is a Kubernetes app
@skippbox
What gives ?• Docker on cloudstack ?• Cloudstack on docker ?
• Boils down to the unit of scheduling in your data center
• + Multi-tenancy guarantee
• Do you prefer to schedule VMs or containers ?
@skippbox
Conclusions
• CloudStack already supports Docker• Docker/container orchestrators can easily be run
in CloudStack• Your users can already run containers in your Cloud
• Kubernetes shows the most promise• Shall we run CloudStack in Kubernetes ?• Skippbox can help you shape your container
strategy.
@skippbox
ThanksSebastien Goasguen@sebgoa@skippboxhttp://www.skippbox.comhttps://github.com/skippbox
Kubecon.io next week, register with SKIPPBOX and get 25% off
@skippbox