本文介绍kubernetes中部署一套MetricServer服务的方法
更新于 2021-08-21
metrics-server介绍
metrics-server是一个集群内的性能监控服务,可以用来在集群范围可以进行资源使用状况信息的收集,它通过Kubelet收集在各个节点上提供的指标信息。很多功能例如自动扩缩容都依赖它。
前提条件
kube-apiserver需要设置如下的参数:
1 | --requestheader-client-ca-file=/opt/kubernetes/cert/ca.pem |
--requestheader-XXX、--proxy-client-XXX是kube-apiserver的aggregator layer相关的配置参数,metrics-server & HPA 需要使用;--requestheader-client-ca-file:用于签名--proxy-client-cert-file和--proxy-client-key-file指定的证书;在启用了metric aggregator时使用;- 如果
--requestheader-allowed-names不为空,则--proxy-client-cert-file证书的 CN 必须位于allowed-names中,默认为 aggregator,这里让其匹配所有名称;
如果是kubeadm部署,默认已经添加了
yaml文件准备
可以从官方获取,地址为:metrics-server,或者使用下面的yaml文件:
1 | apiVersion: v1 |
1 | apiVersion: apiregistration.k8s.io/v1beta1 |
1 | apiVersion: v1 |
1 | apiVersion: v1 |
部署
将上述yaml文件准备好,直接执行下面的命令进行部署:
1 | $ kubectl apply -f metric-rbac.yaml |
检查
部署完成后检查并校验是否能够正常工作:
1 | $ kubectl get all -n kube-system | grep metrics |






