AWS-EKS-11--安装 Kubernetes Metrics Server

摘要

安装 Kubernetes Metrics Server

  • Metrics Server是Kubernetes内置自动缩放管道的可扩展、高效的容器资源指标来源。

  • Metrics Server从Kubelets收集资源指标,并通过Metrics API在Kubernetes apiserver中公开它们,供Horizontal Pod Autoscaler和Vertical Pod Autoscaler使用。

  • 指标API也可以通过kubectl top访问,从而更容易调试自动缩放管道。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 使用以下命令部署 Metrics Server
~ kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
# 使用以下命令验证 metrics-server 部署是否运行所需数量的 Pods
~ kubectl get deployment metrics-server -n kube-system

# 查看metrics-server的资源
~ k get all -n kube-system -l k8s-app=metrics-server
NAME READY STATUS RESTARTS AGE
pod/metrics-server-55c774cdbb-6qpz8 1/1 Running 0 14h

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/metrics-server ClusterIP 10.100.231.92 <none> 443/TCP 43h

NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/metrics-server 1/1 1 1 43h

NAME DESIRED CURRENT READY AGE
replicaset.apps/metrics-server-55c774cdbb 1 1 1 43h

# 自能查看node和pod的指标
~ k top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
ip-192-168-16-155.us-west-2.compute.internal 29m 1% 544Mi 7%
ip-192-168-48-14.us-west-2.compute.internal 32m 1% 569Mi 8%

~ k top pod
NAMESPACE NAME CPU(cores) MEMORY(bytes)
kube-system aws-node-fzh9v 3m 36Mi
kube-system aws-node-t62f8 3m 36Mi