SlideShare a Scribd company logo
Patrick Chanezon, @chanezon February 2018
Develop and deploy Kubernetes
applications with Docker
French
Polyglot
Platforms
Software Plumber
San Francisco
Developer Relations
@chanezon
Agenda
1. Intro: the Docker Platform
2. Modernizing Traditional Applications
3. Kubernetes in Docker
4. Demo: Kubernetes in Docker Desktop
5. General CE/EE Architectures
6. Demo: Kubernetes in Docker EE 2.0
7. EE: Topics on mixed workloads
8. Q&A
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
The Docker Container Platform
Enabling the Software Supply Chain
• Diverse Applications
• Disparate Infrastructure
• Lifecycle Management
• Orchestrate Complex Systems
• Secure by Default
• Edge / IoT
• Serverless Anywhere
DEVELOPERS OPERATORS
Applications
Infrastructure
The Docker Platform in a nutshell
INDEPENDENCE
OPENNESS
SIMPLICITY
Core Principles of the Docker Platform
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 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
Modernizing Traditional
Applications
The Innovation Challenge
Average IT Spend By Type
INNOVATION
MAINTENANCE
20%
80%
20%
40%
60%
80%
100%
0%
1%
Windows Server 2008
Windows Server 2012
Windows Server 2000
Windows Server 2003
Red Hat, Other Linux, Other OS
Server OS Market Share
Sources: Bank of America, Spiceworks, SolarWinds
18%
45%
24%
12%
Source: RightScale 2017 State of the Cloud Report
Top Priority for Enterprise IT
2016
2017
39%
50%
27% 29%
23%
9% 10% 10%
Leverage
Hybrid Cloud
Use Public
Cloud
Build Private
Cloud
Use Hosted
Cloud
Enterprise Priority: Portability
50+%
79%
Major Release Frequency
0
Weekly Monthly Quarterly Annually
5%
10%
15%
20%
25%
More than
2 years
Enterprise Priority: Agility
Source: Plutora, CIO Insight
Release 6x or
less per year
Set increasing release
velocity as top IT priority
Enterprise Priority: Security
60%
Source: Forbes 2017 State Of Cloud Adoption And Security
Report security concerns
slowing cloud adoption
The Docker Modernize Traditional
Apps POC Program
Partner
Consulting Services
Partner
Infrastructure
Docker
Enterprise
Edition
Portable
Agile
Secure Efficient
< 5 days
+ +
No
Code
Changes
App
Existing
Application
Convert to a
Docker EE
container
Modern
Infrastructure
Reducing total costs by 50%
MTA POC Impact
Hybrid
Cloud-Ready
Portability Agility
2x Faster
Security
Isolation & Integrity
The Modernization Journey
App
Existing
Application
Modern
Methodologies
Convert to a
Docker EE
Container
Modern
Infrastructure
Ongoing
Innovation
22
KEY CHALLENGES
• Accumulated thousands of apps, 400+ systems of record and
5 infrastructures over 150 years
• Difficult to innovate with majority of budget spent on
maintenance
SOLUTION
• Leverage Docker MTA program to modernize the email opt-
out app with Docker EE to drive down total costs
Docker EE and MTA create self funding model
for container adoption
-70%
VMs
-67%
Cores
10x
Average CPU
utilization
+ +
-66%
Total Cost of
Ownership
593
Applications
RESULTS
• Modernization of single app completed in 1 day
• Applying model to other apps built with same technology
• Business case forecasts a 66% cost reduction
23
KEY CHALLENGES
• Maintenance costs of managing traditional apps on prem
• Code quality was increasingly difficult with outsource
software house
• App delivery process was too slow for the pace of the
business
SOLUTION
• Leverage Docker MTA program jointly with their trusted
partner Accenture
App Visibility and Consistency at 50% the Cost
RESULTS
• 50% savings across all applications
• Unified architecture for the first time
• New visibility into their outsourced applications
Kubernetes in Docker
What is a container orchestrator?
Management of containers running in one or more container runtimes
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Docker Enterprise Edition
Docker Community Edition
containerd
The best container
development workflow
The best enterprise
container security and
management
Docker: Now Powered by Swarm and Kubernetes
Native Kubernetes
integration provides full
ecosystem
compatibility Industry-standard
container runtime
Lifecycle of a Kubernetes API Request
Kubernetes API Server
Authentication Authorization
Admission
Control
etcd
Orchestrator: Docker Engine with Swarm-Mode Enabled
● github.com/docker/swarmkit
● Declarative State through the “Service” construct
● Built-in Routing Mesh & Overlay networking
● In-memory Raft Store for all state (persisted to disk)
● Built-in CA, per-node cryptographic node identity, mTLS between all endpoints
Orchestrator: Kubernetes
● github.com/kubernetes/kubernetes
● Scheduling Unit: Pods
● Declarative State through “Controllers”: Deployment, ReplicaSet, DaemonSet …
● Load balancing via Services and Ingresses
● Flat Networking model delegated to plugins
Docker EE 2.0: A conformant kubernetes distribution
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
Kubernetes in Docker Desktop
General CE/EE Architecture
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 now includes 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
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
Supported and Certified on Windows Server and Major Linux Distributions
Kubernetes Support
Docker Enterprise Edition
Management for Swarm and Kubernetes
Demo: Kubernetes in Docker EE 2.0
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 plugin
● Custom RBAC system shared between Swarm and Kubernetes:
○ Users, Teams, Organizations, Service Accounts
○ Custom Roles
○ Hierarchical “Grants”
● No support for the rbac.authorization.k8s.io API, future plans for API translation
Admission Control
● Allows plugins to inspect, mutate or reject API requests after authorization
● Used for:
○ Orchestrator Selection
○ Linking nodes to namespaces
○ User Impersonation for Stacks
○ Image Signing policy enforcement
Orchestrator Selection
● Each node is running both kubernetes and swarm system components
● Administrators can toggle between (kubernetes, swarm or mixed) for any given node
● When toggling orchestrators, workloads of the previous orchestrator will be evicted
● An admission controller ensures that kubernetes workloads can only be scheduled on nodes
labelled as “kubernetes” nodes.
● Workloads of multiple orchestrators on the same node can lead to resource contention
Manager Node
(K8s, Swarm)
Worker Node
(Swarm)
Worker Node
(Kubernetes)
Worker Node
(Kubernetes)
Kubelet
Swarm Agents
Kubelet Kubelet Kubelet
Swarm Agents Swarm Agents Swarm Agents
Linking Nodes to Namespaces
● Allows users to uniquely assign nodes to namespaces.
● Variation of the PodNodeSelector admission controller integrated with UCP’s RBAC system
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.
The Tao of Docker
之道 Tao, The Way
之道 Tao
无为 Wu-wei, Effortless action
无为 Wu-wei, Effortless action
自然 Ziran, Naturalness
自然 Ziran, Naturalness
container
based
No state
No couplingbounded context
无为 Modernize traditional applications without
coding
The Docker 之道
自然 Create microservice applications with the
container platform that started the container
revolution
www.docker.com/kubernetes
Beta signup is open!
GENERALLY AVAILABLE
Q1 2018
Docker: Now powered by Swarm and Kubernetes
Thank You!
chanezon
@chanezon

