Metrics-Server V0.3.6 部署与应用
一、Metrics-Server的部署
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 Summary API 获取数据。
示例:
http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/nodes
http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/nodes/<node-name>
http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/namespace/<namespace-name>/pods/<pod-name>
- 1
- 2
- 3
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等组件来完成。
资源下载:https://github.com/kubernetes-incubator/metrics-server
Metrics-server(v0.3.6)部署:
下载部署文件:
[root@server1 limit]# wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml
- 1
编辑部署文件,主要更改镜像:
[root@server1 limit]# vim components.yaml
- 1
可以先下载镜像放到私有仓库。
应用部署文件:
[root@server1 limit]# kubectl apply -f components.yaml
[root@server1 limit]# kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-7ff77c879f-8gzr5 1/1 Running 19 21d
coredns-7ff77c879f-dxst6 1/1 Running 18 21d
etcd-server1 1/1 Running 19 21d
kube-apiserver-server1 1/1 Running 19 21d
kube-controller-manager-server1 1/1 Running 56 21d
kube-flannel-ds-amd64-8bj5x 1/1 Running 2 5h49m
kube-flannel-ds-amd64-qwk6c 1/1 Running 28 21d
kube-flannel-