Orchestrating Docker Containers
with Google Kubernetes on
OpenStack
Trevor Roberts Jr
@VMTrooper
About Me
• Compute Engineer, Cisco Cloud Services
• Blogger: www.VMTrooper.com
• Podcast: vBrownBag (www.ProfessionalVMware.com)
• Author: DevOps for VMware Administrators
– Container orchestration work with Kelsey Hightower (CoreOS)
Acknowledgements
• Kelsey for creating this sample Kubernetes on
CoreOS workflow
• Google for creating the Guestbook application
that I use during this demo.
What is OpenStack?
• Infrastructure-as-a-Service
• Private Cloud (on-premise or managed)
• Public Cloud (Rackspace)
OpenStack Architecture Diagram
What is CoreOS?
• Dubbed a “Container OS”
• Deploy workloads as containers instead of via
packages
• Projects: etcd, fleet, flannel, Rocket
CoreOS etcd and fleet
What is Docker?
• Simplified container management
• Linux operating systems
• Windows Server OS support imminent
What is Kubernetes?
• Container Orchestration at Scale
• REST API management of your workloads
• Workload labeling for easier management
Google’s Kubernetes Architecture Diagram
Kubernetes Concepts
• Minions – Kubernetes worker nodes
• Pods – related application containers that run on a single host
• Service – Port on which an application is exposed that allows
load-balancing
• Replication Controller – Pod replications across different
minions
ENVIRONMENT DEPLOYMENT
Deploy the CoreOS Control Cluster
• Boot CoreOS instance on OpenStack
– Create a Neutron Port with a static IP
– Boot a Nova Instance using that Neutron Port
• This instance is your etcd host
Define the Flannel Network Range
• etcdctl mk /coreos.com/network/config
'{"Network":"10.0.0.0/16"}'
Deploy the CoreOS Cluster Members
• Metadata tag to define CoreOS cluster
members to run Kubernetes components
Deploy Kubernetes
• fleet deploys the Kubernetes systemd unit
files
• This step downloads the binaries and runs the
services on the servers with the correct
metadata.
Deploy an Application
LIVE(-ISH) DEMO
https://www.youtube.com/watch?v=RfyIYhOzyPY
Why Kubernetes?
• Kubernetes vs CoreOS Fleet
• Kubernetes vs PaaS
• Kubernetes vs Other Container Frameworks
Learn More
• DevOps for VMware Administrators
• The Phoenix Project
• The DevOps Handbook
Any Questions?

Orchestrating Docker Containers with Google Kubernetes on OpenStack

Editor's Notes

  • #7 Flannel supports UDP or VXLAN encapsulation
  • #12 Google’s
  • #15 Fleet launches systemd unit files and ensures that they are always running if there are capable nodes
  • #16 Fleet launches systemd unit files and ensures that they are always running if there are capable nodes
  • #17 Cluster nodes with the kubernetes tag will be assigned to run the kubernetes binaries. This is not necessary
  • #19 A simple JSON format for deploying applications as containers, defining replication settings, etc.
  • #21 Kubernetes vs Fleet fleet is intended to be a rock-solid distributed service manager Higher-level orchestration can be provided by Kubernetes, Mesos, etc. Kubernetes vs PaaS PaaS provides additional capabilities on top of distributed container management. Kubernetes is more focused on providing an API for deploying containers personally. PaaS is focused on enabling application developers to run their Rails, Flask, etc. applications by a simple git push. Gauge the needs of your IT customers as to which solution is more appropriate Kubernetes vs Other Container Frameworks Kubernetes team has a strong history in container management due to the Google background. Kubernetes is beta, but it is already the foundation for the Google Container Engine service. Compare various container frameworks to see which is best for you.