本文介绍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 |