
Kubernetes là nền tảng điều phối container mã nguồn mở đã trở thành tiêu chuẩn công nghiệp cho việc triển khai và quản lý ứng dụng hiện đại. Được Google khởi xướng, Kubernetes giúp tự động hóa việc triển khai, mở rộng và vận hành các ứng dụng container trên quy mô lớn mà không cần vận hành viên can thiệp thủ công liên tục.
Kubernetes là gì?
Kubernetes (thường viết tắt K8s) là hệ thống mã nguồn mở dùng để tự động hóa triển khai, mở rộng và quản lý ứng dụng container. Nó nhóm các container chạy trong cluster thành các đơn vị logic dễ quản lý, đồng thời đảm bảo ứng dụng hoạt động ổn định ngay cả khi một node gặp sự cố. Kubernetes biến việc vận hành hàng chục microservice từ nhiệm vụ phức tạp thành công việc tự động.

Kubernetes được Google thiết kế dựa trên kinh nghiệm 15 năm vận hành hệ thống container của chính họ với hệ thống Borg nội bộ, sau đó hiến tặng cho Cloud Native Computing Foundation (CNCF) năm 2015. Ngày nay nó là nền tảng đằng sau hầu hết hệ thống cloud-native trên thế giới và là lựa chọn mặc định của mọi nhà cung cấp cloud lớn.
Các thành phần cốt lõi
Một cluster Kubernetes gồm hai phần chính: control plane điều phối toàn hệ thống và worker nodes thực thi công việc. Hiểu rõ từng thành phần giúp bạn troubleshoot nhanh khi có vấn đề.
- API Server – cổng giao tiếp chính, mọi thao tác từ client hay kubectl đều đi qua đây.
- etcd – kho lưu trữ cấu hình phân tán, chứa toàn bộ trạng thái cluster.
- Scheduler – quyết định pod mới sẽ chạy trên node nào dựa trên tài nguyên.
- Controller Manager – duy trì trạng thái mong muốn bằng cách đối chiếu thực tế với yêu cầu.
- Kubelet – agent chạy trên mỗi worker node, quản lý vòng đời pod.
- kube-proxy – xử lý network và quy tắc iptables/IPVS cho các service.
Object quan trọng trong Kubernetes
Người dùng tương tác với Kubernetes chủ yếu qua các object khai báo bằng file YAML. Các object cơ bản cần thuộc lòng:
| Object | Vai trò chính | Khi nào dùng |
|---|---|---|
| Pod | Đơn vị nhỏ nhất, chứa container | Chạy ứng dụng cơ bản |
| Deployment | Quản lý vòng đời và scale pod | Production với rolling update |
| StatefulSet | Pod có tên và network cố định | Database, Kafka, Elasticsearch |
| Service | Địa chỉ nội bộ ổn định | Kết nối giữa các microservice |
| ConfigMap | Lưu cấu hình không bí mật | URL, cấu hình feature flag |
| Secret | Lưu thông tin nhạy cảm | Mật khẩu, token, khóa API |
| Ingress | Routing HTTP vào cluster | Tên miền và path động |
| PersistentVolumeClaim | Yêu cầu lưu trữ | Lưu log, dữ liệu database |
Ví dụ Deployment đơn giản
Dưới đây là manifest YAML triển khai ứng dụng nginx với 3 bản sao:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.24
ports:
- containerPort: 80
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "256Mi"

Self-healing và auto-scaling
Điểm mạnh lớn nhất của Kubernetes là khả năng tự phục hồi. Nếu một pod bị lỗi, controller manager tự động tạo pod mới thay thế. Horizontal Pod Autoscaler tự tăng giảm số lượng pod dựa trên CPU, bộ nhớ hoặc metric tùy chỉnh từ Prometheus, giúp ứng dụng luôn đáp ứng đủ tải mà không lãng phí tài nguyên. Vertical Pod Autoscaler điều chỉnh giới hạn tài nguyên của từng container.
Công cụ phổ biến trong hệ sinh thái Kubernetes
Kubernetes có hệ sinh thái công cụ phong phú giúp mọi thứ dễ dàng hơn:
- Helm – quản lý package cho các ứng dụng phức tạp.
- Kustomize – tùy biến manifest mà không cần template.
- Argo CD – GitOps, triển khai ứng dụng từ git.
- Prometheus + Grafana – giám sát metric hệ thống.
- cert-manager – cấp phát TLS tự động từ Let’s Encrypt.
- External Secrets – đồng bộ secret từ AWS Secrets Manager hay HashiCorp Vault.
Khi nào nên dùng Kubernetes
Kubernetes phát huy sức mạnh với hệ thống nhiều service, cần scale linh hoạt và độ sẵn sàng cao. Với dự án nhỏ hoặc ứng dụng đơn giản, có thể khởi đầu với Docker Compose đơn giản hơn nhiều. Tuy nhiên khi hệ thống phát triển đến vài microservice, Kubernetes trở thành lựa chọn tất yếu để quản lý phức tạp. Tài liệu chi tiết và cài đặt xem tại trang tài liệu chính thức Kubernetes.
Kết luận
Kubernetes đã trở thành hạ tầng tiêu chuẩn cho mọi hệ thống cloud-native hiện đại. Nắm vững khái niệm control plane, object, manifest YAML và các công cụ hệ sinh thái là bước đầu tiên để làm chủ công nghệ quan trọng bậc nhất này.
