SlideShare a Scribd company logo
Kubernetes in Docker
Tom Barlow
@tomwbarlow
About Me
• Tom Barlow (@tomwbarlow)
• Building enterprise products at
Docker, Inc. for the last 2.5 years
• Living and working in Galway
Agenda
1. Intro: the Docker Platform
2. Kubernetes in Docker
3. Demo: Kubernetes in Docker Desktop
4. General CE/EE Architectures
5. Demo: Kubernetes in Docker EE 2.0
6. EE: Topics on mixed workloads
Introduction
The Docker Platform
Traditional
Micro
services
ISV / COTS IoT
Big Data
ML
AI
...Serverless
Cloud VM Bare
Metal
Edge
Device
Docker Platform
Docker Momentum
Docker
Hosts
21.0M
Growth in Docker
job listings
77K%
Container
downloads
24B
Industry
Standards
Enterprise Momentum
Portability Agility Security
50% total cost savings
DEVELOPERS OPERATORS
Applications
Infrastructure
The Docker Platform in a nutshell
Docker Community Edition
Developers EnterpriseContainer Ecosystem
The Docker Innovation Model
Docker Enterprise Edition
9,149 Open Source Contributors 8800 PRs/Year
runc
Notary
Registry LibNetworkVPNKit
DataKit HyperKitCompose
Kubernetes in Docker
What is a container orchestrator?
Management of containers running in one or more container runtimes
Kubernetes
● Developed at Google
● Inspired by and resembles Borg & Omega
● The third container-management system built by Google
● v1.0 was released on July 21, 2015 (around since 2014)
● Commonly referred to as k8s or kube
● Greek for ‘Helmsman’ (pilot of a ship)
Kubernetes Primitives
Pod: Consists of one or more containers that run together
and share a process, network, filesystem namespace. Each
Pod has its own unique IP address on the cluster.
Controller: A reconciliation loop that ensures the system
matches the desired state by managing pods. (e.g. a
ReplicationController will ensure n pods of a given spec are
running)
Services: Targets a set of pods and provides a policy in
which they can be accessed over the network (e.g. for
external routing, load balancing etc.)
Kubernetes Components
Master:
● API Server: Allows access to query/change the cluster state
● Controller Manager: Controller reconciliation loops
● Scheduler: Makes decisions where Pods should run
● etcd: Stores cluster state
Worker:
● Kubelet: Manages Pod lifecycle running on a node
● Proxy: Routes incoming traffic to appropriate local
container using IP/Port
Docker Dublin Meetup | 22 Feb 2018 | Docker + Kubernetes
Docker Enterprise Edition
Docker Community Edition
containerd
1
2
3
4
The best container
development workflow
The best enterprise
container security and
management
Native Kubernetes
integration provides full
ecosystem
compatibility Industry-standard
container runtime
Docker with Swarm and Kubernetes
Docker Dublin Meetup | 22 Feb 2018 | Docker + Kubernetes
Test locally on Swarm
and Kubernetes
Develop with Docker
Community Edition
on your workstation
Deploy to production
in Swarm
Deploy to production
in Kubernetes
Docker Community Edition
All in one development for Swarm and Kubernetes
Demo: Kubernetes in
Docker Desktop
Linuxkit VM
Kubernetes CLI
Swarm Mode Kubernetes
etcd
Docker CLI
kubeadm
Kubernetes in Docker CE (Windows and Mac)
Compose
CRD
Single Docker Engine
vpnkitHost fs mounts hyperkit / hyperv
Docker EE 2.0: A conformant kubernetes distribution
Demo: Kubernetes in
Docker EE 2.0
Docker EE to include Kubernetes
Docker Enterprise Edition
Production Ready Windows and IBM P/Z Support
Pods, batch jobs, blue-green deployments,
horizontal pod auto-scaling
Docker Swarm Swarm-Mode Kubernetes
Private Image Registry
Secure Access and User
Management
App and Cluster Management
Image Security Scanning Content Trust and Verification
Policy Management
GUI
Universal Control Plane
Trusted Registry Kubernetes CLI
Docker Engine
Swarm-Mode
Docker Swarm Kubernetes
etcd
CA OIDC Provider
Docker CLI
Node Agent Reconciler
Kubernetes in Docker EE
Kubernetes Plugin Interfaces in Docker EE
● General:
○ Native API extensibility supported
○ Some apiserver/kubelet flags modifiable by users
● Networking:
○ Support for CNI plugin during install
○ Ingress
● Storage: Docker Volume Plugins supported via built-in flexvolume driver, CSI in future
● Metrics: Heapster Storage Backends or Prometheus
Docker EE Architectural Highlights
● Conformant Kubernetes components ran as Docker containers
● Swarm Managers are Kubernetes Masters
● Swarmkit node inventory is source of truth
● Cryptographic Node Identity and mTLS used throughout
- Easy High Availability provisioning
- Cryptographic node identity
Features Swarm Support
- Registry
- Content Trust
- Secure Scanning
- Clean upstream integration
- Full ecosystem compatibility
- Role Based Access Control
- Authorization, Authentication
- Node Segmentation
Secure Cluster Lifecycle
Secure Supply Chain
100% Interoperability
Secure Multi-tenancy
Management Dashboard
Kubernetes Support
Docker Enterprise Edition
Management for Swarm and Kubernetes
Uses of Kubernetes Plugin
Interfaces
Authentication
● X509 Client Certificates
○ Used for authentication of kubectl and the docker CLI via the “client bundle” feature
● OpenID Connect Identity Provider
○ GUI sessions use a custom identity provider and a token exchange service to
authenticate with the OIDC authentication plugin
Authorization
● All requests authorized via the Authorization Webhook Mode
● Custom RBAC system shared between Swarm and Kubernetes:
○ Users, Teams, Organizations, Service Accounts
○ Custom Roles
○ Hierarchical “Grants”
● No support for RBAC Mode (rbac.authorization.k8s.io) currently, future plans for API
translation
Resource Contention
● Allocatable Resources: The set of CPU and Memory resources available for scheduling by
an orchestrator on a single node
● Multiple orchestrators = Different definitions of allocatable resources
○ Docker Swarm: Respectful of CPU/Memory limits, but container cache may be stale
○ Docker Engine with Swarm-Mode: Only aware of its own reservations
○ Kubernetes: Effective handling of out-of-resource situations, but only for kubernetes
workloads
● When a node is at/near capacity:
○ All CPU shares throttled equally
○ The OS’s OOM killer kills processes
○ All orchestrators will reschedule on OOM, but potential workload interruption
Image Signing Policy Enforcement
● Enforces that all workloads deployed in the cluster have a fully qualified image reference
● Resolves image references to always include a digest
● Contacts the registry to ensure that the referenced image has been signed by an
authorized user.
In Summary...
● Docker EE and CE will include a conformant
Kubernetes distribution for Devs and Ops
Thank You!
@tomwbarlow
thomas.barlow@docker.com

