kubernetes/workshop/Pods101_slides/Pods101.html
Demystifying
theNuts&Boltsof
KubernetesArchitecture
Pods101
2
Who Am I?
• PrincipalSystemsDevelopmentEngineeratDellEMC
• WorkedwithVMware&CGI
• DockerCaptain|DockerCommunityLeader
• CollabnixSlack–1800+Members
• DockerLabs–500+tutorials
3
Pod - Concepts
• WhatisPod?
• PodDeployment
• Multi-Container
• PodNetworking
• Inter-Pod&Intra-PodNetworking
• PodLifecycle
• PodManifestFile
4
Atomic Unit of Scheduling
Virtualization
Docker
Kubernetes
VM
Container
Pod
5
How Pods are deployed?
Cluster
Master
Scheduler
APIServer
Pod
Container
6
Scaling the Pods to accommodate increasing traffic
WorkerNode
Master
Scheduler
APIServer
Pod
Container
7
What if node resources is getting insufficient?
WorkerNode
Master
Scheduler
APIServer
Pod
Container
8
What if node resources is getting insufficient?
Cluster
Master
Scheduler
APIServer
Pod
Container
Worker-2
Worker-1
9
What if node resources is getting insufficient?
Cluster
Master
Scheduler
APIServer
Pod
Container
Worker-2
Worker-1
10
2 Containers in a same Pod
Cluster
Master
Scheduler
APIServer
Pod
Container
Worker-2
Worker-1
11
Pod Networking
Pod1
MainController
:8080
10.0.30.50
Pod2
Supporting
Controller
:7777
10.0.30.60
Supporting
Controller
:3000
Howdoesthesecontainersinside
PodscommunicatewithExternal
World?
13
Network Namespace
Pod1
MainController
:8080
10.0.30.50
Pod2
Supporting
Controller
:7777
10.0.30.60
Supporting
Controller
:3000
10.0.30.50:8080
10.0.30.50:3000
HowdoesonePodtalktoanother
Pod?
WelcometoInter-PodCommunication..
15
Pod Networking
Pod1
MainController
:8080
10.0.30.50
Pod2
Supporting
Controller
:7777
10.0.30.60
Supporting
Controller
:3000
PodNetwork
HowdoesIntra-Pod
communicationtakeplace?
17
Intra-Pod Communication
Pod1
MainContainer
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
VerifyingtheOperatingSystem
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
StagesofLifeCycleofPod
Lifecycle of a Pod
Pending Running
Succeeding
Pod
Pod
Pod
Failed
Pod
APIServer
Manifest
Demo
• DeployingYourFirstNginxPod
• ViewingYourPod
• WhereisyourPodrunningon?
• PodOutputinJSON
• ExecutingCommandsagainstPod
• TerminatingaPod
• Addinga2ndcontainertoaPod