写在最前

由于 Kubernetes 需要根据资源使用情况实现自动扩缩容(HPA/VPA),因此我们需要部署其资源监控组件 metrics-server,用于采集和汇总各节点及 Pod 的实时指标数据。

https://github.com/kubernetes-sigs/metrics-server

1. docker 部署

2. kubernetes 部署

可以通过 YAML 清单或官方Helm chart将 Metrics Server 直接安装为高可用性模式,只需将值设置replicas为大于1即可。要从high-availability.yaml清单以高可用性模式安装最新 Metrics Server 版本 ,请运行以下命令。

# 在 Kubernetes v1.21+ 版本中:
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/high-availability-1.21+.yaml

# 在 Kubernetes v1.19-1.21 版本上:
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/high-availability.yaml

# 测试
bash-5.1# kubectl top nodes
NAME         CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
hyemvuka01   404m         5%     8500Mi          26%
hyemvuka02   756m         9%     14391Mi         44%
hyemvuka03   639m         7%     20206Mi         62%
bash-5.1# kubectl top pod -A
NAMESPACE                      NAME                                                      CPU(cores)   MEMORY(bytes)
argocd                         devops-argocd-application-controller-0                    1m           30Mi
argocd                         devops-argocd-applicationset-controller-b7588c8b4-v4gv7   1m           23Mi
argocd                         devops-argocd-dex-server-6bb854d49b-m794p                 1m           24Mi
............

在 KubeSphere 中启用 metrics-server,通过编辑 ClusterConfiguration 中的 ks-installer 配置项进行设置。

metrics_server:
  enabled: true

写在最后