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


DNS and Load Balancing #


sequenceDiagram
    participant DNS as DNS
    participant A1 as Service-A
    participant B1 as Service-B

    A1->>DNS: Instance 1: Register
    A1->>DNS: Instance 2: Register
    B1->>DNS: Instance 1: Register

    B1->>DNS: Find Service-A
    DNS-->>B1: IPs of Service-A Instance 1 and Instance 2

    B1->>A1: Request to Service-A Instance 1
    A1-->>B1: Response

    B1->>A1: Request to Service-A Instance 2
    A1-->>B1: Response


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