0% found this document useful (0 votes)
27 views74 pages

A Short History of Containers and Kubernetes by Mike Vincent

The document covers the history of containers, starting with Multics in 1965 and Unix V7’s chroot in 1979. In 2000, FreeBSD introduced “jails” for isolation. Linux-VServer in 2001 added resource control, and cgroups in 2006 refined it further. By 2014, Kubernetes became the leading tool for container orchestration.

Uploaded by

Mike Vincent
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views74 pages

A Short History of Containers and Kubernetes by Mike Vincent

The document covers the history of containers, starting with Multics in 1965 and Unix V7’s chroot in 1979. In 2000, FreeBSD introduced “jails” for isolation. Linux-VServer in 2001 added resource control, and cgroups in 2006 refined it further. By 2014, Kubernetes became the leading tool for container orchestration.

Uploaded by

Mike Vincent
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 74

A Short History of Containers and Kubernetes

By Mike Vincent

1. A brief history of process isolation


2. VM or container?
3. Kubernetes
4. Live demo

1 CUBIC PROPRIETARY | Overview


1
A brief history of process isolation
1965 Multics

3 CUBIC PROPRIETARY | Overview


1965 Multics
- Multics was an operating system around before Unix

4 CUBIC PROPRIETARY | Overview


1965 Multics
- Multics was an operating system around before Unix
- first tree-based file system

5 CUBIC PROPRIETARY | Overview


1965 Multics
- Multics was an operating system around before Unix
- first tree-based file system
- root is born

6 CUBIC PROPRIETARY | Overview


1979 Unix V7

7 CUBIC PROPRIETARY | Overview


1979 Unix V7
- chroot

8 CUBIC PROPRIETARY | Overview


1979 Unix V7
- chroot
- chroot extends the Multics file system

9 CUBIC PROPRIETARY | Overview


1979 Unix V7
- chroot
- chroot extends the Multics file system
- separate file system

10 CUBIC PROPRIETARY | Overview


1979 Unix V7
- chroot
- chroot extends the Multics file system
- separate file system
- chroot let’s us change the root directory for a process

11 CUBIC PROPRIETARY | Overview


1979 Unix V7
- chroot
- chroot extends the Multics file system
- separate file system
- chroot let’s us change the root directory for a process
- $ chroot /path/to/new/root command

12 CUBIC PROPRIETARY | Overview


2000 FreeBSD 4.0

13 CUBIC PROPRIETARY | Overview


2000 FreeBSD 4.0
- jail

14 CUBIC PROPRIETARY | Overview


2000 FreeBSD 4.0
- jail
- jail extends chroot

15 CUBIC PROPRIETARY | Overview


2000 FreeBSD 4.0
- jail
- jail extends chroot
- separate file system

16 CUBIC PROPRIETARY | Overview


2000 FreeBSD 4.0
- jail
- jail extends chroot
- separate file system
- separate network

17 CUBIC PROPRIETARY | Overview


2000 FreeBSD 4.0
- jail
- jail extends chroot
- separate file system
- separate network
- separate users

18 CUBIC PROPRIETARY | Overview


2000 FreeBSD 4.0
- jail
- jail extends chroot
- separate file system
- separate network
- separate users
- $ jail -c path=/path/to/new/jail/
host.hostname=jailhostname
ip4.addr=192.0.2.100 command

19 CUBIC PROPRIETARY | Overview


2001 Linux-VServer

20 CUBIC PROPRIETARY | Overview


2001 Linux-VServer
- virtual server

21 CUBIC PROPRIETARY | Overview


2001 Linux-VServer
- virtual server
- virtual server extends jail

22 CUBIC PROPRIETARY | Overview


2001 Linux-VServer
- virtual server
- virtual server extends jail
- separate file system

23 CUBIC PROPRIETARY | Overview


2001 Linux-VServer
- virtual server
- virtual server extends jail
- separate file system
- separate network

24 CUBIC PROPRIETARY | Overview


2001 Linux-VServer
- virtual server
- virtual server extends jail
- separate file system
- separate network
- separate users

25 CUBIC PROPRIETARY | Overview


2001 Linux-VServer
- virtual server
- virtual server extends jail
- separate file system
- separate network
- separate users
- separate CPU time

26 CUBIC PROPRIETARY | Overview


