User Tools

Site Tools


k8s:core:introduction

This is an old revision of the document!


What is Kubernetes

Kubernetes is a system that runs and manages containerized applications automatically.

Instead of manually running containers, Kubernetes:

  • Starts them
  • Stops them
  • Restarts them when they fail
  • Scales them up or down

Concepts category

Kubernetes Concepts

  • Cluster Fundamentals
    • Cluster
    • Control Plane
    • Node
    • Namespace
  • Workloads (Run Applications)
    • Pod
    • ReplicaSet
    • Deployment
    • StatefulSet
    • DaemonSet
    • Job
    • CronJob
  • Networking
    • Service
      • ClusterIP
      • NodePort
      • LoadBalancer
      • ExternalName
    • Ingress
    • Ingress Controller
    • NetworkPolicy
  • Configuration
    • ConfigMap
    • Secret
  • Storage
    • PersistentVolume (PV)
    • PersistentVolumeClaim (PVC)
    • StorageClass
    • Volume
  • Security
    • ServiceAccount
    • RBAC
      • Role
      • RoleBinding
      • ClusterRole
      • ClusterRoleBinding
    • SecurityContext
    • Pod Security
  • Scheduling
    • NodeSelector
    • Node Affinity
    • Pod Affinity
    • Pod Anti-Affinity
    • Taints
    • Tolerations
  • Autoscaling
    • Horizontal Pod Autoscaler (HPA)
    • Vertical Pod Autoscaler (VPA)
    • Cluster Autoscaler
  • Observability
    • Logs
    • Metrics
    • Traces
    • Prometheus
    • Grafana
    • Loki
    • Jaeger
  • Configuration Management
    • Helm
    • Kustomize
    • Operators
  • Ecosystem / Operations
    • CI/CD
      • GitHub Actions
      • GitLab CI
      • ArgoCD
  • Container Runtime
    • containerd
    • CRI-O
  • Service Mesh
    • Istio
    • Linkerd
  • Cloud Providers
    • Amazon EKS
    • Google GKE
    • Azure AKS
    • DigitalOcean DOKS

Simple explanation

Kubernetes = “automated container manager”

Real-world example

Imagine you have a web application:

Without Kubernetes:

  • You run Docker containers manually
  • If one crashes → you restart it yourself
  • If traffic increases → you manually add more containers

With Kubernetes:

  • You define: “I want 3 instances running”
  • Kubernetes ensures 3 instances are always running
  • If one crashes → it automatically replaces it
  • If traffic increases → it can add more instances automatically

Simple analogy

Kubernetes is like a restaurant manager:

  • You (developer) define the menu (desired state)
  • Kubernetes ensures chefs (containers) are always available
  • If a chef leaves → it hires a new one automatically
k8s/core/introduction.1781306512.txt.gz · Last modified: by phong2018