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