1. metrics-server
-
metrics-server是集群核心监控数据的聚合器,用来替换之前的heapster。
-
容器相关的metrics主要来自于kubelet内置的cadvisor服务,有了metrics-server之后,用户就可以通过标准的kubernetes API来访问到这些监控数据。
-
mestrics API只可以查询当前的度量数据,并不保存历史数据。
-
mestrics API URI为/apis/metrics.k8s.io/,在k8s.io/metrics维护。
-
必须部署metrics-server才能使用该API,metrics-server通过调用kubelet summary API获取数据。
-
metrics server并不是 kube-apiserver的一部分,而是通过aggregator 这种插件机制,在独立部署的情况下同 kube-apiserver一起统一对外服务。
-
kube-aggregator 其实就是一个根据URL选择具体的API后端的代理服务器。
- metrics-server属于core metrics(核心指标),提供APIA metrics.k8s.io,仅提供Node和Pod的CPU和内存使用情况。而其它clustom metrics(自定义制表)由prometheus等组建来完成。
托管地址:
https://github.com/kubernetes-sigs/metrics-server
下载官方的配置文件
wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml
修改镜像位置为私有仓库
当前还不能使用,需要修改其它配置
查看pod日志
这是因为没有内网的DNS服务器,所以metrics-server无法解析节点名字。可以直接修改coredns的configmap,讲各个节点的主机名加入到hosts中,这样所有Pod都可以从CoreDNS中解析各个节点的名字。
kubectl -n kube-system edit cm coredns
再查看日志出现错误2
报错2:x509: certificate signed by unknown authority
启用TLS Bootstrap 证书签发
所有节点做以下操作
[root@server2 limit]# vim /var/lib/kubelet/config.yaml
serverTLSBootstrap: true 最后一行
systemctl restart kubelet
批准证书
服务拉起