More Related Content

What's hot (20)

PDF
Docker for any type of workload and any IT Infrastructure
Docker, Inc.
 
PDF
DCSF 19 Building Your Development Pipeline
Docker, Inc.
 
PPTX
Docker Roadshow 2016
Docker, Inc.
 
PPTX
Docker crash course
Vishwas N
 
PDF
Docker for .NET Developers - Michele Leroux Bustamante, Solliance
Docker, Inc.
 
PPTX
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Patrick Chanezon
 
PDF
DCSF19 How To Build Your Containerization Strategy
Docker, Inc.
 
PDF
DockerCon SF 2015: Docker in the New York Times Newsroom
Docker, Inc.
 
PPTX
Photon Controller: An Open Source Container Infrastructure Platform from VMware
Docker, Inc.
 
PPTX
What's New in Docker - February 2017
Patrick Chanezon
 
PDF
DockerCon SF 2015: Enabling Microservices @Orbitz
Docker, Inc.
 
PDF
DCEU 18: Docker Enterprise Platform and Architecture
Docker, Inc.
 
PPTX
CI, CD with Docker, Jenkins and Tutum
Sreenivas Makam
 
PDF
DCEU 18: Docker Container Security
Docker, Inc.
 
PPTX
Jenkins 1
Elad Hirsch
 
PDF
DockerCon SF 2015: Keynote Day 1
Docker, Inc.
 
PPTX
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
Docker, Inc.
 
PDF
Docker Platform Internals: Taking runtimes and image creation to the next lev...
Docker, Inc.
 