More Related Content

PPTX
Microsoft Techsummit Zurich Docker and Microsoft
PPTX
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
PPTX
Introduction to Docker - 2017
PPTX
Kubernetes Immersion
PDF
Kubernetes with docker
PDF
DCEU 18: Docker Container Security
PDF
DCEU 18: Docker for Windows Containers and Kubernetes
PPTX
Demystifying Docker101
Microsoft Techsummit Zurich Docker and Microsoft
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Introduction to Docker - 2017
Kubernetes Immersion
Kubernetes with docker
DCEU 18: Docker Container Security
DCEU 18: Docker for Windows Containers and Kubernetes
Demystifying Docker101

What's hot (20)

PDF
DCEU 18: Docker Enterprise Platform and Architecture
PDF
How to build your containerization strategy
PPTX
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
PDF
DCEU 18: State of the Docker Engine
PDF
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
PDF
Kubernetes Powered Docker for Mac Platform
PDF
Moving to Kubernetes - Tales from SoundCloud
PDF
DCEU 18: Provisioning and Managing Storage for Docker Containers
PDF
Current Status of Kubernetes-powered Docker for Mac Platform
PDF
Read ebook Kubernetes Cookbook: Building Cloud Native Applications Full Access
PPTX
Kubernates : An Small introduction for Beginners by Rajiv Vishwkarma
PDF
Considerations for operating docker at scale
PDF
Native Kubernetes support on Docker Platform
PPTX
Abc of docker
PPTX
Continuous deployment of polyglot microservices: A practical approach
PDF
Kubernetes architecture
PDF
Collabnix Online Webinar - Demystifying Docker & Kubernetes Networking by Bal...
PDF
DevJam 2019 - Introduction to Kubernetes
PDF
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
PDF
The top 5 Kubernetes metrics to monitor
DCEU 18: Docker Enterprise Platform and Architecture
How to build your containerization strategy
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
DCEU 18: State of the Docker Engine
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
Kubernetes Powered Docker for Mac Platform
Moving to Kubernetes - Tales from SoundCloud
DCEU 18: Provisioning and Managing Storage for Docker Containers
Current Status of Kubernetes-powered Docker for Mac Platform
Read ebook Kubernetes Cookbook: Building Cloud Native Applications Full Access
Kubernates : An Small introduction for Beginners by Rajiv Vishwkarma
Considerations for operating docker at scale
Native Kubernetes support on Docker Platform
Abc of docker
Continuous deployment of polyglot microservices: A practical approach
Kubernetes architecture
Collabnix Online Webinar - Demystifying Docker & Kubernetes Networking by Bal...
DevJam 2019 - Introduction to Kubernetes
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
The top 5 Kubernetes metrics to monitor
Ad