2001 Linux-VServer
- virtual server
- virtual server extends jail
- separate file system
- separate network
- separate users
- separate CPU time
- separate memory time

27 CUBIC PROPRIETARY | Overview


2001 Linux-VServer
- virtual server
- virtual server extends jail
- separate file system
- separate network
- separate users
- separate CPU time
- separate memory time
- separate I/O time

28 CUBIC PROPRIETARY | Overview


2006 Process containers

29 CUBIC PROPRIETARY | Overview


2006 Process containers
- cgroups

30 CUBIC PROPRIETARY | Overview


2006 Process containers
- cgroups
- cgroups extends virtual server

31 CUBIC PROPRIETARY | Overview


2006 Process containers
- cgroups
- cgroups extends virtual server
- separate file system

32 CUBIC PROPRIETARY | Overview


2006 Process containers
- cgroups
- cgroups extends virtual server
- separate file system
- separate network

33 CUBIC PROPRIETARY | Overview


2006 Process containers
- cgroups
- cgroups extends virtual server
- separate file system
- separate network
- separate users

34 CUBIC PROPRIETARY | Overview


2006 Process containers
- cgroups
- cgroups extends virtual server
- separate file system
- separate network
- separate users
- separate CPU time

35 CUBIC PROPRIETARY | Overview


2006 Process containers
- cgroups
- cgroups extends virtual server
- separate file system
- separate network
- separate users
- separate CPU time
- separate memory time

36 CUBIC PROPRIETARY | Overview


2006 Process containers
- cgroups
- cgroups extends virtual server
- separate file system
- separate network
- separate users
- separate CPU time
- separate memory time
- separate I/O time

37 CUBIC PROPRIETARY | Overview


2006 Process containers
- cgroups
- cgroups extends virtual server
- separate file system
- separate network
- separate users
- separate CPU time
- separate memory time
- separate I/O time
- namespaces

38 CUBIC PROPRIETARY | Overview


2008 - 2014

39 CUBIC PROPRIETARY | Overview


2008 - 2014
- 2008 LXC

40 CUBIC PROPRIETARY | Overview


2008 - 2014
- 2008 LXC
- 2011 CloudFoundry Warden

41 CUBIC PROPRIETARY | Overview


2008 - 2014
- 2008 LXC
- 2011 CloudFoundry Warden
- 2012 Google LMCTFY

42 CUBIC PROPRIETARY | Overview


2008 - 2014
- 2008 LXC
- 2011 CloudFoundry Warden
- 2012 Google LMCTFY
- 2013 Docker

43 CUBIC PROPRIETARY | Overview


2008 - 2014
- 2008 LXC
- 2011 CloudFoundry Warden
- 2012 Google LMCTFY
- 2013 Docker
- 2014 LXD

44 CUBIC PROPRIETARY | Overview


2008 - 2014
- 2008 LXC
- 2011 CloudFoundry Warden
- 2012 Google LMCTFY
- 2013 Docker
- 2014 LXD
- 2014 Kubernetes

45 CUBIC PROPRIETARY | Overview


2
VM or container?
Isn’t this how VMs work?

47 CUBIC PROPRIETARY | Overview


VM or container?

48 CUBIC PROPRIETARY | Overview


VM or container?

49 CUBIC PROPRIETARY | Overview


VM or container?
- VMs utilize a separate operating system per machine

50 CUBIC PROPRIETARY | Overview


VM or container?
- VMs utilize a separate operating system per machine
- Containers share a single operating system’s kernel

51 CUBIC PROPRIETARY | Overview


VM or container?
- VMs utilize a separate operating system per machine
- Containers share a single operating system’s kernel
- Linux distros share variations of the same kernel

52 CUBIC PROPRIETARY | Overview


VM or container?
- VMs utilize a separate operating system per machine
- Containers share a single operating system’s kernel
- Linux distros share variations of the same kernel
- copy-on-write

53 CUBIC PROPRIETARY | Overview


VM or container?
- VMs utilize a separate operating system per machine
- Containers share a single operating system’s kernel
- Linux distros share variations of the same kernel
- copy-on-write
- union filesystem

54 CUBIC PROPRIETARY | Overview


VM or container?
- VMs utilize a separate operating system per machine
- Containers share a single operating system’s kernel
- Linux distros share variations of the same kernel
- copy-on-write
- union filesystem
- aufs

