Kubernetes Metrics Server
- Metrics-server原理介绍
- Metrics-server安装
- 编辑metrics-server-deployment.yaml
- 发布命令
- Kubernetes-dashboard
Metrics-server原理介绍
启动metrics server组件之后:
#可以使用下面命令查看pod资源使用情况。
kubectl top po
#可以使用下面命令查看node资源使用情况。
kubectl top no
metrics-server是K8S所支持的一个监控度量组件,目前metrics-server还不是K8S的正式组件,需要作为Add-on单独启用。
启用之后,metrics-server可以通过cAdvisor,kubelet等组件定期去抓取pod, node上的资源,使用的metrics。并且通过metrics API 暴露这些metrics,然后我们就可以通过kubectl访问这些metrics。
另外,K8S所支持的HPA(POD自动伸缩功能)也依赖于metrics API。
除了metrics-server之外,业界用于K8S监控的主流方案是Prometheus。
Metrics-server安装
Github地址:https://github.com/kubernetes-sigs/metrics-server
从Github下载metrics-server的文件,并且阅读Readme文档。
下载好的目录文件,进入目录deploy。
cd deploy/1.8+
ls
目录内所有文件都需要发布。
编辑metrics-server-deployment.yaml
找到metrics-server-deployment.yaml文件。
默认metrics-server在抓metrics的时候是有安全限制的,我们要暂时把安全限制放开。
如果不禁用安全限制,在本地环境会抓不到metrics。
编辑该文件。
containers下面,imagePullPolicy下面,与imagePullPolicy同级,加上command:
command:- /metrics-server- --kubelet-insecure-tls
找到文件中,imagePullPolicy: Always, 这个表示,yaml文件始终到dockerhub中去抓取镜像。这样会比较慢,如果本地有缓存,可以注释掉该行。
发布命令
在metrics-server-deployment.yaml所在目录执行。
kubectl apply -f .
metrics-server是发布到kube-system命名空间下面。可以看到多了一个metrics-server的pod。
kubectl get po -n kube-system
运行资源查询命令。metrics-server刚刚安装还没有收集节点数据,需要等待一段时间。
kubectl top no
发布一个微服务应用,再查看pod资源。
kubectl top po
Kubernetes-dashboard
查看kubernetes-dashboard namespace。
kubectl get ns
登录kubernetes-dashboard需要token,获取token。先找到kubernetes-dashboard命名空间下的token。
kubectl get secret -n kubernetes-dashboard
查看详情。可以看到token。
kubectl describe secret kubenetes-dashboard-token-******* -n kubernetes-dashboard
仅复制token。
启动Kubernetes dashboard。查看github readme。
Github地址:https://github.com/kubernetes/dashboard
kubectl proxy
粘贴token登录。