Kubernetes là gì? Kiến trúc K8s, so với Docker, chi phí

Trả lời nhanh: Kubernetes (K8s) là nền tảng mã nguồn mở tự động triển khai, mở rộng và vận hành ứng dụng container trên cụm nhiều máy chủ. Bạn khai báo trạng thái mong muốn, như “luôn có 3 bản sao”, Kubernetes tự xếp chỗ chạy, thay thế khi lỗi và cân bằng tải.

Điểm chính

  • Kubernetes là công cụ điều phối container (container orchestration). Docker đóng gói và chạy container; Kubernetes quản lý hàng trăm container đó trên nhiều máy.
  • Một cụm gồm control plane ra quyết định và các worker node chạy Pod. Pod, không phải container, là đơn vị nhỏ nhất Kubernetes quản lý.
  • Từ bản 1.24 (5/2022), Kubernetes bỏ dockershim, nhưng image build bằng Docker vẫn chạy bình thường trên containerd hoặc CRI-O.
  • Tháng 10/2026, bản mới nhất là 1.37; mỗi bản phụ chỉ được vá lỗi khoảng 1 năm, nên nâng cấp đều đặn là bắt buộc.
  • Ứng dụng nhỏ, ít dịch vụ, đội thiếu người vận hành thường chưa nên dùng Kubernetes.
Mục lục
  1. Kubernetes là gì?
  2. Kubernetes ra đời như thế nào?
  3. Container orchestration là gì và Kubernetes giải quyết vấn đề gì?
  4. Kiến trúc Kubernetes gồm những thành phần nào?
  5. Pod, Deployment, Service là gì?
  6. Kubernetes hoạt động như thế nào?
  7. Kubernetes và Docker khác nhau thế nào?
  8. Khi nào nên và không nên dùng Kubernetes?
  9. Có những cách nào để chạy Kubernetes?
  10. Bảo mật Kubernetes cần lưu ý gì?
  11. Chi phí vận hành Kubernetes gồm những gì?
  12. Doanh nghiệp nên bắt đầu với Kubernetes như thế nào?
  13. Câu hỏi thường gặp

Kubernetes là gì?

Kubernetes là nền tảng mã nguồn mở để quản lý ứng dụng chạy trong container. Tài liệu chính thức mô tả đây là nền tảng “di động, mở rộng được”, hỗ trợ cấu hình dạng khai báo (declarative) và tự động hoá. Hiểu đơn giản, Kubernetes giống “hệ điều hành” cho cả một cụm máy chủ: bạn không cần nghĩ ứng dụng chạy trên máy nào, chỉ cần nói ứng dụng cần gì.

Tên gọi bắt nguồn từ tiếng Hy Lạp, nghĩa là người lái tàu hoặc hoa tiêu. Cách viết tắt K8s đến từ 8 chữ cái nằm giữa “K” và “s”; nhiều kỹ sư còn gọi gọn là “kube”.

Container là gói chứa ứng dụng cùng thư viện nó cần, chạy tách biệt nhưng dùng chung nhân hệ điều hành. Container nhẹ hơn máy ảo, khởi động trong vài giây và chạy giống nhau ở mọi nơi. Kubernetes không tạo container; nó quản lý rất nhiều container cùng lúc.

Một ví dụ dễ hình dung

Ví dụ minh hoạ. Một sàn thương mại điện tử có 12 dịch vụ (sản phẩm, giỏ hàng, thanh toán, tìm kiếm…), tổng cộng khoảng 60 container trên 8 máy chủ.

  • Không có Kubernetes: kỹ sư tự chọn máy cho từng container, tự viết script khởi động lại khi lỗi, tự sửa cân bằng tải khi thêm máy. Đêm khuyến mãi, cả đội thức trắng để thêm máy bằng tay.
  • Có Kubernetes: đội khai báo “giỏ hàng cần 4 bản sao, mỗi bản 0,5 CPU và 512 MB RAM; CPU vượt 70% thì tăng dần, tối đa 20 bản”. Kubernetes tự xếp chỗ, tự thay bản lỗi, tự mở rộng.

Kubernetes ra đời như thế nào?