55 CUBIC PROPRIETARY | Overview


VM or container?
- VMs utilize a separate operating system per machine
- Containers share a single operating system’s kernel
- Linux distros share variations of the same kernel
- copy-on-write
- union filesystem
- aufs
- overlay2

56 CUBIC PROPRIETARY | Overview


VM or container?
- VMs utilize a separate operating system per machine
- Containers share a single operating system’s kernel
- Linux distros share variations of the same kernel
- copy-on-write
- union filesystem
- aufs
- overlay2
- devicemapper

57 CUBIC PROPRIETARY | Overview


3
Kubernetes
Kubernetes

59 CUBIC PROPRIETARY | Overview


Kubernetes
- Google project; now run by CNCF

60 CUBIC PROPRIETARY | Overview


Kubernetes
- Google project; now run by CNCF
- Kubernetes means “helmsman”

61 CUBIC PROPRIETARY | Overview


Kubernetes
- Google project; now run by CNCF
- Kubernetes means “helmsman”
- cluster of machines that each run clusters of containers

62 CUBIC PROPRIETARY | Overview


Kubernetes
- Google project; now run by CNCF
- Kubernetes means “helmsman”
- cluster of machines that each run clusters of containers
- competes with Apache Mesos, Docker Swarm

63 CUBIC PROPRIETARY | Overview


Kubernetes
- Google project; now run by CNCF
- Kubernetes means “helmsman”
- cluster of machines that each run clusters of containers
- competes with Apache Mesos, Docker Swarm
- orchestrates and scales containers

64 CUBIC PROPRIETARY | Overview


Kubernetes
- Google project; now run by CNCF
- Kubernetes means “helmsman”
- cluster of machines that each run clusters of containers
- competes with Apache Mesos, Docker Swarm
- orchestrates and scales containers
- service discovery and config management for containers

65 CUBIC PROPRIETARY | Overview


Kubernetes
- Google project; now run by CNCF
- Kubernetes means “helmsman”
- cluster of machines that each run clusters of containers
- competes with Apache Mesos, Docker Swarm
- orchestrates and scales containers
- service discovery and config management for containers
- virtual machines : VMware ESXi

66 CUBIC PROPRIETARY | Overview


Kubernetes
- Google project; now run by CNCF
- Kubernetes means “helmsman”
- cluster of machines that each run clusters of containers
- competes with Apache Mesos, Docker Swarm
- orchestrates and scales containers
- service discovery and config management for containers
- virtual machines : VMware ESXi
- containers : Kubernetes

67 CUBIC PROPRIETARY | Overview


Kubernetes
- Google project; now run by CNCF
- Kubernetes means “helmsman”
- cluster of machines that each run clusters of containers
- competes with Apache Mesos, Docker Swarm
- orchestrates and scales containers
- service discovery and config management for containers
- virtual machines : VMware ESXi
- containers : Kubernetes
- “the new OS”

68 CUBIC PROPRIETARY | Overview


Kubernetes
- Cluster of nodes

Source: https://medium.com/google-cloud/kubernetes-101-pods-nodes-containers-and-clusters-c1509e409e16

69 CUBIC PROPRIETARY | Overview


Kubernetes
- Cluster of nodes

Source: https://medium.com/google-cloud/kubernetes-101-pods-nodes-containers-and-clusters-c1509e409e16

70 CUBIC PROPRIETARY | Overview


Kubernetes
- Attached storage

Source: https://medium.com/google-cloud/kubernetes-101-pods-nodes-containers-and-clusters-c1509e409e16

71 CUBIC PROPRIETARY | Overview


Kubernetes
- Containers are basic
building blocks

Source: https://medium.com/google-cloud/kubernetes-101-pods-nodes-containers-and-clusters-c1509e409e16

72 CUBIC PROPRIETARY | Overview


Kubernetes
- Containers are grouped
into pods

Source: https://medium.com/google-cloud/kubernetes-101-pods-nodes-containers-and-clusters-c1509e409e16

73 CUBIC PROPRIETARY | Overview


Kubernetes
- Pods are grouped
into deployments

Source: https://medium.com/google-cloud/kubernetes-101-pods-nodes-containers-and-clusters-c1509e409e16

74 CUBIC PROPRIETARY | Overview

You might also like