PDF
Intro to docker - innovation demo 2022
Hussain Mansoor
 
PDF
DCEU 18: How To Build Your Containerization Strategy
Docker, Inc.
 
Docker for any type of workload and any IT Infrastructure
Docker, Inc.
 
DCSF 19 Building Your Development Pipeline
Docker, Inc.
 
Docker Roadshow 2016
Docker, Inc.
 
Docker crash course
Vishwas N
 
Docker for .NET Developers - Michele Leroux Bustamante, Solliance
Docker, Inc.
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Patrick Chanezon
 
DCSF19 How To Build Your Containerization Strategy
Docker, Inc.
 
DockerCon SF 2015: Docker in the New York Times Newsroom
Docker, Inc.
 
Photon Controller: An Open Source Container Infrastructure Platform from VMware
Docker, Inc.
 
What's New in Docker - February 2017
Patrick Chanezon
 
DockerCon SF 2015: Enabling Microservices @Orbitz
Docker, Inc.
 
DCEU 18: Docker Enterprise Platform and Architecture
Docker, Inc.
 
CI, CD with Docker, Jenkins and Tutum
Sreenivas Makam
 
DCEU 18: Docker Container Security
Docker, Inc.
 
Jenkins 1
Elad Hirsch
 
DockerCon SF 2015: Keynote Day 1
Docker, Inc.
 
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
Docker, Inc.
 
Docker Platform Internals: Taking runtimes and image creation to the next lev...
Docker, Inc.
 
Intro to docker - innovation demo 2022
Hussain Mansoor
 
DCEU 18: How To Build Your Containerization Strategy
Docker, Inc.
 

Similar to Develop and deploy Kubernetes applications with Docker - IBM Index 2018 (20)

PPTX
Docker Enterprise Workshop - Technical
Patrick Chanezon
 
PDF
Docker Dublin Meetup | 22 Feb 2018 | Docker + Kubernetes
Thomas Barlow
 
PPTX
Docker EE 2.0 Choice, Security & Agility
Ashnikbiz
 
PDF
Kubernetes in Docker
docker-athens
 
PDF
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
CodeOps Technologies LLP
 
PPTX
Bahrain ch9 introduction to docker 5th birthday
Walid Shaari
 
PDF
Docker ee an architecture and operations overview
Docker, Inc.
 
PDF
Docker Birthday #5 Meetup Cluj - Presentation
Alex Vranceanu
 
PPTX
Docker EE 2.0 choice security agility by Erik Tan,Tech Insights Singapore - 2...
Ashnikbiz
 
PDF
Docker Indy: Dockercon 2019 Recap and Docker CLI Plugins
ehazlett
 
PDF
Kubernetes in Docker
Docker, Inc.
 
PPTX
Dockercon 2017 EU Recap
Ajeet Singh Raina
 
PDF
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Docker, Inc.
 
PPTX
DockerCon EU 2017 Recap
Patrick Chanezon
 
PDF
DCSF 19 Docker Enterprise Platform and Architecture
Docker, Inc.
 
PDF
Kubernetes made easy with Docker Enterprise - Tech deep dive on Docker/Kubern...
Kangaroot
 
PPTX
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Radulescu Adina-Valentina
 
PPTX
Containers Made secure and easy with Docker EE 2.0
Ashnikbiz
 
PPTX
Introduction to Containers & Diving a little deeper into the benefits of Con...
Synergetics Learning and Cloud Consulting
 
PPTX
Docker Enterprise Workshop - Intro
Patrick Chanezon
 
Docker Enterprise Workshop - Technical
Patrick Chanezon
 
Docker Dublin Meetup | 22 Feb 2018 | Docker + Kubernetes
Thomas Barlow
 
Docker EE 2.0 Choice, Security & Agility
Ashnikbiz
 
Kubernetes in Docker
docker-athens
 
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
CodeOps Technologies LLP
 
Bahrain ch9 introduction to docker 5th birthday
Walid Shaari
 
Docker ee an architecture and operations overview
Docker, Inc.
 
Docker Birthday #5 Meetup Cluj - Presentation
Alex Vranceanu
 
Docker EE 2.0 choice security agility by Erik Tan,Tech Insights Singapore - 2...
Ashnikbiz
 
Docker Indy: Dockercon 2019 Recap and Docker CLI Plugins
ehazlett
 
