k8s可视化监控Weave Scope
背景:假如你的k8s环境中运行的容器较多,单靠可视化插件kubernetes-dashboard来观察总是有些不尽人意,毕竟kubernetes-dashboard用来做可视化也是捉襟见肘的。加上我最近一直在学习helm的使用方式,(就是想多找几个项目练习一下对helm的使用熟练度)然后在github的海洋中翻来覆去,飘来飘去,找到了Weave Scope这个项目,觉得很有意思,接下来部署Weave Scope
参考链接:
https://github.com/weaveworks/scope
组件功能解析:
Weave Scope 可以监控k8s集群中一系列资源的状态,扩缩容,拓扑图,资源使用率,Describe,exec等众多操作,并且都是在web终端完成的
Weave Scope提供的功能如下:
- 过滤/搜索功能
- 容器排错功能
- 实时监控功能
- 拓扑界面
- 图形或者表格展示功能
组成模式:
Weave Scope由frontend-weave和cluster-agent-weave组成:
- frontend-weave负责处理来自cluster-agent-weave获取的信息,生成可视化拓扑界面
- cluster-agent-weave负责收集容器/宿主机的信息,并传送给frontend-weave(cluster-agent-weave收集的是每台node节点,所以这里是ds控制器)
helm部署:
# 添加Weave Scope的repo源
helm repo add stable https://kubernetes-charts.storage.googleapis.com
# 将Weave Scope pull到本地进行修改
helm pull stable/weave-scope --untar
# 我这里使用的是ingress进行访问的,因此,当你看到这篇文章的时候要保证你的集群里安装了nginx-ingress-controller或者traefik,如果没有安装可以把Service改为NodePort
# 配置文件下载: http://nextcloud.k8s.fit/s/iD6MXTyZPRiYTnW
# 安装:
helm install weave -f values.yaml ./
# 查看是否正常运行
[root@k8s-master weave-scope]# kubectl get pod
NAME READY STATUS RESTARTS AGE
weave-scope-agent-weave-747z4 1/1 Running 0 61m
weave-scope-agent-weave-jjq59 1/1 Running 0 61m
weave-scope-agent-weave-nx7sw 1/1 Running 0 61m
weave-scope-cluster-agent-weave-7db5f4d9d-b8pdg 1/1 Running 0 61m
weave-scope-frontend-weave-566d9cb79b-wv4cn 1/1 Running 0 61m
使用Weave Scope
配置好本地的hosts文件解析,浏览器打开http://weave.k8s.fit/
简单举个使用例子:
-
图表模式:
-
表格模式:
-
日志模式:
-
Exec shell:
-
扩缩容模式:
总结:
对于Docker或者Kubernetes而言Weave Scope是一款非常优秀的可视化工具,在拓扑图中实时显示查看你的应用程序。第一次使用会有摸不着头脑的感觉,多折腾几次就明白Weave Scope的基本操作了。