layout: true background-image: url(photos/k8s-sticker.jpg) background-size: cover background-position: 50% 25% image-credit: Photo "k8s Sticker" shared by Joe Beda under a Creative Commons ( BY ) license
class: middle, center
.cblock[
Augustine Correa
Organizer - Mumbai Technology Meetup
Twitter: @hackmum
]
.image-credit[ {{image-credit}} ]
class: column-slide background-image: url(photos/record.jpg) image-credit: flickr photo shared by VanDammeMaarten under a Creative Commons ( BY ) license
.column-container[.left-column[
] .right-column[ .center[
] ] ]
.image-credit[ {{image-credit}} ]
class: column-slide background-image: url(photos/record.jpg) image-credit: flickr photo shared by VanDammeMaarten under a Creative Commons ( BY ) license
.column-container[.left-column[
] .right-column[ cgroups:
- Resource limiting, tracking, prioritization, and isolation
- CPU, RAM, IO, Networking, etc.
- Developed by Google for over ~10 years
- "nice++"
namespaces:
- Resource visibility and naming isolation
- network, PID, users, mounts
- "chroot++"
cgroups + namespaces = "lightweight virtualization" ] ]
.image-credit[ {{image-credit}} ]
class: column-slide background-image: url(photos/record.jpg) image-credit: flickr photo shared by VanDammeMaarten under a Creative Commons ( BY ) license
.column-container[.left-column[
] .right-column[ Containers == Docker?
- Image format: Upload, download, share, build
- API: Automatable create, delete, start, stop
- Networking: Good defaults ] ]
.image-credit[ {{image-credit}} ]
class: column-slide background-image: url(photos/record.jpg) image-credit: flickr photo shared by VanDammeMaarten under a Creative Commons ( BY ) license
.column-container[.left-column[
] .right-column[ Users benefits:
- Packaging, deployment and reuse
- Efficiency and overcommit
- Security*
This list is in order
* Big caveats here currently ] ]
.image-credit[ {{image-credit}} ]
class: column-slide background-image: url(photos/record.jpg) image-credit: flickr photo shared by VanDammeMaarten under a Creative Commons ( BY ) license
.column-container[.left-column[
] .right-column[ Dev → Production
- Multi-machine
- Discovery and Naming
- Scaling
- Multiple users
- Failure tolerance and recovery
- Monitoring
- Logging
- High availability
- Deployment lifecycle
- Load balancing
- etc, etc
] ]
.image-credit[ {{image-credit}} ]
class: column-slide background-image: url(photos/record.jpg) image-credit: flickr photo shared by VanDammeMaarten under a Creative Commons ( BY ) license
.column-container[.left-column[
] .right-column[
- Split your application into small services that can be reused, remixed and shared.
- Enables smaller, nimble, decoupled teams and processes.
- Better tooling enables and encourages microservices.
Not what I'm talking about today.
] ]
class: column-slide background-image: url(photos/ship-wheel.jpg) image-credit: flickr photo shared by Rick Galvan under a Creative Commons ( BY ) license
.column-container[.left-column[
] .right-column[
Kubernetes is ancient Greek for "Helmsman". Root of the word "Governor", "Cybernetics".
Kubernetes is a "Container Orchestrator" or "Cluster Manager".
- Places containers on nodes
- Recovers automatically from failure
- Basic monitoring, logging, health checking
- Enables containers to find each other.
Key component in logical infrastructure
]]
class: column-slide background-image: url(photos/ship-wheel.jpg) image-credit: flickr photo shared by Rick Galvan under a Creative Commons ( BY ) license
.column-container[.left-column[
] .right-column[ Based on ideas proven at Google over 10 years
Everything at Google runs in a container.
Google launches 2 billion containers per week.
Part of a larger set of tools that make up the internal Google platform. ]]
class: column-slide background-image: url(photos/ship-wheel.jpg) image-credit: flickr photo shared by Rick Galvan under a Creative Commons ( BY ) license
.column-container[.left-column[
] .right-column[ https://github.com/kubernetes/kubernetes
Very active open source project
15k stars, 750+ contributors
Apache 2 licensed
Written in Go
Owned by the Cloud Native Computing Foundation ]]
.image-credit[ {{image-credit}} ]
???
stats with git shortlog -sn --no-merges | wc
class: column-slide background-image: url(photos/ship-wheel.jpg) image-credit: flickr photo shared by Rick Galvan under a Creative Commons ( BY ) license
.column-container[.left-column[
] .right-column[ Extend the container goodness across nodes.
Enable operations specialization. Cluster Ops vs. App Ops
Reduce cost to run many things in production. Enables new ways of building applications. ]]
.image-credit[ {{image-credit}} ]
class: column-slide background-image: url(photos/core-memory.jpg) image-credit: flickr photo shared by dvanzuijlekom under a Creative Commons ( BY-SA ) license
.column-container[.left-column[
] .right-column[.center[ ]]]
class: column-slide background-image: url(photos/core-memory.jpg) image-credit: flickr photo shared by dvanzuijlekom under a Creative Commons ( BY-SA ) license
.column-container[.left-column[
] .right-column[.center[ ]]]
class: column-slide background-image: url(photos/core-memory.jpg) image-credit: flickr photo shared by dvanzuijlekom under a Creative Commons ( BY-SA ) license
.column-container[.left-column[
] .right-column[.center[ ]]]
class: column-slide background-image: url(photos/core-memory.jpg) image-credit: flickr photo shared by dvanzuijlekom under a Creative Commons ( BY-SA ) license
.column-container[.left-column[
] .right-column[.center[ ]]]
.image-credit[ {{image-credit}} ]
class: column-slide background-image: url(photos/core-memory.jpg) image-credit: flickr photo shared by dvanzuijlekom under a Creative Commons ( BY-SA ) license
.column-container[.left-column[
] .right-column[.center[ ]]]
.image-credit[ {{image-credit}} ]
class: column-slide background-image: url(photos/core-memory.jpg) image-credit: flickr photo shared by dvanzuijlekom under a Creative Commons ( BY-SA ) license
.column-container[.left-column[
] .right-column[.center[ ]]]
class: column-slide background-image: url(photos/core-memory.jpg) image-credit: flickr photo shared by dvanzuijlekom under a Creative Commons ( BY-SA ) license
.column-container[.left-column[
] .right-column[.center[ ]]]
class: column-slide background-image: url(photos/space-needle.jpg) image-credit: flickr photo shared by Seattle Municipal Archives under a Creative Commons ( BY ) license
.column-container[.left-column[
] .right-column[
- declarative > imperative
- control loops
- simple > complex
- modularity
- legacy compatible
- network-centric
- labels > hierarchy
- cattle > pets
- open > closed ]]
class: column-slide background-image: url(photos/road.jpg) image-credit: flickr photo shared by mdalmuld under a Creative Commons ( BY ) license
.column-container[.left-column[
] .right-column[ Shipped Sept 26
- Cluster creation simplified
- kubeadm
- Package Streamlining
- Add-on Deployments
- Certificates API
- Expanded Stateful Application Support
- ScheduledJob
- Init-containers
- Dynamic PVC provisioning
- Helm Charts
- Cluster Federation API additions
- Federated Replica Sets
- Federated Services
- Federated Ingress
- Container Security support
- Pod Security Policy
- App Armor
- Infrastructure enhancements
- Scheduler
- Disruptions SLO
- Storage
- Clients
- Kubernetes Dashboard API
]]
class: column-slide background-image: url(photos/road.jpg) image-credit: flickr photo shared by mdalmuld under a Creative Commons ( BY ) license
.column-container[.left-column[
] .right-column[ ETA Nov 17
- Forgiveness/Taints & Toleration
- Performance and Scale Improvements
- etcd v3 API storage backend
- Autoscaling
- Private Federated Services
- ....and much more :-) ]]
.image-credit[ {{image-credit}} ]
class: middle, left
.cblock[
Augustine Correa
@hackmum
https://fb.com/hackmum
]
.ccblock[
Kubernetes 101 by Joe Beda is licensed under a Creative Commons Attribution 4.0 International License.
]
.image-credit[ {{image-credit}} ]