Kubernetes in Docker
Docker, Inc.
 
Dockercon 2017 EU Recap
Ajeet Singh Raina
 
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
Docker, Inc.
 
DockerCon EU 2017 Recap
Patrick Chanezon
 
DCSF 19 Docker Enterprise Platform and Architecture
Docker, Inc.
 
Kubernetes made easy with Docker Enterprise - Tech deep dive on Docker/Kubern...
Kangaroot
 
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Radulescu Adina-Valentina
 
Containers Made secure and easy with Docker EE 2.0
Ashnikbiz
 
Introduction to Containers & Diving a little deeper into the benefits of Con...
Synergetics Learning and Cloud Consulting
 
Docker Enterprise Workshop - Intro
Patrick Chanezon
 
Ad

More from Patrick Chanezon (20)

PPTX
KubeCon 2019 - Scaling your cluster (both ways)
Patrick Chanezon
 
PPTX
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
Patrick Chanezon
 
PPTX
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Patrick Chanezon
 
PPTX
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
Patrick Chanezon
 
PPTX
The Tao of Docker - ITES 2018
Patrick Chanezon
 
PPTX
Moby KubeCon 2017
Patrick Chanezon
 
PPTX
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Patrick Chanezon
 
PPTX
Docker Innovation Culture
Patrick Chanezon
 
PPTX
The Tao of Docker - Devfest Nantes 2017
Patrick Chanezon
 
PPTX
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Patrick Chanezon
 
PPTX
Moby Open Source Summit North America 2017
Patrick Chanezon
 
PPTX
Moby Introduction - June 2017
Patrick Chanezon
 
PPTX
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
Patrick Chanezon
 
PPTX
Weave User Group Talk - DockerCon 2017 Recap
Patrick Chanezon
 
PPTX
Oscon 2017: Build your own container-based system with the Moby project
Patrick Chanezon
 
PPTX
Containerd Donation to CNCF Cloud Native Conference Berlin 2017
Patrick Chanezon
 
PPTX
Using Open Source and Open Standards in the Platform game
Patrick Chanezon
 
PPTX
Docker containerd Kubernetes sig node
Patrick Chanezon
 
PPTX
Docker 101 Checonf 2016
Patrick Chanezon
 
PPTX
Devoxx 2016 - Docker Nuts and Bolts
Patrick Chanezon
 
KubeCon 2019 - Scaling your cluster (both ways)
Patrick Chanezon
 
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
Patrick Chanezon
 
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Patrick Chanezon
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
Patrick Chanezon
 
The Tao of Docker - ITES 2018
Patrick Chanezon
 
Moby KubeCon 2017
Patrick Chanezon
 
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Patrick Chanezon
 
Docker Innovation Culture
Patrick Chanezon
 
The Tao of Docker - Devfest Nantes 2017
Patrick Chanezon
 
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Patrick Chanezon
 
Moby Open Source Summit North America 2017
Patrick Chanezon
 
Moby Introduction - June 2017
Patrick Chanezon
 
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
Patrick Chanezon
 
Weave User Group Talk - DockerCon 2017 Recap
Patrick Chanezon
 
Oscon 2017: Build your own container-based system with the Moby project
Patrick Chanezon
 
Containerd Donation to CNCF Cloud Native Conference Berlin 2017
Patrick Chanezon
 
Using Open Source and Open Standards in the Platform game
Patrick Chanezon
 
Docker containerd Kubernetes sig node
Patrick Chanezon
 
Docker 101 Checonf 2016
Patrick Chanezon
 
Devoxx 2016 - Docker Nuts and Bolts
Patrick Chanezon
 
Ad

Recently uploaded (20)

PPTX
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
PDF
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
PPTX
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
 
PPTX
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
PDF
Executive Business Intelligence Dashboards
vandeslie24
 
PDF
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PDF
Salesforce CRM Services.VALiNTRY360
VALiNTRY360
 
PDF
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
PDF
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
PPTX
MiniTool Power Data Recovery Full Crack Latest 2025
muhammadgurbazkhan
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PDF
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
PPTX
Platform for Enterprise Solution - Java EE5
abhishekoza1981
 
PPTX
Comprehensive Guide: Shoviv Exchange to Office 365 Migration Tool 2025
Shoviv Software
 
