Slide 1

Slide 1 text

1 Confidential  ©2019 VMware, Inc. Kubernetes in a Nutshell

Slide 2

Slide 2 text

Confidential  ©2019 VMware, Inc. 2 „Kubernetes is an open-source System for automating Deployment, Scaling, and Management of containerized Applications.” The Origin of Kubernetes

Slide 3

Slide 3 text

Confidential  ©2019 VMware, Inc. 3 Google Search (late 1990s) Borg (~2003) Cgroups (2007) Omega (~2012) Docker (2013) The Origin of Kubernetes Kubernetes (2014) @embano1

Slide 4

Slide 4 text

Confidential  ©2019 VMware, Inc. 4 Kubernetes Cluster Kubernetes High-Level Architecture Infrastructure (Compute, Storage, Networking) Control Plane Worker Pod Pod Pod Pod Pod API Kubernetes Cloud Provider @embano1

Slide 5

Slide 5 text

Confidential  ©2019 VMware, Inc. 5 So what is a Container, really? Kernel Mode Cgroups Namespaces Security Capabilities Scheduler Syscall task_struct … Scheduling Entity (se) “running” syscall.Exec(ENTRYPOINT/CMD)* A Structure in Kernel Memory. The Kernel has no Notion of a “Container”. It’s yet another Executable. User Mode Docker Engine ContainerCreate() * After Container Sandbox Initialization (nsenter.go/nsexec.c) sched_class fair.c (CFS) @embano1

Slide 6

Slide 6 text

Confidential  ©2019 VMware, Inc. 6 The Pod – The atomic Unit in Kubernetes Kubernetes Primitives /pause Container #1 Container #2 Pod Limits Requests https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.13/#podspec-v1-core Volumes Priority Affinity Probes IP @embano1

Slide 7

Slide 7 text

Confidential  ©2019 VMware, Inc. 7 Higher Level Objects Kubernetes Primitives Pod “redis--1” ReplicaSet “redis-” “desired: 3” Deployment “redis” “strategy: rollingUpdate” Pod “redis--2” Pod “redis--3” myCustomController “kind: redisCluster” Horizontal Pod Autoscaler (HPA) Metrics Provider myCustomController kubectl create –f redis.yaml REST API SDKs API

Slide 8

Slide 8 text

Confidential  ©2019 VMware, Inc. 8 Controllers and Reconciliation Loops Kubernetes Primitives Observe Analyze Act