k8s可视化监控Weave Scope

k8s可视化监控Weave Scope

背景:假如你的k8s环境中运行的容器较多,单靠可视化插件kubernetes-dashboard来观察总是有些不尽人意,毕竟kubernetes-dashboard用来做可视化也是捉襟见肘的。加上我最近一直在学习helm的使用方式,(就是想多找几个项目练习一下对helm的使用熟练度)然后在github的海洋中翻来覆去,飘来飘去,找到了Weave Scope这个项目,觉得很有意思,接下来部署Weave Scope

参考链接:

https://github.com/weaveworks/scope

https://www.weave.works/docs/

组件功能解析:

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/
简单举个使用例子:

  • 图表模式:


    image
  • 表格模式:


    image
  • 日志模式:


    image
  • Exec shell:


    image
  • 扩缩容模式:


    image

总结:

对于Docker或者Kubernetes而言Weave Scope是一款非常优秀的可视化工具,在拓扑图中实时显示查看你的应用程序。第一次使用会有摸不着头脑的感觉,多折腾几次就明白Weave Scope的基本操作了。

你可能感兴趣的:(k8s可视化监控Weave Scope)