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 │ ├── 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 │ └── Network Policy │ ├── Configuration │ ├── ConfigMap │ └── Secret │ ├── Storage │ ├── PersistentVolume (PV) │ ├── PersistentVolumeClaim (PVC) │ ├── StorageClass │ └── Volume │ ├── Security │ ├── ServiceAccount │ ├── RBAC │ │ ├── Role │ │ ├── RoleBinding │ │ ├── ClusterRole │ │ └── ClusterRoleBinding │ ├── SecurityContext │ └── Pod Security │ ├── Scheduling │ ├── Node Selector │ ├── Node Affinity │ ├── Pod Affinity │ ├── Pod Anti-Affinity │ ├── Taints │ └── Tolerations │ ├── Autoscaling │ ├── HPA (Horizontal Pod Autoscaler) │ ├── VPA (Vertical Pod Autoscaler) │ └── 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
      ├── EKS (AWS)
      ├── GKE (Google)
      ├── AKS (Azure)
      └── DOKS (DigitalOcean)

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.1781306381.txt.gz · Last modified: by phong2018