Skip to content

Instantly share code, notes, and snippets.

SQL Operation Purpose MongoDB Cassandra DynamoDB
SELECT Fetch data find() or aggregate() SELECT GetItem, Query, Scan
WHERE Filter rows find({ field: value }) WHERE clause KeyConditionExpression, FilterExpression
JOIN Combine tables $lookup in aggregation Not supported (manual in app) Not supported (manual in app)
UNION Combine results $unionWith (MongoDB 4.4+) Not supported Merge results in app
GROUP BY Group record
Component Description
🌐 CoreDNS Provides DNS-based service discovery for Pods. Every service gets a DNS entry.
πŸ“Š Metrics Server Collects metrics like CPU/memory usage used for auto-scaling.
πŸ–₯️ Kubernetes Dashboard A web-based UI for managing and visualizing your cluster.
πŸ”’ Secrets & ConfigMaps Manage application configurations and sensitive information securely.
Component Description
πŸ‘· Kubelet An agent that runs on each node and communicates with the API Server. It ensures containers in Pods are running and healthy.
πŸ”— Kube-Proxy Manages network rules and handles traffic routing to the correct Pods (load balancing, service discovery).
πŸ“¦ Container Runtime The underlying container engine like Docker, containerd, or CRI-O that actually runs your containers.
Component Description
🧩 API Server (kube-apiserver) Central access point to the cluster. All commands (CLI, dashboard, etc.) go through this.
🧠 Scheduler (kube-scheduler) Assigns Pods to Nodes based on available resources and constraints.
πŸ” Controller Manager (kube-controller-manager) Runs background processes (controllers) to ensure the desired state of the cluster (e.g., replicas, nodes, jobs).
🧾 etcd A distributed key-value store to store all cluster
Component Role
API Server Entry point to the cluster; all communication (kubectl, tools, etc.) goes through here
Scheduler Assigns Pods to the most suitable Nodes based on resources
Controller Manager Watches cluster state and takes actions to maintain desired state (e.g., restart pods)
etcd Key-value store that holds cluster data and configuration (like a database)
Orchestration Task What Kubernetes Does
Scheduling Decides which machine (node) should run which container
Scaling Automatically adds or removes containers based on load
Self-healing Restarts failed containers, reschedules them if a node goes down
Service Discovery Automatically assigns DNS and handles IPs
Load Balancing Distributes traffic evenly across multiple instances
Rollouts & Rollbacks Deploys updates gradually and rolls back if errors occur
Configuration & Secrets Management Injects environment configs securely at runtime
**Monitoring & Logging Integrati
Network Type Description Use Case
bridge Default for standalone containers. Creates a private internal network. Local development or single-host setup
host Shares the host’s network stack. No isolation. High-performance use (e.g., games, VPNs)
none No networking. Totally isolated. Debugging, full manual control
overlay Used in Docker Swarm. Connects containers across multiple Docker hosts. Distributed systems (Swarm mode)
macvlan Assigns a MAC address to container. Acts like a physical device. Legacy systems that need real IPs
Imp. Component Description
Dockerfile Instructions to build images
Docker Image Blueprint for containers
Docker Container Running instance of an image
Docker Registry Stores and shares Docker images
Other Component
Docker Client CLI to talk to Docker daemon
Docker Daemon Core engine that runs containers/images
Feature Virtual Machine Docker Container
OS Full OS (guest + host) Shares host OS kernel
Size Heavy (GBs) Lightweight (MBs)
Boot time Slow (minutes) Fast (seconds)
Resource usage High Low
Isolation Full isolation Process-level isolation
Aspect Orchestration Choreography
Coordinator Yes β€” a central Orchestrator service ❌ No β€” coordination is decentralized
Flow Control Centralized logic Each service decides what to do next
Communication Style Typically command-driven (REST, sync) Event-driven (asynchronous, e.g., Kafka)
Scalability Can become a bottleneck More scalable
Coupling More tightly coupled to orchestrator Loosely coupled