linux运维、架构之路-K8s集群监控工具Weave Scope

一、Weave Scope介绍

    Weave Scope可以监控Kubernetes集群的一系列资源的状态、资源使用情况、应用拓扑、还可以直接通过UI界面进行调式查看日志等操作。

github开源项目地址: https://github.com/weaveworks/scope

1、Weave Scope组成

  • Probe负责收集容器和宿主的信息,并发送给App
  • App负责处理这些信息,并生成相应的报告,并以交互界面的形式展示

2、特点

  • 实时了解您的Docker容器
  • 选择您的容器基础架构的概述,或专注于特定的微服务。轻松识别并纠正问题,以确保容器化应用程序的稳定性和性能。
  • 上下文细节和深层链接
  • 查看容器的上下文指标,标签和元数据。毫不费力地在容器内部的进程之间导航,以托管运行在可扩展,可排序表中的容器。对于给定的主机或服务,使用最多CPU或内存的容器即可轻松找到该容器。
  • 与容器交互和管理
  • 直接与您的容器进行交互:暂停,重新启动和停止容器。启动命令行。所有这些都无需离开示波器浏览器窗口。
  • 通过插件扩展和自定义
  • 通过创建范围插件,为主机,容器和/或进程添加自定义详细信息或交互。

二、部署Weave Scope

1、安装

kubectl apply -f "https://cloud.weave.works/k8s/scope.yaml?k8s-version=$(kubectl version | base64 | tr -d '\n')"

2、查看资源

[root@k8s-node1 ~]# kubectl get deployments.apps,daemonset,svc -n weave
NAME                                        READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/weave-scope-app             1/1     1            1           64m
deployment.apps/weave-scope-cluster-agent   1/1     1            1           64m

NAME                               DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/weave-scope-agent   3         3         3       3            3           <none>          64m

NAME                      TYPE       CLUSTER-IP   EXTERNAL-IP   PORT(S)       AGE
service/weave-scope-app   NodePort   10.0.0.61    <none>        80:9000/TCP   64m
  • DaemonSet weave-scope-agent 集群每个节点上都会运行的scope agent程序,负责收集数据
  • Deployment weave-scope-app scope应用,从agent获取数据,通过Web UI展示并与用户交互
  • Service weave-scope-app 默认是ClusterIP类型 (我这里提供nodeport和traefik)
  • 创建完毕后,目前我们无法直接访问,默认的svc类型为ClusterIP,这里我提供2种方式

3、修改成nodePort方式访问

kubectl edit service -n weave  weave-scope-app

 验证:

[root@k8s-node1 ~]# kubectl get svc -n weave
NAME              TYPE       CLUSTER-IP   EXTERNAL-IP   PORT(S)       AGE
weave-scope-app   NodePort   10.0.0.61    <none>        80:9000/TCP   67m

4、浏览器访问ip+9000

 5、拓扑结构关系

①点击顶部Pos,会显示所有的Pod以及Pod相关的依赖关系

 ②点击Host,可以看到各个节点之间的关系

 6、实时资源监控

       可以在Scope中查看资源的CPU和内存使用情况,并且支持HOST、Pod和Container

 

 

 7、UI页面操作

①Node节点操作

 ②Pod查看日志

 ③Pod弹性伸缩

 ④容器操作

 ⑤搜索功能

 

posted @ 2020-05-14 16:19  闫新江  阅读(819)  评论(0编辑  收藏  举报