Email Doanh NghiệpSSLFirewall Anti DDoS

NỘI DUNG

Banner blog lễ 30.4 và 1.5

Lỗi Kubernetes Node Not Ready là gì? 7 cách khắc phục lỗi chi tiết

Hưng Nguyễn

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

Ngày đăng:20/04/2026
Lượt xem

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

Đánh giá

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

Kubernetes Node Not Ready là lỗi cho thấy một node trong cụm Kubernetes không còn đủ điều kiện để nhận và chạy Pod mới, từ đó ảnh hưởng trực tiếp đến khả năng vận hành ứng dụng. Trong bài viết này, bạn sẽ nắm rõ nguyên nhân, ảnh hưởng và cách khắc phục khi xử lý sự cố liên quan đến Kubernetes Node Not Ready trong môi trường thực tế.​

Những điểm chính

  • Khái niệm: Hiểu rõ lỗi Kubernetes Node Not Ready là trạng thái cho thấy node không thể nhận và chạy Pod, giúp nhận biết đây là sự cố ảnh hưởng trực tiếp đến khả năng vận hành của ứng dụng.
  • Các trạng thái của node: Phân biệt các trạng thái của node trong Kubernetes, giúp theo dõi và đánh giá chính xác tình trạng hoạt động của cụm.
  • Nguyên nhân: Nắm được các nguyên nhân chính như cạn kiệt tài nguyên, sự cố mạng hoặc lỗi kubelet, giúp khoanh vùng và xác định đúng nguồn gốc sự cố để xử lý hiệu quả.
  • Tác động: Nhận biết các ảnh hưởng tiêu biểu như không thể lên lịch Pod mới và gián đoạn dịch vụ, giúp hiểu rõ mức độ nghiêm trọng và sự cần thiết phải khắc phục ngay.
  • Cách khắc phục: Nắm vững các phương pháp xử lý chi tiết từ kiểm tra trạng thái node, phân tích log đến xử lý tài nguyên và khởi động lại dịch vụ, giúp chủ động khôi phục node về trạng thái Ready một cách có kiểm soát.
  • Biết thêm Vietnix: Tìm hiểu về Enterprise Cloud của Vietnix, giúp có thêm lựa chọn hạ tầng IaaS hiệu năng cao cho doanh nghiệp.
  • Câu hỏi thường gặp: Được giải đáp các thắc mắc phổ biến về lỗi Node Not Ready trong các môi trường cụ thể như K3s, GKE và các tình huống liên quan, giúp củng cố kiến thức và xử lý các vấn đề chuyên sâu
những điểm chính

Lỗi Kubernetes Node Not Ready là gì?

Lỗi Kubernetes Node Not Ready là trạng thái cho thấy một node trong cụm Kubernetes không còn ở trạng thái Ready để nhận và chạy các Pod. Khi đó, bộ lập lịch Kubernetes sẽ không gán thêm Pod lên node này cho đến khi nó được khôi phục về trạng thái Ready, từ đó làm suy giảm mức độ sẵn sàng của ứng dụng trong cụm.​

Lỗi Kubernetes Node Not Ready là trạng thái cho thấy một node trong cụm Kubernetes không còn ở trạng thái Ready
Lỗi Kubernetes Node Not Ready là trạng thái cho thấy một node trong cụm Kubernetes không còn ở trạng thái Ready

Để giải quyết triệt để các vấn đề về node và đảm bảo cụm Kubernetes hoạt động ổn định, doanh nghiệp cần một nền tảng hạ tầng vững chắc. Dịch vụ Enterprise Cloud của Vietnix được thiết kế để đáp ứng chính xác nhu cầu này. Với kiến trúc có độ sẵn sàng cao (HA) và phần cứng mạnh mẽ (CPU AMD EPYC, ổ cứng NVMe), Enterprise Cloud giảm thiểu rủi ro node gặp sự cố, đảm bảo các node luôn ở trạng thái Ready, giúp duy trì sự ổn định và hiệu suất cao cho toàn bộ ứng dụng của bạn.

Các trạng thái của node trong Kubernetes

