Mark Ku's Blog

前言

在 Kubernetes 中,Metrics Server 是一個重要的組件,它提供集群資源使用情況的即時度量數據。這些度量數據對於管理和調整 Pod、節點資源的使用情況至關重要。本文將介紹如何安裝、配置以及查看 Metrics Server 的數據。

Kubernetes 主要有兩種 Metrics

  • 核心指標 (Core metrics):在 Kubelet、cAdvisor 獲取相關數據,再由metrics-server提供给給橫向展展控制器 HPA 及其他服務使用。
  • 自定義指標 (Custom Metrics):Prometheus蒐集到的數據指標。

1. 安裝 Metrics Server

首先,我們需要安裝 Metrics Server。它的安裝配置非常簡單,可以直接通過 Kubernetes 的 YAML 文件進行部署。請運行以下命令來下載並應用最新版本的 Metrics Server 部署配置:

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

這會自動從 GitHub 下載最新的 metrics-server 配置並部署到你的 Kubernetes 集群中。

2. 配置默認編輯器為 vim

在 Kubernetes 中,對於某些命令(例如 kubectl edit)會使用預設編輯器進行編輯。如果你習慣使用 vim,可以設置 KUBE_EDITOR 環境變數來更改默認編輯器。運行以下命令來設置:

export KUBE_EDITOR=vim

這樣,每次執行 kubectl edit 命令時,系統就會自動啟動 vim 來進行編輯。

3. 檢查 Metrics Server 的運行狀態

安裝並部署完 Metrics Server 後,可以通過以下命令來檢查其運行狀態:

查看 Metrics Server 的日誌:

kubectl logs -n kube-system -l k8s-app=metrics-server

這會顯示 metrics-server 的日誌,讓你檢查它是否成功啟動並正常運行。

查看集群資源使用情況:

kubectl top po -A

這條命令會顯示所有命名空間中 Pod 的資源使用情況,包括 CPU 和內存的使用量。這有助於你了解集群的整體資源消耗。

4. 修改 Metrics Server 配置

有時候,你可能需要修改 metrics-server 的配置,例如調整資源限制或修改其他參數。你可以使用以下命令來編輯 Metrics Server 的 Deployment:

kubectl edit deployment -n kube-system metrics-server

這會打開一個編輯器,你可以根據需要修改 YAML 配置,

在 args 裡加上一欄

- --kubelet-insecure-tls

加入檢查憑證的設定

spec:
  containers:
  - args:
    - --cert-dir=/tmp
    - --secure-port=4443
    - --kubelet-insecure-tls
    - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
    - --kubelet-use-node-status-port
    image: k8s.gcr.io/metrics-server/metrics-server:v0.4.1
    imagePullPolicy: IfNotPresent

更新後,重啟metrics,並確認部署狀態

使用以下命令來確保修改已經應用並且沒有錯誤

kubectl rollout status deployment metrics-server -n kube-system

這將顯示 metrics-server 的滾動更新狀態,當所有的 Pod 成功更新後,顯示 "deployment "metrics-server" successfully rolled out"。

檢查 metrics-server 狀態

kubectl get pods -n kube-system -l k8s-app=metrics-server

測試

kubectl top get nodes
kubectl top get pods
kubectl top command
kubectl top command

總結

Metrics Server 是 Kubernetes 中非常有用的一個組件,能夠幫助你更好地管理集群中的資源使用情況。通過本文,你學會了如何安裝、配置和使用 Metrics Server,以及如何查看和修改它的部署配置。希望這些操作能夠幫助你更高效地管理 Kubernetes 集群中的資源。

作者

Mark Ku

擁有 10+ 年經驗的資深軟體工程師,現為 AI 應用 Builder,專注於大型平台架構與簡化複雜系統設計,從電商系統到訂閱與收費平台,結合 AI Agent、AI 整合與自動化開發,打造高效率且可持續演進的產品技術基礎。閱讀更多

覺得這篇有幫助?

作者做的免費工具、每日 Podcast 與電子報,都在這裡。

Mark Ku · 本文採用 CC BY 4.0 授權,轉載請註明作者並附上原文連結。

留言

訂閱電子報

訂閱後即時收到新文章通知,不錯過任何技術分享。

提交即表示同意接收電子報,隨時可

熱門文章

View all
Mark Ku
··604

Oracle Cloud 永久免費方案 Linux 主機及固定 IP :0 元打造雲端解決方案

Oracle Cloud 永久免費方案 Linux 主機及固定 IP :0 元打造雲端解決方案
Mark Ku
··471

告別 Postman 收費陷阱!開源 Git 原生 API 測試神器 Bruno 實戰指南

告別 Postman 收費陷阱!開源 Git 原生 API 測試神器 Bruno 實戰指南
Mark Ku
··329

一款免費開源類似於 Notion 類知識庫系統 — Outline Wiki 佈署與備份全攻略

一款免費開源類似於 Notion 類知識庫系統 — Outline Wiki 佈署與備份全攻略
Mark Ku
··240

打造高效 API 管理平台:從 0 開始部署 Kong Gateway - Part 1

打造高效 API 管理平台:從 0 開始部署 Kong Gateway - Part 1
Mark Ku
··235

訓練自己的 AI 語音:硬體門檻、開源模型比較與 LoRA 微調

訓練自己的 AI 語音:硬體門檻、開源模型比較與 LoRA 微調
Mark Ku
··216

在 Ubuntu 上設置 Samba 來共享資料夾,讓 Windows 11 用戶可以存取

在 Ubuntu 上設置 Samba 來共享資料夾,讓 Windows 11 用戶可以存取