Email Doanh NghiệpSSLFirewall Anti DDoS

NỘI DUNG

Banner blog lễ 30.4 và 1.5

Phân biệt chi tiết 2 loại dịch vụ ClusterIP và NodePort trong Kubernetes

Hưng Nguyễn

Đã kiểm duyệt nội dung

Ngày đăng:06/02/2026
Lượt xem

Quy trình sản xuất nội dung

Đánh giá

[esi kkstarratings cache="private" ttl="3"]

Trong Kubernetes, ClusterIP và NodePort là hai loại Service phổ biến dùng để expose ứng dụng đang chạy trong cluster. Việc hiểu rõ sự khác nhau giữa hai cơ chế này giúp bạn lựa chọn đúng cách truy cập service, đảm bảo cân bằng giữa bảo mật, khả năng mở rộng và nhu cầu truy cập từ bên ngoài. Bài viết dưới đây sẽ phân biệt chi tiết ClusterIP và NodePort dựa trên nguyên lý hoạt động, phạm vi truy cập và các tình huống sử dụng thực tế.

Những điểm chính

  • Tổng quan: Nắm được các loại service cốt lõi trong Kubernetes như ClusterIP, NodePort và LoadBalancer, giúp bạn hiểu rõ các phương pháp expose ứng dụng trong cluster.
  • Khái niệm ClusterIP: Hiểu được ClusterIP là dịch vụ nội bộ mặc định, giúp các ứng dụng trong cùng cụm giao tiếp an toàn và ổn định mà không lộ ra internet.
  • Các trường hợp sử dụng ClusterIP: Biết được các tình huống nên ưu tiên ClusterIP như giao tiếp nội bộ và tối ưu bảo mật, giúp bạn lựa chọn đúng công cụ cho nhu cầu thực tế.
  • Khái niệm NodePort: Nắm được NodePort là dịch vụ cho phép truy cập từ bên ngoài cụm qua một cổng tĩnh trên các node, giúp nhanh chóng public dịch vụ cho mục đích demo hoặc phát triển.
  • Các trường hợp sử dụng NodePort: Nhận biết các kịch bản nên dùng NodePort như ứng dụng demo, thử nghiệm ngắn hạn hoặc khi đã có sẵn load balancer bên ngoài, giúp bạn lựa chọn giải pháp nhanh gọn cho các nhu cầu đơn giản.
  • So sánh chi tiết: Phân biệt rõ sự khác biệt giữa ClusterIP và NodePort về mục đích, khả năng truy cập, bảo mật và các tình huống phù hợp, giúp bạn đưa ra lựa chọn tối ưu cho hệ thống của mình.
  • Biết thêm Vietnix là nhà cung cấp dịch vụ lưu trữ uy tín, chất lượng.
  • Câu hỏi thường gặp: Giải đáp các thắc mắc liên quan đến ClusterIP và NodePort.
những điểm chính

Tổng quan về các loại service trong Kubernetes

Trong hệ sinh thái Kubernetes, service là giải pháp trừu tượng hóa giúp kết nối các pod với nhau hoặc với thế giới bên ngoài. Dưới đây là 5 loại service cốt lõi:

  • ClusterIP (mặc định): Cung cấp một địa chỉ IP nội bộ duy nhất cho service. Đây là lựa chọn tối ưu để các thành phần trong cụm (như Backend gọi Database) giao tiếp với nhau mà không lộ diện ra internet.
  • NodePort: Mở một Static Port trên mỗi Node của cụm. Lưu lượng gửi đến NodeIP:NodePort sẽ được chuyển hướng đến service. Đây là phương thức cơ bản nhất để tiếp nhận truy cập bên ngoài khi chưa có bộ cân bằng tải chuyên dụng.
  • LoadBalancer: Tích hợp trực tiếp với bộ cân bằng tải của các nhà cung cấp đám mây (AWS, GCP, Azure). Nó tự động tạo một IP công khai và điều phối lưu lượng vào cụm, đảm bảo tính sẵn sàng cao cho các ứng dụng thực tế (Production).
  • ExternalName: Hoạt động như một bản ghi CNAME trong DNS. Thay vì dùng IP, nó ánh xạ service tới một tên miền bên ngoài (ví dụ: my-db.external.com), giúp ứng dụng trong cụm gọi các dịch vụ ngoài hệ thống một cách nhất quán.
  • Headless service: Một dạng đặc biệt của ClusterIP nhưng không cấp phát IP đại diện (clusterIP: None). Thay vào đó, nó trả về trực tiếp danh sách IP của các pod đứng sau qua DNS, thường dùng cho các ứng dụng có trạng thái như MongoDB hay Kafka.
