Demystifying
theNuts&Boltsof
KubernetesArchitecture
Pods101
2
Who Am I?
PrincipalSystemsDevelopmentEngineeratDellEMC
WorkedwithVMware&CGI
DockerCaptain|DockerCommunityLeader
CollabnixSlack–1800+Members
DockerLabs–500+tutorials
http://www.collabnix.com
3
Pod - Concepts
WhatisPod?
PodDeployment
Multi-Container
PodNetworking
Inter-Pod&Intra-PodNetworking
PodLifecycle
PodManifestFile
4
Atomic Unit of Scheduling
Virtualization
Docker
Kubernetes
VM
Container
Pod
5
How Pods are deployed?
Cluster
Master
Scheduler
APIServer
Pod
Container
6
Scaling the Pods to accommodate increasing traffic
WorkerNode
Master
Scheduler
APIServer
Pod
Container
7
What if node resources is getting insufficient?
WorkerNode
Master
Scheduler
APIServer
Pod
Container
8
What if node resources is getting insufficient?
Cluster
Master
Scheduler
APIServer
Pod
Container
Worker-2
Worker-1
9
What if node resources is getting insufficient?
Cluster
Master
Scheduler
APIServer
Pod
Container
Worker-2
Worker-1
10
2 Containers in a same Pod
Cluster
Master
Scheduler
APIServer
Pod
Container
Worker-2
Worker-1
11
Pod Networking
Pod1
MainController
:8080
10.0.30.50
Pod2
Supporting
Controller
:7777
10.0.30.60
Supporting
Controller
:3000
Howdoesthesecontainersinside
PodscommunicatewithExternal
World?
13
Network Namespace
Pod1
MainController
:8080
10.0.30.50
Pod2
Supporting
Controller
:7777
10.0.30.60
Supporting
Controller
:3000
10.0.30.50:8080
10.0.30.50:3000
HowdoesonePodtalktoanother
Pod?
WelcometoInter-PodCommunication..
15
Pod Networking
Pod1
MainController
:8080
10.0.30.50
Pod2
Supporting
Controller
:7777
10.0.30.60
Supporting
Controller
:3000
PodNetwork
HowdoesIntra-Pod
communicationtakeplace?
17
Intra-Pod Communication
Pod1
MainContainer
Supporting
Container
:8080
:3000
10.0.30.50
:8080:3000
Localhost
18
A Look at Pod Manifest
19
Get a shell to a running Container
VerifyingtheOperatingSystem
20
Get a shell to a running Container
Verifying the index page
root@nginx-pod:/# echo Hello shell demo > /usr/share/nginx/html/index.html
StagesofLifeCycleofPod
Lifecycle of a Pod
Pending Running
Succeeding
Pod
Pod
Pod
Failed
Pod
APIServer
Manifest
Demo
DeployingYourFirstNginxPod
ViewingYourPod
WhereisyourPodrunningon?
PodOutputinJSON
ExecutingCommandsagainstPod
TerminatingaPod
Addinga2ndcontainertoaPod