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