Các loại dịch vụ trong Kubernetes
Các loại dịch vụ trong Kubernetes

Trong quá trình triển khai Kubernetes với các Service như ClusterIP hay NodePort, việc lựa chọn hạ tầng cloud phù hợp đóng vai trò quan trọng để đảm bảo khả năng truy cập ổn định, mở rộng linh hoạt và vận hành an toàn cho hệ thống. Đây cũng là lý do nhiều doanh nghiệp ưu tiên sử dụng Enterprise Cloud Server của Vietnix, giúp mình dễ dàng triển khai cluster Kubernetes, cấu hình networking hiệu quả và duy trì tính sẵn sàng cao cho ứng dụng ngay cả khi lưu lượng truy cập tăng đột biến. Liên hệ ngay để được tư vấn chi tiết về dịch vụ!

ClusterIP là gì?

ClusterIP là loại dịch vụ nội bộ mặc định trong Kubernetes, giúp cấp phát một địa chỉ IP tĩnh từ dải IP riêng để các pod trong cùng cụm dễ dàng giao tiếp với nhau. ClusterIP chỉ cho phép truy cập nội bộ, không thể truy cập từ Internet bên ngoài và đảm nhận vai trò như một điểm cân bằng tải nội bộ, phân phối lưu lượng giữa các pod liên quan.

Với mỗi ClusterIP được tạo, địa chỉ IP này sẽ duy trì trong suốt vòng đời của service, đảm bảo các ứng dụng luôn kết nối ổn định mà không cần lo pod bị thay đổi IP động. Nếu muốn, người dùng có thể tự chọn IP hợp lệ hoặc để Kubernetes tự động cấp phát, đồng thời có thể mở proxy tạm thời qua lệnh kubectl proxy để truy cập service phục vụ mục đích kỹ thuật.

ClusterIP là loại dịch vụ nội bộ mặc định trong Kubernetes
ClusterIP là loại dịch vụ nội bộ mặc định trong Kubernetes

Các trường hợp nên sử dụng ClusterIP

Bạn nên lựa chọn ClusterIP cho các trường hợp sử dụng nội bộ trong Kubernetes. Một số tình huống tiêu biểu bao gồm:

  • Debug hoặc kết nối trực tiếp từ máy cá nhân vào service qua proxy, phục vụ kiểm tra và phát triển.
  • Tạo kênh giao tiếp chỉ dành cho các pod hoặc ứng dụng bên trong cụm, hạn chế truy cập từ bên ngoài.
  • Tối ưu bảo mật hệ thống khi chỉ cho phép lưu lượng nội bộ giữa các thành phần trong cluster.

NodePort là gì?

NodePort là một loại service trong Kubernetes giúp công khai ứng dụng ra bên ngoài bằng cách mở một cổng tĩnh (NodePort) trên toàn bộ node trong cụm. Khi sử dụng NodePort, mọi lưu lượng truy cập ngoài cụm đi qua một port cố định trên các node, sau đó được chuyển tiếp đến service bên trong và cuối cùng đến các pod ứng dụng.

Nếu không chỉ định, Kubernetes sẽ tự cấp phát port nằm trong dải 30000 – 32767. NodePort thường kết hợp với ClusterIP mặc định, cho phép truy cập cả nội bộ lẫn bên ngoài, phù hợp với môi trường demo hoặc phát triển hơn là triển khai thực tế vì thiếu khả năng load balancing giữa các node.

NodePort là một loại service trong Kubernetes giúp công khai ứng dụng ra bên ngoài bằng cách mở một cổng tĩnh trên toàn bộ node trong cụm
NodePort là một loại service trong Kubernetes giúp công khai ứng dụng ra bên ngoài bằng cách mở một cổng tĩnh

Các trường hợp nên sử dụng NodePort

Bạn chỉ nên chọn NodePort trong một số tình huống nhất định, đặc biệt khi nhu cầu triển khai không yêu cầu tính sẵn sàng cao hoặc được sử dụng lâu dài. Một số trường hợp phù hợp gồm:

  • Dùng cho ứng dụng demo hoặc thử nghiệm ngắn hạn, không cần public dịch vụ lâu dài.
  • Khi cần nhanh chóng phơi bày dịch vụ ra ngoài mà không cần xử lý cân bằng tải hoặc các giải pháp production phức tạp.
  • Bạn muốn truy cập một port cụ thể trên cluster cho mục đích phát triển, test nội bộ.
  • Không yêu cầu triển khai đa dịch vụ lắng nghe trên cùng một port hoặc không lo ngại địa chỉ IP của node thay đổi.
