0

Bài 1: Kubernetes là gì & Tổng quan

Kubernetes (K8s) là gì?

Kubernetes là container orchestrator — nó quản lý hàng trăm/thousands container chạy trên nhiều máy. Thay vì phải tự tay docker run trên từng server, K8s giúp:

  • Lập lịch (Scheduling): Tự chọn máy nào chạy container nào
  • Tự phục hồi (Self-healing): Container chết → tự restart; node chết → chuyển container sang node khác
  • Scaling: Tăng/giảm số lượng container theo traffic
  • Service Discovery & Load Balancing: Tự phân phối traffic giữa các container
  • Rolling Updates: Cập nhật app không downtime
  • Quản lý config & secret: Tách biệt cấu hình khỏi code

Kiến trúc cơ bản

┌──────────────────────────────────────────┐
│               K8s Cluster                │
│                                          │
│  ┌─────────────┐    ┌─────────────┐     │
│  │  Control     │    │   Node 1    │     │
│  │  Plane      │◄──►│  (Worker)   │     │
│  │             │    │             │     │
│  │ - API Server│    │ - Pod A     │     │
│  │ - etcd      │    │ - Pod B     │     │
│  │ - Scheduler │    │ - kubelet   │     │
│  │ - C-M       │    │ - kube-proxy│     │
│  └─────────────┘    └─────────────┘     │
│                          ...             │
│                    ┌─────────────┐       │
│                    │   Node N    │       │
│                    │  (Worker)   │       │
│                    └─────────────┘       │
└──────────────────────────────────────────┘

Control Plane (não của cluster)

Thành phần Vai trò
API Server Cổng giao tiếp duy nhất. Mọi lệnh kubectl đều qua đây
etcd Database lưu toàn bộ trạng thái cluster (key-value store)
Scheduler Quyết định Pod chạy trên Node nào
Controller Manager Chạy các vòng loop kiểm tra trạng thái thực tế vs mong muốn

Worker Nodes (tay chân)

Thành phần Vai trò
kubelet Agent chạy trên mỗi node, nhận lệnh từ API Server, quản lý Pod
kube-proxy Network proxy, xử lý routing traffic đến Pod
Container Runtime containerd / CRI-O — thứ thực sự chạy container

Các khái niệm cốt lõi (sẽ học sâu từng bài)

Khái niệm Giải thích ngắn
Pod Đơn vị nhỏ nhất. 1 Pod = 1+ container share network/storage
Deployment Khai báo "tôi muốn N Pod chạy app X". Tự quản lý ReplicaSet
Service Địa chỉ ổn định để truy cập Pod (Pod IP thay đổi khi restart)
ConfigMap / Secret Tách config / password khỏi image
Ingress Route HTTP/HTTPS từ ngoài vào Service
Namespace Phân vùng ảo trong cluster (dev, staging, prod...)
Volume / PV / PVC Lưu trữ dữ liệu bền vững qua restart

Các cách chạy K8s

Môi trường Dùng cho Công cụ
Local Học, dev minikube, kind, k3d, Docker Desktop
VM tự dựng Lab thực tế kubeadm
Cloud Managed Production GKE, EKS, AKS

Lộ trình của bác: Học khái niệm → Lab trên VM với kubeadm → Lab trên GKE.


⏭️ Bài tiếp: https://viblo.asia/p/bai-2-thiet-lap-k8s-lab-tren-vm-voi-kubeadm-K9Vy89BqLQR — Dựng K8s cluster bằng kubeadm trên VM


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí