containers and cloudstack
TRANSCRIPT
![Page 1: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/1.jpg)
Containers and CloudStack
Sebastien GoasguenLondon, March 3rd 2016
@sebgoa@skippbox
![Page 2: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/2.jpg)
Background
• Founder, Skippbox• VP of Apache
CloudStack• PMC of Apache libcloud• ASF member• O’Reilly author of the
Docker cookbook
• Thanks
@skippbox
![Page 3: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/3.jpg)
Outline
• Comments on CloudStack in 2015• Exciting personal update• Quick Docker review• Container orchestrators• Letting loose
@skippbox
![Page 4: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/4.jpg)
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
![Page 5: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/5.jpg)
Skippbox• Container startup• Embracing Kubernetes• Building a product focusing on
Applications deployment and self-management
• Open Source• http://www.skippbox.com
@skippbox
![Page 6: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/6.jpg)
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
![Page 7: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/7.jpg)
Docker review
@skippbox
![Page 8: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/8.jpg)
Docker ?
@skippbox
![Page 9: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/9.jpg)
@skippbox
Just in case…
$ sudo yum install docker-engine$ sudo service docker start
$ docker pull nginx$ docker run –p 80:80 nginx
![Page 10: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/10.jpg)
@skippbox
Then…
![Page 11: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/11.jpg)
• Docker engine• Docker compose• Docker machine• Docker Swarm• Docker Toolbox• Docker Network
@skippbox
![Page 12: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/12.jpg)
“Ecosystem on fire”
@skippbox
![Page 13: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/13.jpg)
@skippbox
Orchestrators “war”
![Page 14: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/14.jpg)
@skippbox
![Page 15: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/15.jpg)
Docker in CloudStack
@skippbox
![Page 16: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/16.jpg)
Integration points
• Docker in CloudStack guests• Package CloudStack as a set of containers• Docker as infra plumbing• Docker orchestrators
@skippbox
![Page 17: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/17.jpg)
Docker in cloudstack VM
@skippbox
![Page 18: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/18.jpg)
Where do you run Docker ?
@skippbox
![Page 19: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/19.jpg)
• On VMs
• In a Public cloud
• Guests with Docker engine
• “Docker templates”
@skippbox
![Page 20: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/20.jpg)
Offer those in your cloud
@skippbox
![Page 21: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/21.jpg)
e.g PCextreme
@skippbox
![Page 22: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/22.jpg)
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
![Page 23: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/23.jpg)
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
![Page 24: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/24.jpg)
Container orchestrators
@skippbox
![Page 25: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/25.jpg)
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
![Page 26: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/26.jpg)
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
![Page 27: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/27.jpg)
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
![Page 28: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/28.jpg)
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
![Page 29: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/29.jpg)
@skippbox
Mesos (TLP at Apache since July 2013)
![Page 30: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/30.jpg)
@skippbox
Docker Swarm
![Page 31: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/31.jpg)
@skippbox
Rancher Labs
![Page 32: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/32.jpg)
@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
![Page 33: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/33.jpg)
Kubernetes open sourced in June 2014
• 14,000 commits in a year~16,000 for docker
• 300+ contributors
![Page 34: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/34.jpg)
Borg, Eurosys April 2015
![Page 35: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/35.jpg)
Important Lineage
@skippbox
![Page 36: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/36.jpg)
K8s + cloudstack
• Terraform plan
• Ansible recipes
• Deploy k8s easily on CloudStack clouds (basic and advanced).
@skippbox
![Page 37: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/37.jpg)
Letting loose a bit …
@skippbox
![Page 38: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/38.jpg)
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
![Page 39: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/39.jpg)
John Wilkes~ 23 minutes
https://www.youtube.com/watch?v=VQAAkO5B5Hg
![Page 40: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/40.jpg)
CloudStack 5.0
• How about CloudStack in Kubernetes ?– Why not. GCE is a Kubernetes app
@skippbox
![Page 41: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/41.jpg)
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
![Page 42: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/42.jpg)
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
![Page 43: Containers and CloudStack](https://reader036.vdocument.in/reader036/viewer/2022070515/587b3ff71a28ab9c0e8b5723/html5/thumbnails/43.jpg)
ThanksSebastien Goasguen@sebgoa@skippboxhttp://www.skippbox.comhttps://github.com/skippbox
Kubecon.io next week, register with SKIPPBOX and get 25% off
@skippbox