Similar to Docker Dublin Meetup | 22 Feb 2018 | Docker + Kubernetes (20)

PDF
Kubernetes in Docker
PDF
Kubernetes in Docker
PDF
Kubernetes made easy with Docker Enterprise - Tech deep dive on Docker/Kubern...
PPTX
Docker Enterprise Workshop - Technical
PDF
Docker ee an architecture and operations overview
PPTX
Docker EE 2.0 Choice, Security & Agility
PDF
Docker Birthday #5 Meetup Cluj - Presentation
PPTX
Bahrain ch9 introduction to docker 5th birthday
PDF
What's New in Docker
PDF
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
PDF
Introduction to kubernetes
PPTX
Docker Bday #5, SF Edition: Introduction to Docker
PDF
DCSF 19 Docker Enterprise Platform and Architecture
PDF
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
PPTX
Introduction+to+Kubernetes-Details-D.pptx
PDF
Docker Indy: Dockercon 2019 Recap and Docker CLI Plugins
PDF
Kubernetes
PDF
Kubernetes Basics
PPTX
Kubernetes Introduction
PPTX
Kubernetes Intro @HaufeDev
Kubernetes in Docker
Kubernetes in Docker
Kubernetes made easy with Docker Enterprise - Tech deep dive on Docker/Kubern...
Docker Enterprise Workshop - Technical
Docker ee an architecture and operations overview
Docker EE 2.0 Choice, Security & Agility
Docker Birthday #5 Meetup Cluj - Presentation
Bahrain ch9 introduction to docker 5th birthday
What's New in Docker
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
Introduction to kubernetes
Docker Bday #5, SF Edition: Introduction to Docker
DCSF 19 Docker Enterprise Platform and Architecture
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Introduction+to+Kubernetes-Details-D.pptx
Docker Indy: Dockercon 2019 Recap and Docker CLI Plugins
Kubernetes
Kubernetes Basics
Kubernetes Introduction
Kubernetes Intro @HaufeDev
Ad

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PPTX
Cloud computing and distributed systems.
PPTX
A Presentation on Artificial Intelligence
PDF
Electronic commerce courselecture one. Pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
MYSQL Presentation for SQL database connectivity
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPT
Teaching material agriculture food technology
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
KodekX | Application Modernization Development
PDF
Encapsulation theory and applications.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Big Data Technologies - Introduction.pptx
Cloud computing and distributed systems.
A Presentation on Artificial Intelligence
Electronic commerce courselecture one. Pdf
Digital-Transformation-Roadmap-for-Companies.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
MYSQL Presentation for SQL database connectivity
“AI and Expert System Decision Support & Business Intelligence Systems”
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Teaching material agriculture food technology
The AUB Centre for AI in Media Proposal.docx
KodekX | Application Modernization Development
Encapsulation theory and applications.pdf
Encapsulation_ Review paper, used for researhc scholars
Chapter 3 Spatial Domain Image Processing.pdf
Approach and Philosophy of On baking technology
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Docker Dublin Meetup | 22 Feb 2018 | Docker + Kubernetes

  • 1. Kubernetes in Docker Tom Barlow @tomwbarlow
  • 2. About Me • Tom Barlow (@tomwbarlow) • Building enterprise products at Docker, Inc. for the last 2.5 years • Living and working in Galway
  • 3. Agenda 1. Intro: the Docker Platform 2. Kubernetes in Docker 3. Demo: Kubernetes in Docker Desktop 4. General CE/EE Architectures 5. Demo: Kubernetes in Docker EE 2.0 6. EE: Topics on mixed workloads
  • 5. Traditional Micro services ISV / COTS IoT Big Data ML AI ...Serverless Cloud VM Bare Metal Edge Device Docker Platform
  • 6. Docker Momentum Docker Hosts 21.0M Growth in Docker job listings 77K% Container downloads 24B Industry Standards
  • 7. Enterprise Momentum Portability Agility Security 50% total cost savings
  • 9. Docker Community Edition Developers EnterpriseContainer Ecosystem The Docker Innovation Model Docker Enterprise Edition 9,149 Open Source Contributors 8800 PRs/Year
  • 12. What is a container orchestrator? Management of containers running in one or more container runtimes
  • 13. Kubernetes ● Developed at Google ● Inspired by and resembles Borg & Omega ● The third container-management system built by Google ● v1.0 was released on July 21, 2015 (around since 2014) ● Commonly referred to as k8s or kube ● Greek for ‘Helmsman’ (pilot of a ship)
  • 14. Kubernetes Primitives Pod: Consists of one or more containers that run together and share a process, network, filesystem namespace. Each Pod has its own unique IP address on the cluster. Controller: A reconciliation loop that ensures the system matches the desired state by managing pods. (e.g. a ReplicationController will ensure n pods of a given spec are running) Services: Targets a set of pods and provides a policy in which they can be accessed over the network (e.g. for external routing, load balancing etc.)
  • 15. Kubernetes Components Master: ● API Server: Allows access to query/change the cluster state ● Controller Manager: Controller reconciliation loops ● Scheduler: Makes decisions where Pods should run ● etcd: Stores cluster state Worker: ● Kubelet: Manages Pod lifecycle running on a node ● Proxy: Routes incoming traffic to appropriate local container using IP/Port
  • 17. Docker Enterprise Edition Docker Community Edition containerd 1 2 3 4 The best container development workflow The best enterprise container security and management Native Kubernetes integration provides full ecosystem compatibility Industry-standard container runtime Docker with Swarm and Kubernetes
  • 19. Test locally on Swarm and Kubernetes Develop with Docker Community Edition on your workstation Deploy to production in Swarm Deploy to production in Kubernetes Docker Community Edition All in one development for Swarm and Kubernetes
  • 21. Linuxkit VM Kubernetes CLI Swarm Mode Kubernetes etcd Docker CLI kubeadm Kubernetes in Docker CE (Windows and Mac) Compose CRD Single Docker Engine vpnkitHost fs mounts hyperkit / hyperv
  • 22. Docker EE 2.0: A conformant kubernetes distribution
  • 24. Docker EE to include Kubernetes Docker Enterprise Edition Production Ready Windows and IBM P/Z Support Pods, batch jobs, blue-green deployments, horizontal pod auto-scaling Docker Swarm Swarm-Mode Kubernetes Private Image Registry Secure Access and User Management App and Cluster Management Image Security Scanning Content Trust and Verification Policy Management
  • 25. GUI Universal Control Plane Trusted Registry Kubernetes CLI Docker Engine Swarm-Mode Docker Swarm Kubernetes etcd CA OIDC Provider Docker CLI Node Agent Reconciler Kubernetes in Docker EE
  • 26. Kubernetes Plugin Interfaces in Docker EE ● General: ○ Native API extensibility supported ○ Some apiserver/kubelet flags modifiable by users ● Networking: ○ Support for CNI plugin during install ○ Ingress ● Storage: Docker Volume Plugins supported via built-in flexvolume driver, CSI in future ● Metrics: Heapster Storage Backends or Prometheus
  • 27. Docker EE Architectural Highlights ● Conformant Kubernetes components ran as Docker containers ● Swarm Managers are Kubernetes Masters ● Swarmkit node inventory is source of truth ● Cryptographic Node Identity and mTLS used throughout
  • 28. - Easy High Availability provisioning - Cryptographic node identity Features Swarm Support - Registry - Content Trust - Secure Scanning - Clean upstream integration - Full ecosystem compatibility - Role Based Access Control - Authorization, Authentication - Node Segmentation Secure Cluster Lifecycle Secure Supply Chain 100% Interoperability Secure Multi-tenancy Management Dashboard Kubernetes Support Docker Enterprise Edition Management for Swarm and Kubernetes
  • 29. Uses of Kubernetes Plugin Interfaces
  • 30. Authentication ● X509 Client Certificates ○ Used for authentication of kubectl and the docker CLI via the “client bundle” feature ● OpenID Connect Identity Provider ○ GUI sessions use a custom identity provider and a token exchange service to authenticate with the OIDC authentication plugin
  • 31. Authorization ● All requests authorized via the Authorization Webhook Mode ● Custom RBAC system shared between Swarm and Kubernetes: ○ Users, Teams, Organizations, Service Accounts ○ Custom Roles ○ Hierarchical “Grants” ● No support for RBAC Mode (rbac.authorization.k8s.io) currently, future plans for API translation
  • 32. Resource Contention ● Allocatable Resources: The set of CPU and Memory resources available for scheduling by an orchestrator on a single node ● Multiple orchestrators = Different definitions of allocatable resources ○ Docker Swarm: Respectful of CPU/Memory limits, but container cache may be stale ○ Docker Engine with Swarm-Mode: Only aware of its own reservations ○ Kubernetes: Effective handling of out-of-resource situations, but only for kubernetes workloads ● When a node is at/near capacity: ○ All CPU shares throttled equally ○ The OS’s OOM killer kills processes ○ All orchestrators will reschedule on OOM, but potential workload interruption
  • 33. Image Signing Policy Enforcement ● Enforces that all workloads deployed in the cluster have a fully qualified image reference ● Resolves image references to always include a digest ● Contacts the registry to ensure that the referenced image has been signed by an authorized user.
  • 34. In Summary... ● Docker EE and CE will include a conformant Kubernetes distribution for Devs and Ops