See slide #5 from a (shortened) K8s 101 which I always use to baseline and level-set the audience before diving into advanced container topics.
1Confidential ©2019 VMware, Inc.Kubernetes in a Nutshell
View Slide
Confidential ©2019 VMware, Inc. 2„Kubernetes is an open-source System forautomating Deployment, Scaling, andManagement of containerized Applications.”The Origin of Kubernetes
Confidential ©2019 VMware, Inc. 3GoogleSearch(late 1990s)Borg(~2003)Cgroups(2007)Omega(~2012)Docker(2013)The Origin of KubernetesKubernetes(2014)@embano1
Confidential ©2019 VMware, Inc. 4Kubernetes ClusterKubernetesHigh-Level ArchitectureInfrastructure(Compute, Storage, Networking)Control Plane WorkerPod Pod Pod Pod PodAPIKubernetesCloud Provider @embano1
Confidential ©2019 VMware, Inc. 5So what is a Container, really?Kernel ModeCgroupsNamespacesSecurity CapabilitiesSchedulerSyscalltask_struct…Scheduling Entity (se)“running”syscall.Exec(ENTRYPOINT/CMD)*A Structure in KernelMemory. The Kernel hasno Notion of a“Container”. It’s yetanother Executable.User ModeDocker EngineContainerCreate()* After Container Sandbox Initialization(nsenter.go/nsexec.c)sched_classfair.c (CFS)@embano1
Confidential ©2019 VMware, Inc. 6The Pod – The atomic Unit in KubernetesKubernetes Primitives/pauseContainer #1 Container #2PodLimitsRequestshttps://kubernetes.io/docs/reference/generated/kubernetes-api/v1.13/#podspec-v1-coreVolumesPriorityAffinityProbesIP@embano1
Confidential ©2019 VMware, Inc. 7Higher Level ObjectsKubernetes PrimitivesPod“redis--1”ReplicaSet “redis-”“desired: 3”Deployment “redis”“strategy: rollingUpdate”Pod“redis--2”Pod“redis--3”myCustomController“kind: redisCluster”Horizontal Pod Autoscaler(HPA)Metrics ProvidermyCustomControllerkubectl create –f redis.yamlREST APISDKsAPI
Confidential ©2019 VMware, Inc. 8Controllers and Reconciliation LoopsKubernetes PrimitivesObserveAnalyzeAct