Blog chia sẻ về công nghệ ...
Published on

Cài đặt Metrics Server trong Kubernetes (K8s)

Authors

Cài đặt Metrics Server trong Kubernete

Kubernetes (K8s) Metrics Server là một thành phần trong cụm Kubernetes có nhiệm vụ thu thập và tổng hợp dữ liệu về tài nguyên (như CPU và RAM) từ các nodepod. Dữ liệu này hỗ trợ việc:

  • Giám sát và tối ưu hóa sử dụng tài nguyên
  • Phát hiện sự cố tiềm ẩn
  • Nâng cao hiệu suất toàn cụm

Metrics Server cung cấp một API endpoint để các công cụ khác truy vấn và hiển thị dữ liệu tài nguyên.


📑 Mục Lục

  1. Yêu cầu hệ thống
  2. Bước 1: Tải xuống Metrics Server Manifest
  3. Bước 2: Chỉnh sửa file YAML của Metrics Server
  4. Bước 3: Triển khai Metrics Server
  5. Bước 4: Kiểm tra Metrics Server đã triển khai
  6. Bước 5: Kiểm tra hoạt động Metrics Server

🧰 Yêu Cầu Hệ Thống

  • Một cụm Kubernetes (phiên bản v1.21 trở lên) đang hoạt động
  • Đã cài đặt công cụ dòng lệnh kubectl và kết nối với cụm
  • Có quyền tạo và chỉnh sửa tài nguyên Kubernetes

⬇️ Bước 1: Tải Xuống Metrics Server Manifest

Tải file components.yaml mới nhất từ GitHub chính thức của Metrics Server:

curl -LO https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

👉 Nếu bạn cần chế độ High Availability (HA):

curl -LO https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/high-availability-1.21+.yaml

✏️ Bước 2: Chỉnh Sửa File YAML Của Metrics Server

Mở file YAML để chỉnh sửa:

vi components.yaml

Tìm phần container có args: và thêm dòng:

- --kubelet-insecure-tls
kube-apiserver

Dòng này cho phép Metrics Server kết nối với kubelet không cần xác thực TLS (thường dùng khi kubelet chưa cấu hình CA đúng cách).

Sau đó, thêm cấu hình hostNetwork: true vào phần spec để container có thể sử dụng mạng của node:

spec:
  hostNetwork: true

Lưu file và thoát.


🚀 Bước 3: Triển Khai Metrics Server

Dùng kubectl để triển khai Metrics Server:

kubectl apply -f components.yaml

Lệnh này sẽ tạo ra các tài nguyên (Deployment, Service, RBAC…) trong cụm.


🔍 Bước 4: Kiểm Tra Metrics Server Đã Triển Khai

Kiểm tra trạng thái của các pod trong namespace kube-system:

kubectl get pods -n kube-system

Bạn sẽ thấy một pod có tên metrics-server-xxxxx đang ở trạng thái Running nếu triển khai thành công.


📊 Bước 5: Kiểm Tra Hoạt Động Metrics Server

Kiểm tra tài nguyên sử dụng của các node:

kubectl top nodes

Bạn sẽ thấy thông tin CPU và RAM đang được sử dụng cho từng node.

Kiểm tra tài nguyên các pod:

kubectl top pod

Hoặc cụ thể namespace (ví dụ kube-system):

kubectl top pod -n kube-system
kube-apiserver

Nếu bạn thấy các số liệu xuất hiện → Metrics Server hoạt động bình thường ✅


✅ Tổng Kết

Sau khi hoàn tất 5 bước trên, bạn đã cài đặt thành công Metrics Server để:

  • Giám sát tài nguyên trong cụm
  • Kết hợp với HPA (Horizontal Pod Autoscaler)
  • Nâng cao năng lực quản lý Kubernetes

Nếu bạn gặp khó khăn trong quá trình triển khai, hãy để lại câu hỏi để được hỗ trợ thêm!