Docker & kubernetes intro

Preview:

Citation preview

Docker and Kubernetes(an intro)

Arnon Rotem-Gal-Oz

Linux Containers

https://mountainss.files.wordpress.com/2015/10/msft-containers.gif

What’s isolated?

So what is Docker then?

What are the basics of the Docker system?

Source Code

Repository

DockerfileFor A

Docker Engine

DockerContainer

Image Registry

Build

Do

cker

Host 2 OS (Linux)

Co

ntain

er A

Co

ntain

er B

Co

ntain

er C

Co

ntain

er A

Push

SearchPull

Run

Host 1 OS (Linux)

http://www.slideshare.net/dotCloud/docker-intro-november

Changes and Updates

Docker Engine

DockerContainer

Image Registry

Docker Engine

Push

Update

Bins/Libs

AppA

Ap

p Δ

Bin

s/

Base Container

Image

Host is now running A’’

Container Mod A’’

Ap

p Δ

Bin

s/

Bins/Libs

AppA

Bin

s/

Bins/Libs

AppA’’

Host running A wants to upgrade to A’’. Requests update. Gets only diffs

Container Mod A’

http://www.slideshare.net/dotCloud/docker-intro-november

Why does it work?separation of concerns…

• Avi the Developer

• Worries about what’s “inside” the container

• His code

• His Libraries

• His Package Manager

• His Apps

• His Data

• All Linux servers look the same

• Diab the Ops Guy• Worries about what’s “outside”

the container• Logging

• Scaling

• Monitoring

• Environment configuration

• All containers start, stop, copy, attach, migrate, etc. the same way

http://www.slideshare.net/dotCloud/docker-intro-november

Minions(now Nodes)

Kube-lets

https://hjemmemor.files.wordpress.com/2012/07/kibbeh.jpg

Pod

• A deployment unit• one or more containers

• Shared storage and same IP (i.e. access via localhost) and port space

• Deployed together (co-located, co-scheduled)

• Ephemeral (reschedule new instance, not rerunning an ”old” instance)

• Another level of organization (beyond Docker images)

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/

https://github.com/kubernetes/kubernetes/blob/release-1.4/docs/design/architecture.md

Recommended