Từ giữa những năm 2000, Google đã chạy dịch vụ trong container và quản lý chúng bằng hệ thống nội bộ Borg, sau đó là Omega. Theo tài liệu chính thức, Kubernetes kết hợp hơn 15 năm kinh nghiệm vận hành quy mô lớn của Google với ý tưởng từ cộng đồng. Các mốc chính theo blog chính thức của dự án và trang dự án của CNCF:

Thời điểmSự kiện
06/06/2014Commit đầu tiên lên GitHub, gồm 250 tệp và 47.501 dòng mã
21/07/2015Phát hành bản 1.0; Google thông báo trao dự án cho Cloud Native Computing Foundation (CNCF) thuộc Linux Foundation
10/03/2016CNCF chính thức nhận Kubernetes ở mức ươm tạo (incubating)
06/03/2018Kubernetes đạt mức tốt nghiệp (graduated), mức trưởng thành cao nhất của CNCF
15/09/2026Phát hành bản vá 1.37.1; nhánh 1.37 là bản phụ mới nhất khi viết bài

Theo trang phát hành chính thức, dự án duy trì 3 bản phụ gần nhất (hiện là 1.37, 1.36, 1.35), mỗi bản được vá lỗi khoảng 1 năm. Bản 1.34 hết hỗ trợ ngày 27/10/2026.

Theo khảo sát thường niên của CNCF công bố ngày 20/01/2026, 82% tổ chức dùng container đang chạy Kubernetes trong môi trường thật (production), tăng từ 66% năm 2023. Cũng theo khảo sát này, 66% tổ chức tự vận hành mô hình AI tạo sinh dùng Kubernetes cho một phần hoặc toàn bộ khâu suy luận (inference).

Container orchestration là gì và Kubernetes giải quyết vấn đề gì?

Container orchestration (điều phối container) là tự động hoá vòng đời của nhiều container trên nhiều máy: đặt ở đâu, nối mạng ra sao, thay thế khi hỏng, tăng giảm số lượng, cập nhật phiên bản. Vài container trên một máy thì làm tay được; hàng trăm container trên hàng chục máy thì không. Theo tài liệu chính thức, Kubernetes cung cấp:

  • Khám phá dịch vụ, cân bằng tải: tên DNS hoặc IP cố định cho mỗi nhóm container, chia đều lưu lượng.
  • Triển khai và quay lui tự động: thay phiên bản dần dần; lỗi thì quay về bản cũ.
  • Xếp container tự động: dựa trên CPU, RAM mỗi container khai báo để tận dụng máy.
  • Tự phục hồi: khởi động lại container lỗi, thay container không qua kiểm tra sức khoẻ.
  • Quản lý cấu hình, thông tin bí mật và lưu trữ: đổi cấu hình không cần build lại image, tự gắn ổ đĩa phù hợp.
  • Mở rộng ngang và chạy tác vụ theo lô: tăng giảm bản sao theo tải, chạy tác vụ một lần hoặc theo lịch.

Kubernetes không phải là gì: tài liệu chính thức nói rõ Kubernetes không phải nền tảng PaaS trọn gói. Nó không build mã nguồn, không kèm cơ sở dữ liệu, hàng đợi tin nhắn hay hệ thống giám sát. Kubernetes cung cấp “viên gạch” để đội kỹ thuật tự xây nền tảng, nên cài xong mới chỉ là bắt đầu.

Kiến trúc Kubernetes gồm những thành phần nào?

Một cụm Kubernetes (cluster) là tập hợp các máy, gọi là node, có thể là máy vật lý hoặc máy ảo. Control plane (trước đây hay gọi là master) ra quyết định cho cả cụm; các worker node chạy ứng dụng. Trong môi trường thật, control plane thường chạy trên nhiều máy để tránh điểm hỏng duy nhất.

Kiến trúc một cụm Kubernetes (cluster)Control plane ra quyết định, các worker node chạy PodBạn: kubectl apply hoặc pipeline CI/CDCONTROL PLANEkube-apiservercổng API duy nhấtetcdlưu trạng tháikube-schedulerchọn node cho Podcontroller-managergiữ đúng trạng tháiWORKER NODE 1kubelet · kube-proxyruntime: containerdPod APod BWORKER NODE 2kubelet · kube-proxyruntime: containerdPod CPod DWORKER NODE 3kubelet · kube-proxyruntime: containerdPod EPod F
Kiến trúc cụm Kubernetes: mọi yêu cầu đi qua kube-apiserver, trạng thái lưu trong etcd, scheduler xếp Pod lên node, kubelet trên từng node chạy container. Sơ đồ đơn giản hoá, cụm thật thường có nhiều bản control plane.