PPTX
Fundamentals_of_Microservices_Architecture.pptx
MuhammadUzair504018
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
 
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
Executive Business Intelligence Dashboards
vandeslie24
 
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
Salesforce CRM Services.VALiNTRY360
VALiNTRY360
 
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
MiniTool Power Data Recovery Full Crack Latest 2025
muhammadgurbazkhan
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
Platform for Enterprise Solution - Java EE5
abhishekoza1981
 
Comprehensive Guide: Shoviv Exchange to Office 365 Migration Tool 2025
Shoviv Software
 
Fundamentals_of_Microservices_Architecture.pptx
MuhammadUzair504018
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 

Develop and deploy Kubernetes applications with Docker - IBM Index 2018

  • 1. Patrick Chanezon, @chanezon February 2018 Develop and deploy Kubernetes applications with Docker
  • 3. Agenda 1. Intro: the Docker Platform 2. Modernizing Traditional Applications 3. Kubernetes in Docker 4. Demo: Kubernetes in Docker Desktop 5. General CE/EE Architectures 6. Demo: Kubernetes in Docker EE 2.0 7. EE: Topics on mixed workloads 8. Q&A
  • 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
  • 8. The Docker Container Platform Enabling the Software Supply Chain • Diverse Applications • Disparate Infrastructure • Lifecycle Management • Orchestrate Complex Systems • Secure by Default • Edge / IoT • Serverless Anywhere
  • 11. 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
  • 12. Docker Community Edition Developers EnterpriseContainer Ecosystem The Docker Innovation Model Docker Enterprise Edition 9,149 Open Source Contributors 8800 PRs/Year
  • 15. The Innovation Challenge Average IT Spend By Type INNOVATION MAINTENANCE 20% 80% 20% 40% 60% 80% 100% 0% 1% Windows Server 2008 Windows Server 2012 Windows Server 2000 Windows Server 2003 Red Hat, Other Linux, Other OS Server OS Market Share Sources: Bank of America, Spiceworks, SolarWinds 18% 45% 24% 12%
  • 16. Source: RightScale 2017 State of the Cloud Report Top Priority for Enterprise IT 2016 2017 39% 50% 27% 29% 23% 9% 10% 10% Leverage Hybrid Cloud Use Public Cloud Build Private Cloud Use Hosted Cloud Enterprise Priority: Portability
  • 17. 50+% 79% Major Release Frequency 0 Weekly Monthly Quarterly Annually 5% 10% 15% 20% 25% More than 2 years Enterprise Priority: Agility Source: Plutora, CIO Insight Release 6x or less per year Set increasing release velocity as top IT priority
  • 18. Enterprise Priority: Security 60% Source: Forbes 2017 State Of Cloud Adoption And Security Report security concerns slowing cloud adoption
  • 19. The Docker Modernize Traditional Apps POC Program Partner Consulting Services Partner Infrastructure Docker Enterprise Edition Portable Agile Secure Efficient < 5 days + + No Code Changes App Existing Application Convert to a Docker EE container Modern Infrastructure
  • 20. Reducing total costs by 50% MTA POC Impact Hybrid Cloud-Ready Portability Agility 2x Faster Security Isolation & Integrity
  • 21. The Modernization Journey App Existing Application Modern Methodologies Convert to a Docker EE Container Modern Infrastructure Ongoing Innovation
  • 22. 22 KEY CHALLENGES • Accumulated thousands of apps, 400+ systems of record and 5 infrastructures over 150 years • Difficult to innovate with majority of budget spent on maintenance SOLUTION • Leverage Docker MTA program to modernize the email opt- out app with Docker EE to drive down total costs Docker EE and MTA create self funding model for container adoption -70% VMs -67% Cores 10x Average CPU utilization + + -66% Total Cost of Ownership 593 Applications RESULTS • Modernization of single app completed in 1 day • Applying model to other apps built with same technology • Business case forecasts a 66% cost reduction
  • 23. 23 KEY CHALLENGES • Maintenance costs of managing traditional apps on prem • Code quality was increasingly difficult with outsource software house • App delivery process was too slow for the pace of the business SOLUTION • Leverage Docker MTA program jointly with their trusted partner Accenture App Visibility and Consistency at 50% the Cost RESULTS • 50% savings across all applications • Unified architecture for the first time • New visibility into their outsourced applications
  • 25. What is a container orchestrator? Management of containers running in one or more container runtimes
  • 27. Docker Enterprise Edition Docker Community Edition containerd The best container development workflow The best enterprise container security and management Docker: Now Powered by Swarm and Kubernetes Native Kubernetes integration provides full ecosystem compatibility Industry-standard container runtime
  • 28. Lifecycle of a Kubernetes API Request Kubernetes API Server Authentication Authorization Admission Control etcd
  • 29. Orchestrator: Docker Engine with Swarm-Mode Enabled ● github.com/docker/swarmkit ● Declarative State through the “Service” construct ● Built-in Routing Mesh & Overlay networking ● In-memory Raft Store for all state (persisted to disk) ● Built-in CA, per-node cryptographic node identity, mTLS between all endpoints
  • 30. Orchestrator: Kubernetes ● github.com/kubernetes/kubernetes ● Scheduling Unit: Pods ● Declarative State through “Controllers”: Deployment, ReplicaSet, DaemonSet … ● Load balancing via Services and Ingresses ● Flat Networking model delegated to plugins
  • 31. Docker EE 2.0: A conformant kubernetes distribution
  • 32. 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
  • 33. Demo: Kubernetes in Docker Desktop
  • 36. 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
  • 37. Docker EE now includes 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
  • 38. 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
  • 39. 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
  • 40. - 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 Supported and Certified on Windows Server and Major Linux Distributions Kubernetes Support Docker Enterprise Edition Management for Swarm and Kubernetes
  • 41. Demo: Kubernetes in Docker EE 2.0
  • 42. Uses of Kubernetes Plugin Interfaces
  • 43. 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
  • 44. Authorization ● All requests authorized via the Authorization Webhook plugin ● Custom RBAC system shared between Swarm and Kubernetes: ○ Users, Teams, Organizations, Service Accounts ○ Custom Roles ○ Hierarchical “Grants” ● No support for the rbac.authorization.k8s.io API, future plans for API translation
  • 45. Admission Control ● Allows plugins to inspect, mutate or reject API requests after authorization ● Used for: ○ Orchestrator Selection ○ Linking nodes to namespaces ○ User Impersonation for Stacks ○ Image Signing policy enforcement
  • 46. Orchestrator Selection ● Each node is running both kubernetes and swarm system components ● Administrators can toggle between (kubernetes, swarm or mixed) for any given node ● When toggling orchestrators, workloads of the previous orchestrator will be evicted ● An admission controller ensures that kubernetes workloads can only be scheduled on nodes labelled as “kubernetes” nodes. ● Workloads of multiple orchestrators on the same node can lead to resource contention Manager Node (K8s, Swarm) Worker Node (Swarm) Worker Node (Kubernetes) Worker Node (Kubernetes) Kubelet Swarm Agents Kubelet Kubelet Kubelet Swarm Agents Swarm Agents Swarm Agents
  • 47. Linking Nodes to Namespaces ● Allows users to uniquely assign nodes to namespaces. ● Variation of the PodNodeSelector admission controller integrated with UCP’s RBAC system
  • 48. 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.
  • 49. The Tao of Docker
  • 55. 自然 Ziran, Naturalness container based No state No couplingbounded context
  • 56. 无为 Modernize traditional applications without coding The Docker 之道 自然 Create microservice applications with the container platform that started the container revolution
  • 57. www.docker.com/kubernetes Beta signup is open! GENERALLY AVAILABLE Q1 2018 Docker: Now powered by Swarm and Kubernetes

Editor's Notes

  • #4: General Architecture: Compose, DCT Plugins, Networking HA, Reconciliation, Promotion Installation/Upgrade ?? (optional, talk with vivek) Storage Mixed Workloads: Interop, mixed “stacks” Resource Contention
  • #38: Windows containers are different
  • #40: Runs on Docker EE engine Swarm-mode Managers are Kubernetes Masters Swarm-modet node inventory is source of truth Cryptographic Node Identity and mTLS used throughout Unmodified Kubernetes components run as Docker containers UCP Agent/Reconciler manages component lifecycle Manager / Worker states Certificate validity Patching and upgrades Leverage Kubernetes extension model (webhooks, initializers, flexvolume, CNI, etc.) We will submit the product and aim to pass the Certified Kubernetes Conformance program
  • #46: Requests arriving to the UCP controller against the kubernetes API will have their session token exchanged for a long-lived identity token. The request is then forwarded to the kubernetes API server which is configured to trust UCP’s identity tokens.
  • #47: A Grant is either a RoleBinding or a ClusterRoleBinding
  • #48: Grant creation is UCP-specific