通过 Metrics Server 查看 Kubernetes 资源指标
对于 Kubernetes,Metrics API 提供了一组基本的指标,以支持自动伸缩和类似的用例。 该 API 提供有关节点和 Pod 的资源使用情况的信息, 包括 CPU 和内存的指标。
安装 Metrics Server
添加 metrics-server 仓库
helm repo add metrics-server https://kubernetes-sigs.github.io/metrics-server/
helm repo update
生成 values.yaml
helm show values metrics-server/metrics-server > values.yaml
修改 values.yaml
# metrics-server/values.yaml
defaultArgs:
- --cert-dir=/tmp
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
- --kubelet-use-node-status-port
- --metric-resolution=15s
- --kubelet-insecure-tls # 添加这行
如果想查看将要部署的资源清单,可以执行以下命令
helm template metrics-server metrics-server/metrics-server -n kube-system -f values.yaml > metrics-server.yaml
安装 metrics-server
helm install metrics-server metrics-server/metrics-server -n kube-system -f values.yaml
查看 metrics-server 服务状态
kubectl get pod -n kube-system | grep metrics-server
# metrics-server-5dbc5555f5-mwhnz 1/1 Running 0 4m14s
检查 API Server 是否可以连通 Metrics Server
kubectl describe svc metrics-server -n kube-system
查看度量指标
kubectl top nodes
# NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
# k8s-master 617m 15% 1921Mi 12%
kubectl top pods
# NAME CPU(cores) MEMORY(bytes)
# whoami-577f459d99-4nxcg 0m 2Mi
# whoami-577f459d99-g4bbw 0m 1Mi
Dashboard
在 Dashboard 上,也可以看到相关度量指标了
参考: