NOTE: For best experience, please use Chrome Browser!
Microservices #

Need For Container Orchestration #

Kubernetes Example Cluster #
graph TD
subgraph Cluster
MasterNode[Master Node]
Worker1[Worker Node 1]
Worker2[Worker Node 2]
Worker3[Worker Node 3]
Worker4[Worker Node 4]
end
MasterNode --> Worker1
MasterNode --> Worker2
MasterNode --> Worker3
MasterNode --> Worker4
Kubernetes Node Components #
graph TB
%% Define common style for all boxes
classDef uniform fill:#ffffff,stroke:#333,stroke-width:1px,font-size:12px;
subgraph Cluster
subgraph MasterNode["Master Node(s)"]
A1("API Server"):::uniform
A2("Scheduler"):::uniform
A3("Controller Manager"):::uniform
A4[("Etcd")]:::uniform
A5("Cloud Controller Manager"):::uniform
A6("Kubelet"):::uniform
A7("Kube-Proxy"):::uniform
A8("Container Runtime"):::uniform
end
subgraph WorkerNode1["Worker Node 1"]
B11("Kubelet"):::uniform
B12("Kube-Proxy"):::uniform
B13("Container Runtime"):::uniform
end
subgraph WorkerNode2["Worker Node 2"]
B21("Kubelet"):::uniform
B22("Kube-Proxy"):::uniform
B23("Container Runtime"):::uniform
end
subgraph WorkerNode3["Worker Node 3"]
B31("Kubelet"):::uniform
B32("Kube-Proxy"):::uniform
B33("Container Runtime"):::uniform
end
end
%% Colors for subgraphs
style MasterNode fill:#f0f8ff,stroke:#333,stroke-width:4px;
style WorkerNode1 fill:#f9f9f9,stroke:#333,stroke-width:2px;
style WorkerNode2 fill:#f9f9f9,stroke:#333,stroke-width:2px;
style WorkerNode3 fill:#f9f9f9,stroke:#333,stroke-width:2px;
Kubernetes Logical View #

Kubernetes Physical View #

A/B Testing #

Blue Green Deployment #

Canary Deployment #

Recreate #

Rolling Updates #

Rolling Updates with Additional Instances #

Service #
graph LR DEP[Deployment] RS[ReplicaSet] POD1[Pod1] POD2[Pod2] SVC[Service] SVC --> POD1 SVC --> POD2 DEP --> RS RS --> POD1 RS --> POD2
Labels #
kubernetes-labels

Storage #
graph LR
subgraph Storage
subgraph StaticProvisioning ["Static Provisioning"]
direction TB
PVC1(PVC) -->|Matches| PV1(PV)
PV1 -->|Mounted to| Pod1(Pod)
end
subgraph DynamicProvisioning ["Dynamic Provisioning"]
direction TB
PVC2(PVC) -->|Refers to| SC(StorageClass)
SC -->|Provisions| PV2(PV)
PV2 -->|Mounted to| Pod2(Pod)
end
end
%% Colors for subgraphs
style Storage fill:#f0f8ff,stroke:#333,stroke-width:4px;
style StaticProvisioning fill:#f9f9f9,stroke:#333,stroke-width:2px;
style DynamicProvisioning fill:#f9f9f9,stroke:#333,stroke-width:2px;
Service Mesh #
flowchart TB
subgraph Nodes["Node"]
PodA
PodB
PodC
PodD
end
subgraph NodePool[" "]
Nodes
end
subgraph Kubernetes_Cluster["Cluster"]
NodePool
end
subgraph PodA["Pod"]
A1["micro-a"]
A2["side car"]
end
subgraph PodB["Pod"]
B1["micro-b"]
B2["side car"]
end
subgraph PodC["Pod"]
C1["micro-c"]
C2["side car"]
end
subgraph PodD["Kubelet"]
end