Control plane gồm những gì?

Thành phầnVai tròHình dung
kube-apiserverCửa ngõ duy nhất của cụm, cung cấp Kubernetes API; mọi thành phần khác nói chuyện qua đâyQuầy lễ tân
etcdKho khoá–giá trị lưu toàn bộ trạng thái cụm; tài liệu chính thức khuyến cáo phải có kế hoạch sao lưuSổ cái
kube-schedulerChọn node cho Pod mới dựa trên tài nguyên, ràng buộc, quy tắc gần nhau hoặc tách nhauNgười xếp chỗ
kube-controller-managerChạy các bộ điều khiển: theo dõi node chết, tạo Pod cho tác vụ, nối Service với Pod…Tổ trưởng đi tuần
cloud-controller-managerNối cụm với API nhà cung cấp đám mây để tạo bộ cân bằng tải, ổ đĩaNgười liên lạc bên hạ tầng

Worker node gồm những gì?

  • kubelet: tác tử trên mỗi node, nhận danh sách Pod từ API server và bảo đảm container chạy khoẻ.
  • kube-proxy: thiết lập quy tắc mạng để lưu lượng gửi tới Service đến đúng Pod.
  • Container runtime: phần mềm chạy container, phổ biến là containerd và CRI-O, giao tiếp qua chuẩn CRI (Container Runtime Interface).

Cụm còn cần các tiện ích bổ sung như DNS nội bộ, plugin mạng CNI, công cụ giám sát. Chúng không nằm trong lõi, nên đội vận hành phải tự chọn hoặc dùng bộ mặc định của dịch vụ quản lý.

Pod, Deployment, Service là gì?

Pod: đơn vị nhỏ nhất

Pod chứa một hoặc vài container chạy cùng nhau, dùng chung IP và mạng. Thông thường mỗi Pod có một container ứng dụng; container phụ như bộ chuyển log được đặt chung Pod khi cần. Pod mang tính tạm thời: có thể bị xoá và tạo lại ở node khác với IP mới. Vì vậy bạn hầu như không tạo Pod trực tiếp.

Deployment: giữ đủ số bản sao

Deployment mô tả ứng dụng chạy image nào, cần mấy bản sao, cập nhật kiểu gì. Deployment tạo ReplicaSet để luôn giữ đúng số Pod. Khi đổi phiên bản, Pod mới được tăng dần, Pod cũ giảm dần (rolling update); bản mới lỗi thì quay lại bằng một lệnh.

Service: địa chỉ cố định cho nhóm Pod

Vì Pod liên tục đổi IP, Service tạo một tên và địa chỉ ổn định đứng trước nhóm Pod được chọn theo nhãn (label) và chia tải cho chúng. Ba kiểu chính: ClusterIP (dùng trong cụm), NodePort (mở cổng trên mỗi node), LoadBalancer (xin bộ cân bằng tải từ nhà cung cấp đám mây).

Ingress và Gateway API: đón lưu lượng từ Internet

Để người dùng truy cập theo tên miền và đường dẫn, Kubernetes có Ingress và cách mới hơn là Gateway API. Lưu ý cập nhật: ngày 11/11/2025, nhóm SIG Network và Uỷ ban phản hồi bảo mật của Kubernetes thông báo cho nghỉ hưu Ingress NGINX, một bộ điều khiển Ingress rất phổ biến. Việc bảo trì chỉ kéo dài đến tháng 3/2026; sau đó không còn bản vá lỗ hổng. Cụm nào còn dùng nên chuyển sang Gateway API hoặc bộ điều khiển khác còn được duy trì.

Các đối tượng khác thường gặp

Đối tượngDùng để làm gìVí dụ minh hoạ
NamespaceChia cụm thành vùng logic, gắn quyền và hạn mức riêngTách dev, staging, production
ConfigMap, SecretLưu cấu hình thường và dữ liệu nhạy cảm, tách khỏi imageCờ tính năng; mật khẩu cơ sở dữ liệu
StatefulSetChạy ứng dụng cần danh tính và ổ đĩa ổn địnhCụm cơ sở dữ liệu
DaemonSetChạy đúng một Pod trên mỗi nodeTác tử thu thập log
Job, CronJobChạy tác vụ đến khi xong, hoặc theo lịchSao lưu mỗi đêm
PersistentVolumeClaimXin dung lượng lưu trữ sống lâu hơn PodỔ 50 GB cho tệp tải lên

