Hướng dẫn cơ bản về Kubernetes: Kiến trúc, Khái niệm và Cách giao tiếp giữa các thành phần Chuyên mục Devops 2025-06-17 0 Lượt xem 0 Lượt thích 0 Bình luận
Hướng dẫn cơ bản về Kubernetes: Kiến trúc, Khái niệm và Cách giao tiếp giữa các thành phần
Bài viết này dành cho những ai mới bắt đầu với Kubernetes và muốn hiểu rõ các khái niệm cốt lõi, kiến trúc hoạt động và luồng giao tiếp bên trong.
I. Kubernetes là gì?
Kubernetes (viết tắt: K8s) là nền tảng orchestration dành cho container, giúc triển khai, quản lý và scale ứng dụng container một cách tự động.
Kubernetes giúc:
-
Triển khai nhanh chóng, linh hoạt
-
Tự động scale ứng với tải
-
Tự phục hồi khi container lỗi
-
Cập nhật liên tục không downtime
II. Kiến trúc tổng thể Kubernetes
Kubernetes gồm hai nhóm thành phần chính:
1. Control Plane ("bộ não" của K8s)
Thành phần | Vai trò |
---|---|
API Server | Cửa ngõ giao tiếp với cluster (nhận lệnh từ kubectl, CI/CD...) |
etcd | Lưu trữ trạng thái cluster dưới dạng key-value |
Controller Manager | Giám sát và thực thi các thay đổi như scale, rollout... |
Scheduler | Phân bố Pod vào Node phù hợp |
2. Worker Node (nơi chạy Pod)
Thành phần | Vai trò |
---|---|
kubelet | Agent giao tiếp với Control Plane, thực thi Pod |
kube-proxy | Thiết lập mạng, forward traffic đến đúng Pod |
Container Runtime | Chạy container (Docker, containerd...) |
III. Các khái niệm cốt lõi
Khái niệm | Giải thích ngắn gọn |
---|---|
Pod | Đơn vị nhỏ nhất, chứa 1+ container chia sẻ IP, volume |
Node | 1 máy chủ chạy Pod (worker) |
Cluster | Tập hợp nhiều Node dưới sự quản lý của Control Plane |
Deployment | Khai báo Pod, số lượng, chiến lược update |
Service | Load balancer nội bộ, giúc giao tiếp với Pod |
Ingress | Định tuyến traffic từ bên ngoài vào Service |
ConfigMap/Secret | Lưu cấu hình & thông tin nhạy cảm cho container |
IV. Sơ đồ minh hoạ
+---------------------+ | kubectl / CI | +---------+-----------+ | (REST API) | +------+------+ | API Server | +------+------+ | +-------------------+------------------+ | | +--------------+ +----------------------+ | etcd | <--- store ---> | Controller / Scheduler| +--------------+ +----------------------+ | Gửi lệnh tạo Pod | +--------+-------+ | kubelet | | (trên Node) | +--------+-------+ | +---------+----------+ | Container Runtime | +---------------------+
V. Luồng giao tiếp trong Kubernetes
-
Người dùng dùng kubectl apply -f gửi request tới API Server
-
API Server ghi trạng thái mới vào etcd
-
Controller phát hiện thay đổi, gửi yêu cầu tạo Pod
-
Scheduler chọn Node phù hợp cho Pod
-
kubelet nhận PodSpec, sử dụng container runtime để chạy Pod
-
kube-proxy thiết lập mạng giúp giao tiếp với Pod
-
Service (nếu có) expose Pod ra bên ngoài hoặc cho các Pod khác truy cập
VI. Kết luận
-
Kubernetes không chỉ dùng cho microservice - bất kỳ ai cần orchestration cho container đều hợp.
-
Hiểu cụ thể về Control Plane, Worker Node, và giao tiếp giữ đó giúc dễ triển khai và debug.
-
Việc vững kiến thức này sẽ rất cần thiết khi bạn lên DevOps, Platform Engineer hoặc Software Architect.
Nếu bạn muốn mình cung cấp file YAML mẫu, demo triển khai thực tế, hoặc lab hands-on, hãy bình luận hoặc nhắn tin!
Bình luận (0)