Các trạng thái của node trong Kubernetes cho biết khả năng node đó có thể nhận và chạy Pod hay không, đồng thời giúp quản trị viên theo dõi và phân phối workload trong cụm một cách chính xác. Sau khi được join vào cluster, mỗi node sẽ nằm trong một trong các trạng thái dưới đây, phản ánh tình trạng hoạt động và khả năng tiếp nhận ứng dụng tại thời điểm hiện tại:

  • Ready: Node đang hoạt động bình thường và có thể chạy Pod/ứng dụng mới.​
  • Not Ready: Node gặp vấn đề nên không thể chạy Pod, không đủ điều kiện để lưu trữ workload.​
  • Scheduling Disabled: Node vẫn hoạt động nhưng bị đánh dấu không cho phép lên lịch Pod mới (thường do quản trị viên cordon node để bảo trì hoặc xử lý sự cố).​
  • Unknown: Node không thể liên lạc được từ control plane/node controller, thường do node mất kết nối mạng hoặc đã tắt/hỏng nên trạng thái thực tế không thể xác định.​
Các trạng thái của node trong Kubernetes
Các trạng thái của node trong Kubernetes

Nguyên nhân gây ra lỗi Kubernetes Node Not Ready

Nguyên nhân gây ra lỗi Kubernetes Node Not Ready thường bắt nguồn từ việc node không còn đáp ứng được các yêu cầu về tài nguyên, kết nối hoặc quy trình nội bộ cần thiết để duy trì trạng thái Ready trong cụm. Dưới đây là một số nhóm nguyên nhân điển hình mà quản trị viên cần kiểm tra khi node chuyển sang trạng thái Not Ready:

  • Cạn kiệt tài nguyên: Node hết CPU, RAM hoặc dung lượng đĩa, dẫn đến các điều kiện như memory pressure hoặc disk pressure khiến node không thể tiếp tục lưu trữ và chạy Pod.​
  • Sự cố mạng: Mất kết nối giữa node và control plane/API Server, lỗi DNS hoặc firewall chặn các cổng giao tiếp quan trọng khiến control plane không thể trao đổi dữ liệu ổn định với node.​
  • Lỗi kubelet: Tiến trình kubelet trên node bị treo, bị hệ điều hành kill, crash hoặc cấu hình sai, làm node không thể báo cáo trạng thái và thông tin Pod về control plane.​
  • Lỗi kube-proxy và thành phần mạng: kube-proxy bị dừng, lỗi hoặc cấu hình sai, hoặc các thành phần mạng khác gặp trục trặc khiến lưu lượng giữa node và cụm không được định tuyến đúng.​
  • Sự cố phần cứng hoặc hệ điều hành: Lỗi máy chủ vật lý, lỗi đĩa, lỗi NIC hoặc hệ điều hành gặp vấn đề nghiêm trọng dẫn đến node ngừng hoạt động ổn định.​
  • Cấu hình sai tổng thể: Cấu hình Kubernetes, cấu hình mạng hoặc bảo mật trên node và trong cụm không phù hợp, gây ra xung đột hoặc chặn giao tiếp, làm node bị đánh dấu Not Ready.
Nguyên nhân gây ra lỗi Kubernetes Node Not Ready
Nguyên nhân gây ra lỗi Kubernetes Node Not Ready

Ảnh hưởng của lỗi Kubernetes Node Not Ready

Ảnh hưởng của lỗi Kubernetes Node Not Ready chủ yếu liên quan đến khả năng phân phối workload và tính sẵn sàng của dịch vụ trong cụm. Khi một node chuyển sang trạng thái Not Ready, cả scheduler lẫn cơ chế xử lý Pod đều phải thay đổi hành vi để tránh sử dụng node này:

  • Không thể lên lịch Pod mới: Bộ lập lịch Kubernetes sẽ ngừng gán Pod mới lên node ở trạng thái Not Ready, khiến các Pod mới tạo ra có thể bị giữ ở trạng thái Pending cho đến khi được chuyển sang node khác đủ điều kiện.​
  • Gián đoạn hoặc di dời Pod đang chạy: Các Pod đang chạy trên node Not Ready có thể bị evict hoặc bị đánh dấu không còn trạng thái rõ ràng, làm gián đoạn dịch vụ, tăng độ trễ và có nguy cơ mất phiên cho người dùng nếu ứng dụng không được thiết kế chịu lỗi tốt.​
Ảnh hưởng của lỗi Kubernetes Node Not Ready
Ảnh hưởng của lỗi Kubernetes Node Not Ready

Cách khắc phục lỗi Kubernetes Node Not Ready thường bắt đầu từ việc xác định chính xác nguyên nhân, sau đó áp dụng từng bước kiểm tra node, log và cấu hình mạng/dịch vụ liên quan. Các cách xử lý dưới đây giúp thu hẹp phạm vi lỗi và khôi phục node về trạng thái Ready một cách có kiểm soát:

Kiểm tra và xác nhận trạng thái node