Một tệp khai báo trông như thế nào?

Ví dụ minh hoạ một Deployment 3 bản sao kèm Service, viết bằng YAML:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-ban-hang
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web-ban-hang
  template:
    metadata:
      labels:
        app: web-ban-hang
    spec:
      containers:
      - name: web
        image: registry.vidu.vn/web-ban-hang:1.4.2
        ports:
        - containerPort: 8080
        resources:
          requests:
            cpu: "250m"
            memory: "256Mi"
          limits:
            memory: "512Mi"
---
apiVersion: v1
kind: Service
metadata:
  name: web-ban-hang
spec:
  selector:
    app: web-ban-hang
  ports:
  - port: 80
    targetPort: 8080

Nghĩa là: luôn chạy 3 Pod dùng image bản 1.4.2, mỗi Pod xin tối thiểu một phần tư CPU và 256 MB RAM, không dùng quá 512 MB RAM; Service nhận lưu lượng cổng 80 và chuyển vào cổng 8080 của các Pod. Bạn áp dụng tệp bằng lệnh kubectl apply. Thiếu requests và limits, scheduler xếp chỗ thiếu chính xác và chi phí khó kiểm soát.

Kubernetes hoạt động như thế nào?

Tài liệu chính thức có nhận xét đáng chú ý: Kubernetes không “điều phối” theo kiểu chạy kịch bản A rồi B rồi C. Nó gồm nhiều tiến trình điều khiển độc lập, mỗi tiến trình liên tục kéo trạng thái thực tế về trạng thái mong muốn. Cơ chế này gọi là vòng điều khiển (control loop), và là lý do Kubernetes tự phục hồi mà không cần ai ra lệnh.

Từ tệp YAML đến Pod đang chạyVí dụ minh hoạ: khai báo Deployment cần 3 bản sao1Bạn khai báo trạng thái mong muốnTệp YAML: image web 1.4.2, 3 bản sao, kubectl apply2API server kiểm tra rồi lưu vào etcdXác thực, phân quyền RBAC, kiểm tra hợp lệ3Controller tạo ReplicaSet và 3 PodPod lúc này mới là bản ghi, chưa có node4Scheduler chọn node cho từng PodDựa trên CPU, RAM còn trống và các ràng buộc5Kubelet trên node chạy containerKéo image, khởi động, kiểm tra sức khoẻ6Controller so sánh liên tụcThiếu Pod thì tạo thêm, thừa thì xoá bớtvòng điều khiểnNode hỏng hay Pod chết, vòng lặp tự đưa cụm về đủ 3 bản sao
Vòng điều khiển của Kubernetes: bạn chỉ khai báo kết quả mong muốn, các controller liên tục so sánh với thực tế và tự sửa phần lệch. Ví dụ minh hoạ.

Khi một node mất điện, kubelet trên đó ngừng báo cáo, bộ điều khiển node đánh dấu node không sẵn sàng. Sau thời gian chờ, ReplicaSet thấy chỉ còn 2 Pod thay vì 3 nên tạo Pod mới, scheduler đặt nó lên node còn sống. Mở rộng cũng theo cách đó: HorizontalPodAutoscaler thấy CPU vượt ngưỡng thì tăng số bản sao; nếu node hết chỗ, Cluster Autoscaler (thường có sẵn trong dịch vụ quản lý) xin thêm máy, và giảm lại khi tải xuống.

Kubernetes và Docker khác nhau thế nào?

Hai công cụ làm hai việc khác nhau và thường dùng cùng nhau. Docker đóng gói ứng dụng thành image và chạy container. Kubernetes nhận các image đó và quản lý việc chạy chúng trên cả cụm.

Tiêu chíDockerKubernetes
Vai trò chínhBuild image, chạy containerĐiều phối container trên nhiều máy
Phạm viMột máy; nhiều container trên một máy với Docker ComposeCụm từ một đến hàng nghìn node
Tự phục hồiKhởi động lại container trên cùng máyThay Pod lỗi, chuyển Pod khi node hỏng
Mở rộngChủ yếu bằng tayTự động theo chỉ số, cả Pod lẫn node
MạngMạng trên một máy, ánh xạ cổng thủ côngService, DNS nội bộ, Ingress, Gateway API
Độ khóVài ngày là dùng đượcVài tuần đến vài tháng để vận hành vững

Kubernetes đã “bỏ” Docker chưa?

Từ bản 1.24 (phát hành 03/05/2022), Kubernetes gỡ dockershim, lớp trung gian cho phép dùng Docker Engine làm runtime trên node. Node giờ dùng runtime chuẩn CRI như containerd hay CRI-O. Phần hỏi đáp chính thức khẳng định image tạo bằng docker build vẫn chạy với mọi runtime CRI, vì cùng theo chuẩn image của OCI (Open Container Initiative). Lập trình viên vẫn dùng Docker như cũ; chỉ đội vận hành cần rà soát script, plugin hay cấu hình log gọi trực tiếp Docker trên node.

Còn Docker Swarm và các lựa chọn khác?

Docker Swarm cài và học nhanh hơn, dùng lại Docker Compose quen thuộc, nhưng hệ sinh thái hẹp hơn nhiều. Ngoài ra có HashiCorp Nomad và các dịch vụ chạy container serverless của nhà cung cấp đám mây. Với đội nhỏ, những lựa chọn này đôi khi hợp lý hơn.

Khi nào nên và không nên dùng Kubernetes?

Đây là phần nhiều bài viết bỏ qua, trong khi chọn Kubernetes lúc chưa cần là một quyết định hạ tầng rất tốn kém.

Nên cân nhắc khiChưa nên khi
Hệ thống nhiều dịch vụ độc lập theo kiến trúc microservices, mỗi dịch vụ cần triển khai, mở rộng riêngỨng dụng một khối (monolith) hoặc vài dịch vụ, chạy ổn trên 1–3 máy chủ
Tải biến động mạnh theo giờ, theo mùaWebsite giới thiệu, trang tin, cửa hàng nhỏ: hosting, PaaS hoặc phần mềm dạng dịch vụ có sẵn rẻ hơn
Cần sẵn sàng cao, cập nhật không gián đoạnKhông ai trong đội hiểu đủ sâu container, mạng, Linux để xử lý sự cố
Chạy giống nhau trên nhiều môi trường, kể cả mô hình đám mây laiMục tiêu chỉ là “cho hiện đại”, chưa có vấn đề cụ thể
Nhiều đội dùng chung nền tảng; khối lượng AI cần chia sẻ GPUNút thắt nằm ở cơ sở dữ liệu chậm hay mã nguồn khó sửa, thứ Kubernetes không giải quyết

Câu hỏi tự kiểm tra: nếu ngày mai lượng truy cập tăng gấp 10, đội bạn gặp khó ở đâu? Nếu là “triển khai chậm, không biết container chết ở đâu, thêm máy rất mất công”, Kubernetes đáng cân nhắc. Nếu không, hãy giải quyết đúng nút thắt trước.

Có những cách nào để chạy Kubernetes?

Dịch vụ Kubernetes quản lý

Nhà cung cấp điện toán đám mây vận hành control plane thay bạn: cài đặt, sao lưu etcd, vá lỗi, sẵn sàng cao. Bạn lo worker node và ứng dụng. Ba dịch vụ quốc tế phổ biến là Amazon EKS, Google Kubernetes Engine (GKE) và Azure Kubernetes Service (AKS). Một số nhà cung cấp đám mây trong nước cũng có dịch vụ tương tự, phù hợp khi muốn đặt dữ liệu tại Việt Nam.

Phí quản lý control plane theo bảng giá công khai, kiểm tra tháng 10/2026 (chưa gồm máy, ổ đĩa, mạng):

Dịch vụPhí control planeGhi chú
Amazon EKS0,10 USD/cụm/giờ ở thời gian hỗ trợ chuẩn; 0,60 USD/cụm/giờ ở thời gian hỗ trợ mở rộngMáy EC2, ổ EBS, IP công khai, lưu lượng giữa vùng tính riêng
GKE0,10 USD/cụm/giờ cho mọi cụmTín dụng miễn phí 74,40 USD/tháng mỗi tài khoản thanh toán, tương đương một cụm Autopilot hoặc Standard theo vùng (zonal); kênh Extended ở thời gian hỗ trợ mở rộng cộng 0,50 USD/giờ
AKSBậc Free không tính phí control planeBậc Free không có SLA, không khuyến nghị quá 10 node; bậc Standard, Premium có SLA và tính phí theo giờ

