一、简介
Metrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster
容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor 服务,有了Metrics-Server之后,用户就可以通过标准的 Kubernetes API 来访问到这些监控数据。
• Metrics API 只可以查询当前的度量数据,并不保存历史数据。
• Metrics API URI 为 /apis/metrics.k8s.io/,在 k8s.io/metrics 维护。
• 必须部署 metrics-server 才能使用该 API,metrics-server 通过调用 Kubelet SummaryAPI 获取数据。
Metrics Server 并不是 kube-apiserver 的一部分,而是通过 Aggregator 这种插件
机制,在独立部署的情况下同 kube-apiserver 一起统一对外服务的。
• kube-aggregator 其实就是一个根据 URL 选择具体的 API 后端的代理服务器。
Metrics-server属于Core metrics(核心指标),提供API metrics.k8s.io,仅提供Node和Pod的
CPU和内存使用情况。而其他Custom Metrics(自定义指标)由Prometheus等组件来完成
二、部署Metrics-server
更改components.yaml文件中的镜像信息后pod部署成功
部署后查看Metrics-server的Pod日志:
错误1
这是因为没有内网的DNS服务器,所以metrics-server无法解析节点名字。可以直接修改
coredns的configmap,讲各个节点的主机名加入到hosts中,这样所有Pod都可以CoreDNS中解析各个节点的名字。
错误2:
启用TLS Bootstrap 证书签发
在文件/var/lib/kubelet/config.yaml最后一行加上
其他节点做同样的操作
三、Dashboard部署
Dashboard可以给用户提供一个可视化的 Web 界面来查看当前集群的各种信息。用户可以
用 Kubernetes Dashboard 部署容器化的应用、监控应用的状态、执行故障排查任务以及管
理 Kubernetes 各种资源。
下载部署文件:
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.3/aio/deploy/recommended.yaml