Bạn sử dụng lệnh kubectl get nodes để liệt kê toàn bộ node trong cụm và xác định node đang ở trạng thái Not Ready. Khi đã xác định node lỗi, dùng tiếp kubectl describe node để xem chi tiết Conditions và Events, từ đó nhận diện các cảnh báo như MemoryPressure, DiskPressure, NetworkUnavailable hoặc lỗi runtime/container.

Phân tích chi tiết node bằng describe và log

Bạn cần phân tích phần Conditions và Events trong kubectl describe node để xem thời điểm node chuyển sang NotReady, lỗi PLEG, container runtime hay các cảnh báo khác. Việc thu thập thêm thông tin bằng log kubelet với lệnh journalctl -u kubelet (trên Linux) để phát hiện lỗi tài nguyên, lỗi cấu hình hoặc sự cố tương tác giữa kubelet và control plane.

Kiểm tra và xử lý vấn đề tài nguyên hệ thống

Việc dùng kubectl top node hoặc các lệnh trên hệ điều hành như top, free -m, df -h để kiểm tra mức sử dụng CPU, RAM và dung lượng đĩa trên node. Nếu phát hiện tình trạng thiếu tài nguyên, bạn có thể giảm workload, tắt bớt tiến trình không liên quan đến Kubernetes, nâng cấp cấu hình phần cứng hoặc bổ sung thêm node cho cụm.

Kiểm tra và xử lý vấn đề tài nguyên hệ thống
Kiểm tra và xử lý vấn đề tài nguyên hệ thống

Theo kinh nghiệm của mình, các vấn đề về tài nguyên như MemoryPressure (áp lực bộ nhớ) và DiskPressure (áp lực ổ đĩa) là hai trong số những thủ phạm hàng đầu gây ra lỗi Node Not Ready. Thay vì chỉ xử lý khi sự cố đã xảy ra, một mẹo hay là hãy thiết lập giám sát (monitoring) và cảnh báo (alerting) chủ động cho các ngưỡng tài nguyên này. Việc này sẽ giúp bạn phát hiện và giải quyết vấn đề trước khi nó ảnh hưởng đến toàn bộ node.

Kiểm tra cấu hình và kết nối mạng

Bạn cần kiểm tra khả năng kết nối từ node tới control plane/API Server bằng các lệnh như ping và traceroute để phát hiện vị trí nghẽn hoặc mất kết nối trên đường mạng. Việc xác minh các cấu hình mạng (DNS, firewall, route, IP) để đảm bảo không có chặn cổng quan trọng hoặc xung đột địa chỉ IP làm control plane không thể giao tiếp ổn định với node.

Kiểm tra và khởi động lại kubelet

Bạn truy cập vào node và kiểm tra trạng thái dịch vụ kubelet bằng systemctl status kubelet để xem kubelet đang chạy, dừng hay gặp lỗi. Nếu kubelet bị lỗi hoặc không hoạt động đúng, bạn có thể khởi động lại bằng sudo systemctl restart kubelet, sau đó tiếp tục theo dõi log (journalctl -u kubelet) để đánh giá lại khả năng node trở về trạng thái Ready.

Kiểm tra và khởi động lại kube-proxy

Bạn cần xem trạng thái kube-proxy bằng các lệnh như sudo systemctl status kube-proxy hoặc kiểm tra Pod kube-proxy trong namespace kube-system với kubectl get pods -n kube-system. Khi phát hiện kube-proxy lỗi hoặc dừng, bạn cần khởi động lại bằng sudo systemctl restart kube-proxy hoặc khắc phục Pod/DaemonSet tương ứng, sau đó kiểm tra lại khả năng kết nối và trạng thái node.

Thực hiện các kiểm tra hệ thống bổ sung và khởi động lại node

Bạn cần dùng các công cụ hệ thống như top, df, netstat để rà soát thêm tài nguyên, ổ đĩa và kết nối mạng nếu log và describe chưa cho thấy rõ nguyên nhân. Trong trường hợp đã xử lý các nguyên nhân khả dĩ nhưng node vẫn NotReady, bạn có thể thử khởi động lại toàn bộ node, sau đó tiếp tục giám sát lâu dài để phát hiện các vấn đề lặp lại như memory leak hoặc lỗi cấu hình sâu hơn.

Cách khắc phục lỗi Kubernetes Node Not Ready
Cách khắc phục lỗi Kubernetes Node Not Ready