Lưu ý: trên EKS, và trên GKE với kênh Extended, phí quản lý tăng gấp 6 lần khi cụm chạy phiên bản đã qua thời gian hỗ trợ chuẩn. Chậm nâng cấp vừa rủi ro bảo mật vừa tốn tiền trực tiếp.

Tự dựng và bản nhẹ

Bạn có thể tự cài bằng kubeadm, hoặc dùng bản phân phối thương mại như Red Hat OpenShift, SUSE Rancher. Cách này cho toàn quyền kiểm soát, hợp khi dữ liệu không được rời hạ tầng nội bộ, nhưng đội phải tự lo sẵn sàng cao, sao lưu etcd, nâng cấp, mạng, chứng chỉ. Để học, minikube và kind (Kubernetes in Docker) dựng cụm thu nhỏ trên laptop; K3s là bản gọn nhẹ hay dùng ở chi nhánh, nhà máy, thiết bị biên.

Tiêu chíDịch vụ quản lýTự dựng
Thời gian có cụmVài phút đến vài giờVài ngày đến vài tuần để đạt chuẩn production
Ai lo control planeNhà cung cấpĐội của bạn
Chi phí con ngườiThấp hơnCao: cần kỹ sư hiểu sâu, trực sự cố
Hợp vớiĐa số doanh nghiệp mới bắt đầuYêu cầu dữ liệu nội bộ nghiêm ngặt, đã có đội nền tảng

Bảo mật Kubernetes cần lưu ý gì?

Nhiều cơ chế bảo mật của Kubernetes không bật chặt theo mặc định. Doanh nghiệp nên kiểm tra các điểm sau:

  1. Mã hoá Secret: tài liệu chính thức cảnh báo Secret mặc định lưu không mã hoá trong etcd. Ai có quyền truy cập API hoặc etcd đều đọc được; ai có quyền tạo Pod trong một namespace cũng gián tiếp đọc được Secret ở đó. Hãy bật mã hoá khi lưu (encryption at rest) và giới hạn quyền đọc.
  2. RBAC tối thiểu: mỗi người, mỗi ứng dụng chỉ có đúng quyền cần thiết; không dùng quyền cluster-admin cho tài khoản hằng ngày hay pipeline.
  3. Pod Security Standards: 3 mức Privileged (không giới hạn, cho thành phần hệ thống), Baseline (chặn leo thang đặc quyền đã biết) và Restricted (siết chặt theo thực hành tốt nhất). Bộ kiểm soát Pod Security Admission có sẵn áp mức này theo namespace; ứng dụng thường nên nhắm tới Restricted.
  4. NetworkPolicy: mặc định các Pod gọi được lẫn nhau. Hãy khai báo rõ ai được nói chuyện với ai, theo tinh thần zero trust.
  5. An toàn image: lấy image từ kho tin cậy, quét lỗ hổng, ghim phiên bản thay vì nhãn “latest”, chạy container không dùng root.
  6. Bảo vệ API server: không mở ra Internet nếu không cần; bật nhật ký kiểm toán (audit log).
  7. Nâng cấp và sao lưu: nâng cấp ít nhất mỗi năm một lần, kể cả add-on; sao lưu etcd và dữ liệu, diễn tập khôi phục định kỳ.

Đây chỉ là một lớp trong bức tranh an ninh mạng chung. Nếu ứng dụng xử lý dữ liệu cá nhân, doanh nghiệp cần đối chiếu thêm quy định hiện hành về bảo vệ dữ liệu cá nhân tại Việt Nam, nhất là khi chọn nơi đặt dữ liệu trên đám mây.

Chi phí vận hành Kubernetes gồm những gì?

Phần mềm Kubernetes miễn phí, nhưng vận hành thì không. Chi phí thực tế gồm:

