NOTE: For best experience, please use Chrome Browser!


Microservices


Microservices


Need For Container Orchestration


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 Logical View


Kubernetes Physical View


Kubernetes Physical View


A/B Testing


A/B Testing


Blue Green Deployment


Blue Green Deployment


Canary Deployment


Canary Deployment


Recreate


Recreate


Rolling Updates


Rolling Updates


Rolling Updates with Additional Instances


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 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