Tổng quan Kubernetes

Kubernetes (thường viết tắt là K8s) là một nền tảng mã nguồn mở để tự động hóa việc triển khai, mở rộng và quản lý các ứng dụng chạy trong container.
Nó được Google phát triển từ năm 2014, dựa trên hơn 15 năm kinh nghiệm chạy hàng tỷ container trong hệ thống nội bộ của họ (hệ thống Borg và Omega). Sau đó Google tặng lại cho Cloud Native Computing Foundation (CNCF) và hiện tại Kubernetes là dự án mã nguồn mở phát triển nhanh thứ 2 trong lịch sử (chỉ sau Linux kernel).
Tên “Kubernetes” xuất phát từ tiếng Hy Lạp, nghĩa là “người lái tàu” hoặc “thuyền trưởng” – rất đúng với vai trò của nó: điều phối cả một hạm đội container.
Container vs Kubernetes – Tại sao không dùng Docker thôi?
Docker giúp bạn đóng gói ứng dụng + dependencies vào container → chạy giống nhau ở mọi nơi. Nhưng khi bạn có:
- 10, 100, hay 10.000 container
- Cần tự động scale lên/xuống theo tải
- Tự động thay thế container chết
- Cân bằng tải, rolling update, rollback
- Quản lý mạng, storage, secret, config
→ Docker một mình không làm nổi. Đó chính là lúc Kubernetes xuất hiện.
Kubernetes làm được những gì chính?
| Tính năng | Mô tả ngắn gọn | Ví dụ thực tế |
|---|---|---|
| Orchestration | Điều phối hàng nghìn container trên nhiều máy | Netflix, Spotify chạy hàng triệu pod |
| Auto-scaling | Tự động tăng/giảm số lượng container theo CPU/memory hoặc metric tùy chỉnh | Shopee, Tiki scale khi có flash sale |
| Self-healing | Tự động khởi động lại container chết, thay thế node lỗi | Hệ thống vẫn chạy dù server vật lý die |
| Service discovery & LB | Tự động gán DNS và cân bằng tải giữa các container | API gateway không cần biết IP thật |
| Rolling update & rollback | Deploy phiên bản mới mà không downtime, có thể quay lại phiên bản cũ dễ dàng | Update app hàng ngày mà user không biết |
| Secret & Config management | Quản lý password, API key, SSL cert riêng biệt với code | Không còn hard-code DB password |
| Storage orchestration | Tự động mount NFS, cloud disk, local SSD… | StatefulSet cho MongoDB, PostgreSQL |
Các ứng dụng thực tế của Kubernetes
Microservices

Hầu hết công ty lớn hiện nay đều dùng K8s để chạy hàng trăm/thousands microservices:
- Booking.com: > 50 cluster, hàng chục nghìn node
- Zalando: ~200 đội dev tự deploy lên K8s
- Airbnb, Spotify, Pinterest, Reddit…
CI/CD & GitOps

Kết hợp với ArgoCD, Flux, Jenkins X → mỗi commit tự động deploy.
Machine Learning / Data
- Spark, Flink operator để chạy big data job
- Kubeflow: chạy training ML trên K8s
Edge computing
K3s, MicroK8s giúp chạy Kubernetes trên Raspberry Pi, nhà máy, cửa hàng.
Cloud provider
Tất cả các cloud lớn đều có managed Kubernetes:
- Google Kubernetes Engine (GKE)
- Amazon EKS
- Azure AKS
- DigitalOcean, Vinadata, FPT Cloud,…
Minh họa kiến trúc cơ bản
+-------------------+ +-------------------+
| Load Balancer | <---> | Ingress |
+-------------------+ +-------------------+
|
+------+------+
| API Server |
+------+------+
|
+-------------------+-------------------+
| | |
+------+------+ +------+------+ +------+------+
| Scheduler | | Controller | | etcd |
+-------------+ +------------+ +-------------+
| | |
+------+------+ +------+------+ +------+------+
| kubelet | | kubelet | | kubelet |
+------+------+ +------+------+ +------+------+
| | |
+------+------+ +------+------+ +------+------+
| Container | | Container | | Container |
| (Pod) | | (Pod) | | (Pod) |
+-------------+ +-------------+ +-------------+
Worker Node 1 Worker Node 2 Worker Node 3
Tóm tắt
Kubernetes không phải là “thay thế Docker”, mà là “người quản lý cả đàn container”. Nếu bạn đang chạy > 5-10 container trong production → sớm muộn cũng cần Kubernetes (hoặc một orchestrator nào đó).