Nhóm chi phíGồm những gìLưu ý
Control planePhí dịch vụ quản lý hoặc máy chạy control planeThường là phần nhỏ
Tính toánMáy chạy worker node, GPUThường lớn nhất về hạ tầng; phụ thuộc mức tận dụng
MạngBộ cân bằng tải, IP công khai, lưu lượng ra Internet và giữa vùngDễ bị bỏ sót khi ước tính
Lưu trữỔ bền vững, bản chụp, kho imageỔ bỏ quên vẫn tính tiền
Giám sát, logSố liệu, log, cảnh báoLog quá chi tiết rất tốn
Con ngườiKỹ sư vận hành, trực sự cố, đào tạoThường lớn nhất với doanh nghiệp vừa và nhỏ

Ví dụ minh hoạ: một cụm EKS chạy cả tháng khoảng 730 giờ có phí quản lý 730 × 0,10 = 73 USD. Nếu cụm rơi vào thời gian hỗ trợ mở rộng, con số thành 730 × 0,60 = 438 USD mỗi tháng, chưa tính máy chạy.

Để kiểm soát chi phí: khai báo requests và limits theo số đo thực tế; bật tự mở rộng hai chiều cho cả Pod và node; gộp dev và staging chung cụm, tách bằng namespace và hạn mức (ResourceQuota); gắn nhãn đội, dự án để biết ai tiêu bao nhiêu; dọn ổ đĩa, bộ cân bằng tải, image không dùng; và nâng cấp đúng hạn.

Doanh nghiệp nên bắt đầu với Kubernetes như thế nào?

Theo khảo sát CNCF công bố tháng 1/2026, thách thức lớn nhất không phải kỹ thuật mà là thay đổi văn hoá trong đội phát triển (47%), tiếp theo là đào tạo và bảo mật (cùng 36%), độ phức tạp (34%). Vì vậy, hãy đi từ con người và quy trình trước, công cụ sau:

  1. Ghi rõ vấn đề và số đo hiện tại: triển khai mất bao lâu, ngừng dịch vụ bao nhiêu lần.
  2. Container hoá và chuẩn hoá ứng dụng: chạy ổn bằng Docker; cấu hình đọc từ biến môi trường, log ra đầu ra chuẩn, có điểm kiểm tra sức khoẻ.
  3. Đào tạo nhóm nòng cốt 2–3 kỹ sư trên cụm thử nghiệm.
  4. Chọn dịch vụ quản lý cho cụm đầu tiên, trừ khi bắt buộc tự dựng.
  5. Triển khai qua pipeline CI/CD theo tinh thần DevOps; không ai gõ lệnh tay lên production.
  6. Chuyển dịch vụ không lưu trạng thái, ít rủi ro trước; cơ sở dữ liệu chính để sau cùng hoặc dùng dịch vụ quản lý riêng.
  7. Dựng giám sát, quy chuẩn bảo mật và chi phí từ đầu, rồi nhìn lại sau 3–6 tháng so với số đo ban đầu.

Câu hỏi thường gặp

K8s có khác Kubernetes không?

Không. K8s là cách viết tắt của Kubernetes, số 8 thay cho 8 chữ cái giữa “K” và “s”.

Kubernetes có miễn phí không?

Phần mềm là mã nguồn mở, dùng miễn phí. Bạn trả cho hạ tầng, phí dịch vụ quản lý, giấy phép nếu dùng bản thương mại và thời gian của đội vận hành.

Có cần học Docker trước khi học Kubernetes không?

Nên học. Bạn cần hiểu image, container, cổng, biến môi trường, ổ đĩa, cùng kiến thức Linux, mạng và YAML cơ bản trước khi bắt đầu với Kubernetes.

Một cụm Kubernetes cần bao nhiêu máy?

Để học, một máy là đủ với minikube, kind hoặc K3s. Cho production, nên có control plane sẵn sàng cao và ít nhất 2–3 worker node. Ở chiều ngược lại, tài liệu chính thức cho biết bản 1.37 hỗ trợ cụm tới 5.000 node, tối đa 110 Pod mỗi node, 150.000 Pod và 300.000 container.

Pod và container khác nhau thế nào?

Container là tiến trình ứng dụng được đóng gói. Pod là “vỏ bọc” do Kubernetes quản lý, chứa một hoặc vài container dùng chung IP. Kubernetes xếp lịch, khởi động lại và mở rộng theo Pod.

Kubernetes liên quan gì đến API?

Mọi thao tác, từ lệnh kubectl đến công cụ tự động hoá, đều là lời gọi tới Kubernetes API do kube-apiserver cung cấp. Bài API là gì giải thích cách các hệ thống trao đổi dữ liệu với nhau.