Lời khuyên dành cho bạn: Hãy xem việc khởi động lại node (reboot) là giải pháp cuối cùng và chỉ mang tính tạm thời. Nếu reboot giúp node trở lại Ready, rất có thể nguyên nhân gốc rễ (ví dụ: memory leak trong một tiến trình, lỗi kernel) vẫn còn đó và sẽ tái diễn. Sau khi khởi động lại, bạn nên dành thời gian phân tích log hệ thống và ứng dụng trong khoảng thời gian trước khi xảy ra lỗi để tìm ra và khắc phục triệt để vấn đề.

Nâng tầm hạ tầng doanh nghiệp cùng Vietnix Enterprise Cloud

Enterprise Cloud tại Vietnix là giải pháp IaaS thế hệ mới, cung cấp một cụm tài nguyên riêng biệt (CPU, RAM, Storage) trên nền tảng phần cứng hiệu năng cao AMD EPYC và 100% ổ cứng NVMe, cho phép bạn toàn quyền khởi tạo, quản lý và mở rộng Cloud Server theo nhu cầu thực tế mà vẫn đảm bảo chi phí cố định, minh bạch, không phát sinh phí ẩn. Với giao diện quản trị trực quan, tích hợp API để tự động hóa (hỗ trợ Terraform, Ansible,…), cùng khả năng triển khai nhanh các môi trường Kubernetes, Enterprise Cloud giúp đội ngũ kỹ thuật rút ngắn thời gian vận hành, tối ưu hiệu suất hệ thống và tập trung nhiều hơn cho bài toán phát triển sản phẩm, thay vì phải loay hoay với hạ tầng.​

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

Kubernetes node Not Ready do lỗi cni plugin not initialized là gì?

Đây là trường hợp node bị NotReady vì plugin mạng (CNI) chưa được cài đặt, cấu hình đầy đủ hoặc không khởi tạo thành công, khiến kubelet không thể thiết lập network cho Pod.

Vì sao Kubernetes node Not Ready liên quan đến timeout?

Node có thể bị đánh dấu NotReady khi control plane không nhận được heartbeat từ kubelet trong một khoảng thời gian vượt quá node-monitor-grace-period hoặc khi pod chịu được taint not-ready trong một thời gian tolerationSeconds nhất định.

K3s node Not Ready thường do nguyên nhân nào?

Trong K3s, node Not Ready thường đến từ lỗi CNI (flannel/cilium chưa init), thiếu tài nguyên hoặc sự cố kết nối giữa agent và server K3s.

Kubelet stopped posting node status nghĩa là gì?

Thông báo này cho thấy kubelet ngừng gửi trạng thái node lên API Server (do crash, bị kill, lỗi cấu hình hoặc mất kết nối), khiến node bị chuyển sang trạng thái Not Ready hoặc Unknown.

Kubernetes node Not Ready nhưng Pod vẫn Running có bất thường không?

Có, đây thường là tình huống node tạm thời mất kết nối với control plane: container vẫn chạy trên node nhưng trạng thái trên control plane chưa được cập nhật nên Pod có thể chạy nhưng bị đánh dấu NotReady hoặc không được quản lý chính xác.

Worker node NotReady sau khi reboot thì phải làm gì?

Sau khi reboot, nếu worker node vẫn NotReady, cần kiểm tra xem kubelet, CNI, kube-proxy đã khởi động chưa, cấu hình kubeconfig có đúng không và node có kết nối được tới API Server không.

GKE node NotReady thường liên quan đến vấn đề nào?

Trên GKE, node NotReady thường do sự cố với node pool, auto-scaling, lỗi kubelet hoặc networking; nhiều trường hợp Google sẽ tự thay node bị lỗi, nhưng bạn vẫn nên kiểm tra Events, Conditions và log node để xác định nguyên nhân.

Node controller: node is not Ready có ý nghĩa gì?

Đây là cảnh báo từ node controller cho biết node không còn đáp ứng tiêu chí Ready, từ đó scheduler sẽ ngừng lên lịch Pod mới và controller có thể tiến hành evict Pod sau timeout cấu hình.

Kubernetes Node Not Ready là một trong những lỗi quan trọng mà quản trị viên cần theo dõi sát sao, bởi nó ảnh hưởng trực tiếp đến khả năng phân phối workload và tính ổn định của hệ thống. Khi chủ động giám sát trạng thái node, xử lý kịp thời các vấn đề về tài nguyên, mạng và dịch vụ như kubelet, kube-proxy, bạn có thể giảm thiểu rủi ro downtime, đảm bảo cụm Kubernetes luôn duy trì trạng thái sẵn sàng để phục vụ ứng dụng và người dùng.

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