Slide 1

Slide 1 text

Docker and Kubernetes 
 (an intro) Arnon Rotem-Gal-Oz

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

What is Docker?

Slide 4

Slide 4 text

Linux Containers

Slide 5

Slide 5 text

What’s isolated?

Slide 6

Slide 6 text

So what is Docker then?

Slide 7

Slide 7 text

What are the basics of the Docker system? Source Code Repository Dockerfile For A Docker Engine Docker Container Image Registry Build Docker Host 2 OS (Linux) Container A Container B Container C Container A Push Search Pull Run Host 1 OS (Linux) http://www.slideshare.net/dotCloud/docker-intro-november

Slide 8

Slide 8 text

Changes and Updates Docker Engine Docker Container Image Registry Docker Engine Push Update Bins/ Libs App A App Δ Bins / Base Container Image Host is now running A’’ Container Mod A’’ App Δ Bins / Bins/ Libs App A Bins / Bins/ Libs App A’’ Host running A wants to upgrade to A’’. Requests update. Gets only diffs Container Mod A’ http://www.slideshare.net/dotCloud/docker-intro-november

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Work on my machine…

Slide 11

Slide 11 text

What is Kubernetes?

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Is a Distributed Operating System for your code

Slide 14

Slide 14 text

1. OS as an extended machine 
 2. OS as a Resource Manager

Slide 15

Slide 15 text

What we get • Scaling • Discovery • Load balancing and routing • Monitoring • Configuration

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

Azure/AWS/Google/AliCloud 
 all have managed Kubernetes offerings

Slide 18

Slide 18 text

Pod • A deployment unit • one or more containers • Shared storage volumes • Shared IP (i.e. access via localhost) and port space • Deployed together (co-located, co-scheduled) • Ephemeral (reschedule ➔ new instance, not rerunning an ”old” instance)

Slide 19

Slide 19 text

network Init container 2 Init container 1 container 1 container 2 POD

Slide 20

Slide 20 text

Side-car pattern (edge component)

Slide 21

Slide 21 text

• Job • CronJob • StatefulSet • DeamonSet • Deployment • Replicaset

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

Service • Set of Pods • An access policy (session affinity, port, external port etc.) • Provides a stable endpoint for other services http://kubernetes.io/docs/user-guide/services/

Slide 25

Slide 25 text

Declare desired state (via yaml)

Slide 26

Slide 26 text

https://threadreaderapp.com/thread/1067537816324845569.html

Slide 27

Slide 27 text

Operators: Deploy Apps on K8s

Slide 28

Slide 28 text

And there’s a lot more…