Metrics Server là gì? Cách hoạt động và cài đặt trong Kubernetes
03/08/2026Khi workload tăng giảm liên tục, doanh nghiệp cần nắm được mức sử dụng CPU, bộ nhớ để tránh thiếu tài nguyên hoặc cấp phát dư thừa. Metrics Server hỗ trợ Kubernetes thu thập các chỉ số cần thiết cho hoạt động kiểm tra và autoscaling trong cluster. Cùng Viettel IDC tìm hiểu Metrics Server là gì, cách hoạt động, trường hợp sử dụng và quy trình cài đặt chi tiết.
Metrics Server là gì?
Metrics Server là công cụ thu thập các chỉ số sử dụng tài nguyên trong Kubernetes, chủ yếu gồm CPU và bộ nhớ của node, Pod và container. Các số liệu được lấy từ kubelet trên từng node, sau đó tổng hợp và cung cấp thông qua Metrics API Kubernetes.
Khác với nền tảng giám sát chuyên sâu, Metrics Server trong Kubernetes chỉ phản ánh mức tiêu thụ tài nguyên gần thời điểm hiện tại, không lưu trữ lịch sử dài hạn. Phạm vi của công cụ tập trung vào resource metrics Kubernetes, thay vì các chỉ số ứng dụng như lưu lượng truy cập, độ trễ hay tỷ lệ lỗi.
Đặc điểm chính của Kubernetes Metrics Server
- Triển khai đơn giản: Chỉ cần một Deployment và có thể hoạt động trên phần lớn cluster đáp ứng yêu cầu cấu hình.
- Thu thập nhanh: Hỗ trợ autoscaling với chu kỳ cập nhật metrics khoảng 15 giây.
- Tiết kiệm tài nguyên: Tiêu thụ khoảng 1 millicore CPU và 2 MB bộ nhớ cho mỗi node trong cluster.
- Khả năng mở rộng cao: Có thể hỗ trợ các cluster quy mô lên đến khoảng 5.000 node.
Metrics Server dùng để làm gì trong Kubernetes?
Metrics Server k8s cung cấp các chỉ số CPU và bộ nhớ gần thời điểm hiện tại để Kubernetes theo dõi mức tiêu thụ tài nguyên của node, Pod và container. Những số liệu này được khai thác trong quá trình kiểm tra trạng thái cluster và tự động điều chỉnh workload theo nhu cầu thực tế.
Các chức năng của Metrics Server gồm:
- Cung cấp dữ liệu cho kubectl top nodes và kubectl top pods, giúp quản trị viên kiểm tra nhanh lượng CPU, memory đang được sử dụng.
- Hỗ trợ Horizontal Pod Autoscaler tính toán số lượng Pod cần tăng hoặc giảm dựa trên mức sử dụng tài nguyên.
- Bổ sung nguồn metrics cho Vertical Pod Autoscaler khi phân tích và đề xuất CPU, memory phù hợp cho container.
- Đưa resource metrics vào Kubernetes API thông qua nhóm metrics.k8s.io để các controller và công cụ khác có thể truy vấn.
Metrics Server hoạt động như thế nào?
Metrics Server hoạt động bằng cách định kỳ kết nối đến kubelet trên từng node để lấy số liệu sử dụng CPU và bộ nhớ của node, Pod cùng container. Các chỉ số sau đó được tổng hợp, lưu tạm trong bộ nhớ và cung cấp qua nhóm API metrics.k8s.io, giúp Kubernetes truy vấn dữ liệu tài nguyên gần thời điểm hiện tại mà không cần xây dựng kho lưu trữ dài hạn.
Cách hoạt động của Metrics Server diễn ra theo quy trình:
- Thu thập dữ liệu: Metrics Server truy vấn kubelet trên từng node theo chu kỳ khoảng 15 giây để lấy CPU memory metrics Kubernetes.
- Tổng hợp chỉ số: Số liệu được phân loại theo node, Pod và container trước khi chuẩn hóa về định dạng thống nhất.
- Lưu trữ tạm thời: Thông tin được giữ trong bộ nhớ RAM của Metrics Server, không ghi vào cơ sở dữ liệu dài hạn.
- Cung cấp qua API: Metrics Server đăng ký nhóm metrics.k8s.io với Kubernetes API Server.
- Phản hồi yêu cầu: Khi kubectl top, HPA hoặc VPA cần dữ liệu, API Server sẽ truy vấn Metrics Server và trả về kết quả tương ứng.
Khi nào nên sử dụng và không nên sử dụng Metrics Server K8s?
Metrics Server k8s phù hợp khi cluster cần theo dõi nhanh mức sử dụng CPU, bộ nhớ hoặc triển khai autoscaling dựa trên hai nhóm tài nguyên này. Ngược lại, công cụ không đáp ứng tốt các nhu cầu ngoài Kubernetes, yêu cầu số liệu có độ chính xác cao, lưu trữ lịch sử dài hạn hay mở rộng workload theo chỉ số tùy chỉnh.
Hướng dẫn cài đặt Metrics Server trong Kubernetes
Cài đặt Metrics Server trong Kubernetes khá đơn giản, nhưng cluster cần bật API Aggregation Layer và cho phép Metrics Server kết nối đến kubelet trên các node. Trước khi triển khai, quản trị viên cũng nên kiểm tra phiên bản Kubernetes để lựa chọn bản Metrics Server tương thích, tránh lỗi API hoặc chứng chỉ trong quá trình vận hành.
Bước 1: Kiểm tra cài đặt Metrics Server
Một số nền tảng Kubernetes được quản lý có thể tích hợp sẵn Metrics Server. Trước tiên, hãy kiểm tra Deployment trong namespace kube-system:
Có thể thử thêm lệnh sau:
Nếu hệ thống trả về danh sách node cùng mức sử dụng CPU và memory, Metrics Server đã hoạt động. Ngược lại, thông báo như Metrics API not available thường cho thấy thành phần này chưa được cài đặt hoặc chưa sẵn sàng.
Bước 2: Triển khai manifest chính thức
Chạy lệnh sau để tải và áp dụng manifest của phiên bản Metrics Server mới nhất:
Manifest sẽ tạo các tài nguyên cần thiết như ServiceAccount, ClusterRole, Deployment, Service và APIService trong cluster. Metrics Server hiện có thể được triển khai trực tiếp bằng YAML manifest hoặc thông qua Helm chart chính thức.
Bước 3: Kiểm tra Pod và Deployment
Sau khi áp dụng manifest, kiểm tra trạng thái triển khai:
Tiếp tục kiểm tra Pod:
Pod cần chuyển sang trạng thái Running và cột READY hiển thị đầy đủ container sẵn sàng. Có thể theo dõi quá trình rollout bằng lệnh:
Bước 4: Kiểm tra Metrics API Kubernetes
Metrics Server đăng ký APIService thuộc nhóm metrics.k8s.io. Dùng lệnh sau để kiểm tra:
Nếu quá trình cài đặt thành công, cột AVAILABLE sẽ hiển thị True. Khi trạng thái vẫn là False, hãy xem thông tin chi tiết:
Ngoài ra, có thể truy vấn trực tiếp resource metrics Kubernetes qua API:
Bước 5: Xác nhận bằng lệnh kubectl top
Khi Pod và APIService đã sẵn sàng, kiểm tra tài nguyên của các node:
Để xem CPU và bộ nhớ của Pod trong namespace hiện tại, chạy:
Hoặc kiểm tra toàn bộ Pod trong cluster:
Metrics Server có thể cần một khoảng thời gian ngắn để thu thập số liệu sau khi vừa được triển khai. Vì vậy, nếu lệnh kubectl top chưa trả về kết quả ngay, hãy chờ một vài chu kỳ cập nhật rồi kiểm tra lại.
Bước 6: Kiểm tra log khi cài đặt gặp lỗi
Nếu Pod không chuyển sang trạng thái Running hoặc Metrics API chưa khả dụng, hãy xem log bằng lệnh:
Các lỗi thường liên quan đến kết nối giữa Metrics Server và kubelet, chứng chỉ TLS, địa chỉ node hoặc cấu hình API Aggregation Layer. Trong môi trường thử nghiệm sử dụng chứng chỉ kubelet tự ký, tùy chọn --kubelet-insecure-tls có thể giúp bỏ qua bước xác minh TLS, nhưng không nên xem đây là cấu hình mặc định cho môi trường production.
Kết luận
Hiểu rõ Metrics Server là gì giúp doanh nghiệp khai thác hiệu quả các chỉ số CPU, bộ nhớ và xây dựng cơ chế autoscaling phù hợp cho cụm Kubernetes. Khi được triển khai đúng cách, Metrics Server hỗ trợ đội ngũ vận hành theo dõi tài nguyên nhanh hơn, tối ưu workload và duy trì khả năng đáp ứng trước những biến động về tải.
Với những hệ thống cần khai thác Metrics Server, HPA và các cơ chế quản lý tài nguyên ngay từ đầu, Viettel Dedicated Kubernetes Service (vDKS) cung cấp một môi trường Kubernetes sẵn sàng cho nhu cầu vận hành thực tế. Doanh nghiệp có thể tập trung vào cấu hình workload, autoscaling và hiệu suất ứng dụng thay vì phải xử lý toàn bộ lớp hạ tầng nền, từ khởi tạo cluster đến quản trị tập trung.
Thông tin chi tiết: https://viettelidc.com.vn/viettel-kubernetes-service
Để được hỗ trợ tư vấn và tìm hiểu các dịch vụ của Viettel, bạn có thể liên hệ trực tiếp tới Viettel IDC qua các kênh:
- Hotline: 1800 8088 (miễn phí cước gọi)
- Fanpage: https://www.facebook.com/viettelidc
Tin liên quan
Lỗi msvcr100.dll là gì? Hướng dẫn cách sửa lỗi msvcr100 dll nhanh chóng
Lỗi msvcr100.dll khiến phần mềm không khởi chạy trên Windows. Xem hướng dẫn khắc phục từng bước để bổ sung thư viện còn thiếu và sửa chữa chương trình bị lỗi.
Top 20 các extension visual studio code hữu ích cho lập trình viên
Các extension Visual Studio Code hữu ích mở rộng khả năng của trình soạn thảo, giúp lập trình viên tối ưu môi trường làm việc và nâng cao hiệu quả viết mã.
Bridge là gì? Cách hoạt động và ứng dụng trong mạng LAN
Bridge là gì? Cầu nối mạng hoạt động dựa trên địa chỉ MAC để kết nối các phân đoạn LAN, kiểm soát luồng dữ liệu và hỗ trợ triển khai mạng vật lý lẫn mạng ảo.
Lỗi Blocked due to other 4xx issue là gì? Nguyên nhân và cách fix lỗi
Lỗi Blocked due to other 4xx issue khiến Google không lập chỉ mục URL, cần xác định đúng mã HTTP và nguyên nhân để khắc phục hiệu quả trong Search Console.
Test case là gì? Cách viết test case và mẫu minh họa cho người mới
Test case là gì và làm sao để viết rõ ràng, đúng yêu cầu? Nắm vững cách xây dựng trường hợp kiểm thử qua ví dụ cụ thể để phát hiện sai lệch trong hoạt động phần mềm.
AI Inference là gì? Cơ chế và vai trò trong vận hành AI
AI inference là gì? Cách mô hình AI tạo kết quả sau huấn luyện, phân biệt với AI training, các hình thức triển khai và ứng dụng thực tế trong doanh nghiệp.
DBeaver là gì? Hướng dẫn cài đặt và kết nối cơ sở dữ liệu với DBeaver
DBeaver là gì? Khám phá tính năng quản lý cơ sở dữ liệu, các phiên bản miễn phí và trả phí cùng hướng dẫn cài đặt, kết nối, chạy truy vấn SQL cho người mới.
Cách thay đổi mật khẩu máy tính trên Windows 10, 11 đơn giản
Cách thay đổi mật khẩu máy tính trên Windows 10, 11 qua Settings, Control Panel, CMD và các công cụ quản trị được hướng dẫn chi tiết theo từng bước dễ thực hiện.
Microsoft Management Console là gì? Cách sử dụng MMC cho người mới
Microsoft Management Console là gì? Đây là nền tảng tập hợp các công cụ quản trị Windows, hỗ trợ quản lý hệ thống, thêm snap-in và lưu console theo nhu cầu sử dụng.
Rủi ro khi sử dụng giả lập online và cách phòng tránh
Rủi ro khi sử dụng giả lập online có thể gây lộ dữ liệu, mất quyền kiểm soát tài khoản, lừa đảo trực tuyến, vi phạm chính sách game, gián đoạn thao tác và phát sinh chi phí.
Bình luận ()