Kubernetes Community Growth and Use Case
-
Upload
chris-aaron-gaun -
Category
Software
-
view
255 -
download
1
Transcript of Kubernetes Community Growth and Use Case
Kubernetes Growth and CommunityChris Gaun, Director of [email protected]
APPRENDA.COM
Agenda
• History of Kubernetes
• Kubernetes Community Growth
• Kubernetes Use Cases
APPRENDA.COM
AWS is Decade Old
• Distributed, shared, dynamic infrastructure is “boring” (GOAL!)
• AWS valued at $168B• Dawn of de-facto
standards for distributed applications
APPRENDA.COM
Why containers?
• Performance• Repeatability• Isolation• Quality of service• Accounting• Visibility• Portability
A fundamentally different way of managing applications
APPRENDA.COM
Now that we have containers...
Isolation: Keep jobs from interfering with each otherScheduling: Where should my job be run?Lifecycle: Keep my job runningDiscovery: Where is my job now?Constituency: Who is part of my job?Scale-up: Making my jobs bigger or smallerAuth{n,z}: Who can do things to my job?Monitoring: What’s happening with my job?Health: How is my job feeling?
APPRENDA.COM
Enter Kubernetes in 2014
•Google starts over 2,000,000,000 containers per week
•Based on 15 years of container and orchestration R&D
• Builds on lessons learned (e.g. labels)
• Distributed systems genetics: – cgroups– mapreduce– Bigtable
"Everything at Google runs in a container… Everything"
Joe Beda, Kubernetes Founder
• No middleware, databases, analytics, or storage
• No marketplace or set external services
• No Infrastructure automation
• No source-to-image lifecycle management or policy
• No logging, application telemetry or notification service
• No configuration management
• No machine configuration, maintenance, management, or self-healing systems
source: https://github.com/kubernetes/kubernetes/blob/release-1.2/docs/whatisk8s.md
Kubernetes Swimlanes
APPRENDA.COM
APPRENDA.COM
APPRENDA.COM
APPRENDA.COM
APPRENDA.COM
List of Vendors With Kubernetes Products
APPRENDA.COM
Use Cases
- DIY Self-Service Platform for Many Applications
- Component for Few, or Single, Distributed App
- Operation’s Container Orchestration
- Hosting Off the Shelf Applications
APPRENDA.COM
DIY Platform
Build a self-service platform, likely managed by operations, where developers can host application
• Seen in some of the F100• Do not underestimate effort• Benefit is that the platform is your intellectual property• Downside are cost, management, lock-in to SW company with one
customer (yourself)• CIO/CTO/Operations project
APPRENDA.COM
Component for Distributed App
Build, or repackage, a single or few application for Kubernetes or containers• Very common. Starting point for most Kubernetes initiatives• Operations will need to host these applications• Reach inflection point as operations host more applications where
centrally hosted K8S in operations makes sense
APPRENDA.COM
Operation’s Container Orchestration
Operations deploys Kubernetes to manage containers, but it does not have self service SLAs for developers
• Ops can use Kubernetes as VMware for the container world• Benefits - less virtualization, middleware and operating systems• Will see more often when more COTS and framework options
APPRENDA.COM
COTS & Frameworks
Hosting off the shelf applications and frameworks (e.g. redis) on Kubernetes
• Early Days• SIG-Apps - http://goo.gl/VR0HTj• Future state
APPRENDA.COM CONFIDENTIAL
Developers have been presented with the challenge of writing code on laptops and desktops that provided nowhere near enough power to run the OSes, middleware, and application servers that would eventually host their applications
Sinclair SchullerCEO of Apprenda
APPRENDA.COM
What is Minikube?
• Local, single-node Kubernetes cluster - EASY• Runs inside a VM (VirtualBox, VMWare Fusion, KVM, xhyve)
• Includes:– Lightweight Linux VM– Docker– All Kubernetes components
• Optimized for local development and fully compatible
• Supports additional features like DNS, Dashboard, ConfigMaps/Secrets
master01master01
etcd01
Production Cluster Exampleetcd01
Load
Bal
ance
r
master01
API Server
Scheduler Controller Manager
worker01
Kubelet Kube Proxy
Container Engine (Docker)
etcd01
etcd
Pod Pod PodContCont ContCont ContCont
kube
ctl
HTTPSHT
TPS
HTTPS
HTTPS