About me ● Software Dev & Architecture Consultant @ iNetria ● Founder @ OfficeMA.biz ● Google Developer Expert (2015) ● Part-time PhD researcher @ Uni of Reading ● Blog at omerio.com ● @omerio
What is Kubernetes? ● Containers orchestrator (Docker, Rocket) ● Open source ● Run on dev machine, own hardware or cloud ● Inspired by Google’s experience ● Written in Go ● Manages applications, not machines
Pods ● Smallest deployable unit ● Scheduled to nodes ● Hosts containers and volumes ● Ephemeral ● Each has its own routable IP (no NAT) ● Containers in a pod ○ Tightly coupled ○ Share IP, port and IPC namespaces ○ Talk to each other through localhost http://blog.kubernetes.io/2015/06/the-distributed-system-toolkit-patterns.html
Pods Questions ● How to persist data across container restarts? ● How to create multiple copies of a Pod? ● How can containers reference each other reliably?
Replication Controllers ● Keeps Pods running ● Ensures N copies of Pods are running ● Provides direct control of Pods ● Uses a Pod template ● Determines constituent Pods using Label Selector
Services ● An abstraction ● Logical grouping of Pods ● Determines constituent Pods using Label Selector ● Load balancing between constituent Pods ● Gets a stable virtual IP, port & DNS name
Resources ● A hands-on introduction to Kubernetes - Mandy Waite @ Google ● Kubernetes Documentations ● Google Container Engine Docs Starting from scratch? check my blog ● Building & Testing Docker Containers using Google Cloud Shell ● Learn the Kubernetes Key Concepts in 10 Minutes ● Getting Started with Kubernetes on Google Container Engine ○ Youtube tutorial