Khi nào nên sử dụng NodePort
Khi nào nên sử dụng NodePort

So sánh ClusterIP và NodePort

Tiêu chíClusterIPNodePort
Mục đích sử dụngGiao tiếp nội bộ giữa các pod trong cùng một clusterPhơi bày dịch vụ ra ngoài thông qua port cố định trên node
Khả năng truy cậpChỉ truy cập được từ bên trong clusterCó thể truy cập từ bên ngoài cluster qua địa chỉ IP node
Cách hoạt độngCấp phát một IP tĩnh để hóa giải bất động IP của podMở port từ 30000- 32767 trên toàn bộ node để chuyển tiếp traffic vào service
Cân bằng tảiTự động phân phối lưu lượng đến các pod khỏe mạnh phía sauChỉ cân bằng tải ở mức pod, không cung cấp load balancing giữa các node
Bảo mậtCao, vì chỉ cho phép lưu lượng nội bộThấp hơn, do public port trên node
Tình huống phù hợpDùng cho ứng dụng hoặc microservices chỉ giao tiếp nội cụmDemo, môi trường phát triển, thử nghiệm tạm thời
Cấu hình YAMLĐơn giản, không yêu cầu trường nodePortThêm trường nodePort hoặc để tự động cấp phát

Vietnix – Nhà cung cấp dịch vụ lưu trữ uy tín, chất lượng

Vietnix là đơn vị cung cấp dịch vụ lưu trữ và hạ tầng cloud được nhiều doanh nghiệp tin tưởng nhờ hệ thống vận hành ổn định, hiệu năng cao và bảo mật chặt chẽ. Với các giải pháp đa dạng từ hosting, VPS, Enterprise Cloud và S3 Object Storage, giúp bạn triển khai website, ứng dụng và hệ thống doanh nghiệp một cách linh hoạt, dễ mở rộng. Bên cạnh hạ tầng được đầu tư bài bản, Vietnix còn sở hữu đội ngũ kỹ thuật hỗ trợ 24/7, sẵn sàng đồng hành trong suốt quá trình vận hành, giúp bạn yên tâm đầu tư và phát triển hoạt động kinh doanh. Liên hệ ngay!

Thông tin liên hệ:

  • Website: https://vietnix.vn/
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn
  • Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh

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

Làm sao để tạo một Service kiểu NodePort bằng kubectl?

Bạn có thể dùng lệnh kubectl expose deployment –type=NodePort –port= để nhanh chóng tạo NodePort Service từ một Deployment có sẵn.

Service trong Kubernetes là gì?

Service là một đối tượng dùng để định tuyến và cân bằng tải cho các pod, giúp các ứng dụng hoặc client truy cập ổn định vào một nhóm pod qua địa chỉ IP cố định nội bộ hoặc bên ngoài.

Làm thế nào để truy cập Service từ bên ngoài cụm Kubernetes?

Bạn có thể sử dụng NodePort hoặc LoadBalancer để public dịch vụ. Ngoài ra, với dịch vụ nội bộ (ClusterIP), có thể dùng kubectl proxy để truy cập tạm thời từ máy bên ngoài.

Service được lưu trữ ở đâu trong hệ thống Kubernetes?

Tất cả Service đều được lưu trữ dưới dạng REST object và quản lý tập trung trong kho dữ liệu etcd, đây là nguồn dữ liệu trung thực và nhất quán cho toàn bộ cluster.

Điểm khác biệt lớn nhất giữa ClusterIP và NodePort là gì?

ClusterIP chỉ cho phép truy cập nội bộ trong cluster, còn NodePort sẽ mở một port cố định trên mỗi node để có thể truy cập từ ngoài vào cluster.

Qua bài viết này, hy vọng bạn đã hiểu rõ sự khác biệt và ứng dụng thực tế giữa ClusterIP và NodePort trong Kubernetes. Việc lựa chọn loại service phù hợp sẽ giúp bạn cân bằng hiệu quả giữa bảo mật, khả năng mở rộng và nhu cầu truy cập nội bộ hay từ bên ngoài, tối ưu hoá hệ thống cho từng mục tiêu vận hành. Cảm ơn bạn đã theo dõi bài viết!

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

kien-thuc-dich-vu

kien-thuc-kubernetes

text
icon popup single post

CẢM ƠN BẠN ĐÃ ĐÁNH GIÁ BÀI VIẾT

Vietnix sẽ luôn cố gắng cải thiện chất lượng dịch vụ mỗi ngày

ĐÓNG

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG