Docker and other container technologies offer the promise of improved productivity and portability. Kubernetes is one of the leading cluster management systems for Docker and powers the Google Container Engine managed service.
-A review of key Linux container concepts
-The role of Kubernetes in deploying Docker-based applications
-Primer on Google Container Service
-How RightScale works with containers and clusters
9. A datacenter is not a collection of computers,
a datacenter is a computer.
10. VMs vs. Containers
Physical Processor
Virtual Processor
Operating System
Libraries
User Code Private
Copy
Shared
Virtual Machines
Physical Processor
Virtual Processor
Operating System
Libraries
User Code
Containers
ISA
syscall
Containers: less overhead, enable more “magic”
11. Google has been developing
and using containers to
manage our applications for
over 10 years.
Images by Connie
Zhou
12. 2004 2006 2013 2014
Limited
isolation
Released
CGroups
Released
LMCTFY
Kubernetes
Google and containers
Containers
Google and container technology
13. Containers at Google
Developed as only practical way to
manage Google-scale compute
Everything at Google runs in a
container
14. Containers at Google
Developed as only practical way to
manage Google-scale compute
Everything at Google runs in a
container
We launch over
2 Billion
containers per
week.
15. What is Docker?
• An implementation of the container idea
• A package format
• Resource isolation (via libcontainer)
• An ecosystem
• A company
Hoorah! The world is starting to adopt containers!
17. More than just packing and isolation
Scheduling: Where should my containers run?
Lifecycle and health: Keep my containers running despite failures
Discovery: Where are my containers now?
Monitoring: What’s happening with my containers?
Auth{n,z}: Control who can do things to my containers
Aggregates: Compose sets of containers into jobs
Scaling: Making jobs bigger or smaller
21. Kubernetes is Owned By Everyone
Open-source container orchestration
Broad industry support
Supports multi-cloud, on-prem VM, bare metal
Kubernetes
22. Kubernetes is Owned By Everyone
Open-source container orchestration
Broad industry support
Supports multi-cloud, on-prem VM, bare metal
Kubernetes
23. An Amazing Community
● Fastest growing orchestrator
○ around 200 pull requests per week ...
○ from 400+ contributors
● Most all design discussion happens in open on IRC channel
•Kubernetes is a universal deployment target
24. Real World Adoption
● Use Kubernetes to simplify shipping software:
● Use Kubernetes in high scale environments -
● Extend Kubernetes to new powerful scenarios - Samsung
27. A 50000 foot view
apiserver
kubelet
kubelet
kubelet
scheduler
Run X
Replicas = 2
Memory = 4Gi
CPU = 2.5
28. A 50000 foot view
apiserver
kubelet
kubelet
kubelet
scheduler
Which nodes
for X ?
29. A 50000 foot view
apiserver
kubelet
kubelet
kubelet
scheduler
30. A 50000 foot view
apiserver
kubelet
kubelet
kubelet
scheduler
Registry
pull X
pull X
31. A 50000 foot view
apiserver
kubelet
kubelet
kubelet
scheduler
X
X
32. A 50000 foot view
apiserver
kubelet
kubelet
kubelet
scheduler
X
X
GET X
33. A 50000 foot view
apiserver
kubelet
kubelet
kubelet
scheduler
X
X
Status X
34. All you really care about
Run X
Master
Container
Cluster
X
X
Status X
35. Primary concepts
Container: A sealed application package (Docker)
Pod: A small group of tightly coupled Containers
Labels: Identifying metadata attached to objects
Selector: A query against labels, producing a set result
Controller: A reconciliation loop that drives current state towards desired
state
Service: A set of pods that work together
55. Google Container Engine
- Inspired by a decade within Google
- Re-imagines Cluster computing
- Designed for a multi-cloud world
Photo by Connie Zhou
56. Run and manage an optimized cluster
Kubernetes
Open Source
Workload
API & Tools
Google Container Engine (GKE)
Google Container Engine
Kubernetes
● Growing Community
● Linux containers support
● Open source orchestration
• Container Engine
● Provisioned cluster in
seconds
● Optimized cluster
environment
● Runs and manages
Kubernetes
create and manage
GKE
Master GKE Nodes
Compute
Engine
VMs
58. RightScale and Containers
Self-Service Cloud Analytics
RightScale Cloud Portfolio Management
Cloud Management
Design
Virtualized
Environments
Public
Clouds
Other
Services
Private
Clouds
Automate
Multi-Cloud Orchestration & Governance
OperateDeploy Report Optimize
57
Container
Cluster
Bare
Metal
59. Automating Cluster Deployments
58
Master
Nodes
Pod A Pod B
DNS
Configure a cluster:
Cloud Application Template (CAT)
Deployment on any cloud/virtual
End-user configurable
Managed by IT
Configure components:
• Master
• Nodes
• Pods
• Containers
• External services (DNS, etc)