Skip to content

Instantly share code, notes, and snippets.

@goulashsoup
Last active October 5, 2023 17:51
Show Gist options
  • Save goulashsoup/768a809919b309d3949622c798c80e28 to your computer and use it in GitHub Desktop.
Save goulashsoup/768a809919b309d3949622c798c80e28 to your computer and use it in GitHub Desktop.
Kubernetes - Architecture in ASCII

KUBERNETES Architecture in ASCII

       ┏╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸┓
       ┇                                                                                                                           ┇
       ┇     CLUSTER "test" (https://129.168.177.135:6443)                                                                         ┇
       ┇                                                                                                                           ┇
    ┏╸╸┻╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸┓  ┇
    ┇                                                                                                                           ┇  ┇
    ┇     CLUSTER "development" (https://192.168.177.136:6443)                                                                  ┇  ┇
    ┇                                                                                                                           ┇  ┇
    ┇       => A set of working machines with a shared network.                                                                 ┇  ┇
    ┇       => Each Cluster provides API via unique API Server.                                                                 ┇  ┇
    ┇                                                                                                                           ┇  ┇
    ┇   ┏╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸┓         ┏╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸┓   ┇  ┇
    ┇   ┇   Control Plane                                 ┇         ┇  Worker Nodes                                         ┇   ┇  ┇
    ┇   ┇                                                 ┇         ┇                                                       ┇   ┇  ┇
    ┇   ┇    => These components make global              ┇         ┇   => Working machines that provide CPU + Ram          ┇   ┇  ┇
    ┇   ┇       decisions about the cluster.              ┇         ┇      to Pods.                                         ┇   ┇  ┇
    ┇   ┇                                                 ┇         ┇                                                       ┇   ┇  ┇
    ┇   ┇    => Detecting and responding to               ┇         ┇   => Each node may be a virtual or physical machine.  ┇   ┇  ┇
    ┇   ┇       cluster events.                           ┇         ┇                                                       ┇   ┇  ┇
    ┇   ┇                                                 ┇         ┇   => Nodes are NOT created by Kubernetes BUT          ┇   ┇  ┇
    ┇   ┇ ┌─────────────────────────────────────┐         ┇         ┇      externally either by the cloud service provider  ┇   ┇  ┇
    ┇   ┇ │ API Server                          │         ┇         ┇      or the Kubernetes cluster manager.               ┇   ┇  ┇
    ┇   ┇ │                                     │         ┇         ┇                                                       ┇   ┇  ┇
╔════════▶│ => Front End for Control panel.     │         ┇         ┇       ┌────────────────────────────────────────────┐  ┇   ┇  ┇
║   ┇   ┇ │                                     │         ┇         ┇     ┌─┴──────────────────────────────────────────┐ │  ┇   ┇  ┇
║   ┇   ┇ │ => You can run several instances    │         ┇         ┇   ┌─┴──────────────────────────────────────────┐ │ │  ┇   ┇  ┇
║   ┇   ┇ │    of kube-apiserver and balance    │◀────────╂────┬────╂───┤ Node "work-8ff4ed2-pool01-61bc0015-2tpsr"  │ │ │  ┇   ┇  ┇
║   ┇   ┇ │    traffic between those instances. │         ┇    │    ┇ ┌─┴──────────────────────────────────────────┐ │ │ │  ┇   ┇  ┇
║   ┇   ┇ └┬─┬─┬────────────────────────────────┘         ┇    └────╂─┤ Node "work-8ff4ed2-pool01-61bc0015-tj7d8"  │ │ │ │  ┇   ┇  ┇
║   ┇   ┇  │ │ │                                          ┇         ┇ │ (DNS subdomain)                            │ │ │ │  ┇   ┇  ┇
║   ┇   ┇  │ │ │  ┌─────────────────────────────────────┐ ┇         ┇ │ ┌─────────────────────────────────┐        │ │ │ │  ┇   ┇  ┇
║   ┇   ┇  │ │ └─▶│ ETCD                                │ ┇         ┇ │ │ kubelet                         │        │ │ │ │  ┇   ┇  ┇
║   ┇   ┇  │ │    │                                     │ ┇         ┇ │ │                                 │        │ │ │ │  ┇   ┇  ┇
║   ┇   ┇  │ │    │ => Key value store used for all     │ ┇         ┇ │ │ => An agent runs on each node.  │        │ │ │ │  ┇   ┇  ┇
║   ┇   ┇  │ │    │    cluster data.                    │ ┇         ┇ │ │                                 │        │ │ │ │  ┇   ┇  ┇
║   ┇   ┇  │ │    │                                     │ ┇         ┇ │ │ => Makes sure that containers   │        │ │ │ │  ┇   ┇  ┇
║   ┇   ┇  │ │    │ => Usage example:                   │ ┇         ┇ │ │    are running in a Pod.        │        │ │ │ │  ┇   ┇  ┇
║   ┇   ┇  │ │    │      $ etcdctl put mykey "awesome"  │ ┇         ┇ │ └─────────────────────────────────┘        │ │ │ │  ┇   ┇  ┇
║   ┇   ┇  │ │    │      $ etcdctl get mykey            │ ┇         ┇ │ ┌─────────────────────────────────┐        │ │ │ │  ┇   ┇  ┇
║   ┇   ┇  │ │    └─────────────────────────────────────┘ ┇         ┇ │ │ kube-proxy                      │        │ │ │ │  ┇   ┇  ┇
║   ┇   ┇  │ │                                            ┇         ┇ │ │                                 │        │ │ │ │  ┇   ┇  ┇
║   ┇   ┇  │ │    ┌─────────────────────────────────────┐ ┇         ┇ │ │ => A network proxy that runs    │        │ │ │ │  ┇   ┇  ┇
║   ┇   ┇  │ └───▶│ Controller Manager                  │ ┇         ┇ │ │    on each node.                │        │ │ │ │  ┇   ┇  ┇
║   ┇   ┇  │      │                                     │ ┇         ┇ │ │                                 │        │ │ │─┘  ┇   ┇  ┇
║   ┇   ┇  │      │ => Runs controller process.         │ ┇         ┇ │ │ => Maintains network rules on   │        │ │─┘    ┇   ┇  ┇
║   ┇   ┇  │      │                                     │ ┇         ┇ │ │    nodes.                       │        │╥┘      ┇   ┇  ┇
║   ┇   ┇  │      │ => Logically, each controller is a  │ ┇         ┇ │ └─────────────────────────────────┘        │║       ┇   ┇  ┇
║   ┇   ┇  │      │    separate process, but to reduce  │ ┇         ┇ └─────────────╥──────────────────────────────┘║       ┇   ┇  ┇
║   ┇   ┇  │      │    complexity, they are all         │ ┇         ┗╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╫╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╫╸╸╸╸╸╸╸┛   ┇  ┇
║   ┇   ┇  │      │    compiled into a single binary    │ ┇                         ║                               ║           ┇  ┇
║   ┇   ┇  │      │    and run in a single process.     │ ┇                         ║       Each Pod gets           ║           ┇  ┇
║   ┇   ┇  │      │                                     │ ┇                         ║       a worker node.          ║           ┇  ┇
║   ┇   ┇  │      │ => Each controller is a control     │ ┇                         ║                               ║           ┇  ┇
║   ┇   ┇  │      │    loop that watch the state of     │ ┇                         ║                               ║           ┇  ┇
║   ┇   ┇  │      │    your cluster, then makes or      │ ┇                         ║                               ║           ┇  ┇
║   ┇   ┇  │      │    request changes where needed.    │ ┇                         ║                               ║           ┇  ┇
║   ┇   ┇  │      └─────────────────────────────────────┘ ┇                         ║                               ║           ┇  ┇
║   ┇   ┇  │                                              ┇                         ║                               ║           ┇  ┇
║   ┇   ┇  │      ┌─────────────────────────────────────┐ ┇                         ║                               ║           ┇  ┇
║   ┇   ┇  └─────▶│ Scheduler                           │ ┇                         ║                               ║           ┇  ┇
║   ┇   ┇         │                                     │ ┇                         ║                               ║           ┇  ┇
║   ┇   ┇         │ => Assigns worker nodes to newly    │ ┇                         ║                               ║           ┇  ┇
║   ┇   ┇         │    created Pods.                    │ ┇                         ║                               ║           ┇  ┇
║   ┇   ┇         └─────────────────────────────────────┘ ┇                         ║                               ║           ┇  ┇
║   ┇   ┗╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸┛                         ║                               ║           ┇  ┇
║   ┇                                                                               ║                               ║           ┇  ┇
║   ┇   ┏╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╫╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸┓              ║           ┇  ┇
║   ┇   ┇  Namespaces                                                               ║                ┇              ║           ┇  ┇
║   ┇   ┇                                                                           ║                ┇              ║           ┇  ┇
║   ┇   ┇   => Each namespace isolates resources (nodes) for objects.               ║                ┇              ║           ┇  ┇
║   ┇   ┇                                                                           ║                ┇              ║           ┇  ┇
║   ┇   ┇      ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╫━━━━━━━━━━━━┓   ┇              ║           ┇  ┇
║   ┇   ┇      ┃ Namespace "zurich"                                                 ║            ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┏━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╫━━━━━━━━━┓  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ Namespace "bern" (Unique DNS label)                                   ║         ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃                                                                       ║         ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┏╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╫╸╸╸╸╸╸╸┓ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇ Namespaced Objects                                                  ║       ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇                                                                     ║       ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇  => Persistent entities in         => Kinds of namespaced           ║       ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇     the Kubernetes system.            objects:                      ║       ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇                                        - Deployment                 ║       ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇                                        - Service                    ║       ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇                                        - ReplicaSet                 ║       ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇                                        - StatefulSet                ║       ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇                                        - DaemonSet                  ║       ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇                                        - Job                        ║       ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇                                        - CronJob                    ║       ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇                                                                     ║       ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╫━━━━━┓ ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ Deployment "php-deployment" (DNS Label)                           ║     ┃ ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇ ┃                                                                   ║     ┃ ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ => Contains a configured set     => Make use of the Deployment    ║     ┃ ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇ ┃    of Pods/ReplicaSets.             Controller to allow           ║     ┃ ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇ ┃                                     declarative updates for       ║     ┃ ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇ ┃                                     Pods and ReplicaSets.         ║     ┃ ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇ ┃                                                                   ║     ┃ ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇ ┃  ╔════════════════════════════════════════════════════════════════╝     ┃ ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇ ┃  ║                                                                      ┃ ┇ ┃  ┃   ┇              ║           ┇  ┇
║   ┇   ┇   ┃ ┇ ┃  ║   ╔══════════════════════════════════════════════════════════════════╪═╪═╪══╪═══╪══════════════╝           ┇  ┇
║   ┇   ┇   ┃ ┇ ┃  ║   ▼                                                                  ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃  ║ ┌──────────────────────────────────────────────────────────────────┐ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃  ▼ │ Pod "work.job.sync-users-28202505-lzqbp"                         │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ ┌──┴────────────────────────────────────────────────────────────────┐ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │ Pod "php-deployment-c7cc59cd-42qjf" (DNS Label)                   │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │                                                                   │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │ => Smallest deployable unit    ┌───────────────────────────────┐  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │    in kubernetes.              │ Container "nginx" (DNS Label) │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │                              ┌─┴───────────────────────────┐   │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │ => Consists of one or more   │ Container "php" (DNS Label) │   │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │    containers with shared    │                             │   │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │    context:                  │ => The container runs       │   │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │     - Linux namespaces       │    application processes.   │   │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │     - cgroups                │                             │   │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │                              │ => A virtual system         │   │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │                              │    build from an image.     │   │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │                              │                             │   │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │                              │ => An image is a            │   │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │                              │    ready-to-run             │   │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │                              │    software package.        │   │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │                              │                             │   │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │                              │ => The build container      │   │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │                              │    runtime must implement   │   │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │                              │    the Kubernetes           │   │  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │                              │    Container Runtime        │───┘  │ │ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │                              │    Interface.               │      │─┘ ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ │                              └─────────────────────────────┘      │   ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┃ └───────────────────────────────────────────────────────────────────┘   ┃ ┇ ┃  ┃   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┇ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┇ ┃━━┛   ┇                          ┇  ┇
║   ┇   ┇   ┃ ┗╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸┛ ┃      ┇                          ┇  ┇
║   ┇   ┇   ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛      ┇                          ┇╸╸┛
║   ┇   ┇                                                                                            ┇                          ┇
║   ┇   ┗╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸┛                          ┇
║   ┇                                                                                                                           ┇
║   ┗╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸┛
║
║   ┏╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸┓
║   ┇                                                                                                                           ┇
║   ┇     CONTEXTs                                                                                                              ┇
║   ┇                                                                                                                           ┇
║   ┇       => Set of access certificates to get access to Cluster namespace(s).                                                ┇
║   ┇       => A context contains certificates for Cluster + User.                                                              ┇
║   ┇       => Contexts are configured in the `~/.kube/config` file:                                                            ┇
║   ┇          # ~/.kube/config                                                                                                 ┇
║   ┇              ...                                                                                                          ┇
║   ┇              contexts:                                                                                                    ┇
║   ┇              - context:                                                                                                   ┇
║   ┇                  cluster: development                                                                                     ┇
║   ┇                  user: dev1                                                                                               ┇
║   ┇                  namespace: zurich                                                                                        ┇
║   ┇                name: dev-zurich                                                                                           ┇
║   ┇              - context:                                                                                                   ┇
║   ┇                  cluster: development                                                                                     ┇
║   ┇                  user: dev1                                                                                               ┇
║   ┇                  namespace: bern                                                                                          ┇
║   ┇                name: dev-bern                                                                                             ┇
║   ┇              - context:                                                                                                   ┇
║   ┇                  cluster: test                                                                                            ┇
║   ┇                  user: tester1                                                                                            ┇
║   ┇                name: test                                                                                                 ┇
║   ┇                # Default namespace is "default"                                                                           ┇
║   ┇                                                                                                                           ┇
║   ┇       => Communication to Cluster API server:                                                                             ┇
║   ┇          $> kubectl config set-context dev-zurich   # Switch context                                                      ┇
║   ┇          Switched context to "dev-zurich"                                                                                 ┇
║   ┇                                                                                                                           ┇
║   ┇          $> kubectl get pods                        # Get all pods                                                        ┇
║   ┇          NAME                                  READY   STATUS      RESTARTS       AGE                                     ┇
║   ┇          work.job.sync-users-28202505-lzqbp    2/2     Running     11 (11h ago)   32h                                     ┇
║   ┇          php-deployment-c7cc59cd-42qjf         0/1     Completed   0              14h                                     ┇
║   ┇                                                                                                                           ┇
║   ┇                                                                                                                           ┇
╚═════════════════════╦══════════════════════════════════════╦══════════════════════════════════════╗                           ┇
    ┇                 ║                                      ║                                      ║                           ┇
    ┇    ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓      ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓      ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓        ┇
    ┇    ┃  Context "dev-zurich"         ┃      ┃  Context "dev-bern"           ┃      ┃  Context "test"               ┃        ┇
    ┇    ┃                               ┃      ┃                               ┃      ┃                               ┃        ┇
    ┇    ┃    cluster   = "development"  ┃      ┃    cluster   = "development"  ┃      ┃    cluster   = "test"         ┃        ┇
    ┇    ┃    namespace = "zurich"       ┃      ┃    namespace = "bern"         ┃      ┃    namespace = "default"      ┃        ┇
    ┇    ┃    username  = "dev1"         ┃      ┃    username  = "dev1"         ┃      ┃    username  = "tester1"      ┃        ┇
    ┇    ┃                               ┃      ┃                               ┃      ┃                               ┃        ┇
    ┇    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛      ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛      ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛        ┇
    ┇                                                                                                                           ┇
    ┗╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸╸┛

Kubernetes

An open-source container orchestration system for automating software deployment, scaling, and management.

Orchastation

Automated configuring, coordinating, and managing of computer systems and software.

Container orchastration

Automatically provisions, deploys, scales, and manages containerized applications.

Scaling

Adding or removing workforce (CPU/RAM/Threads) depending on the workload.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment