Weave Scope 特点

Weave Scope 会读取集群配置,自动生成各容器、网络、以及 app 之间的映射关系,能够更加直观地展示、监视和控制基于容器化微服务的应用程序。

Weave Scope 可以监控 kubernetes 集群中的一系列资源的状态、资源使用情况、应用拓扑,还可以直接通过 Web 端进入容器内部进行调试。

其提供的主要功能包括:

  • 交互式拓扑界面

  • 图形模式和表格模式

  • 多维度资源划分

  • 过滤&搜索功能

  • 实时了解集群中的容器状态

  • 可以查看容器的上下文指标,标签和元数据。可以比较轻松的在容器内部的进程之间导航,以托管运行在可扩展、可排序表中的容器。对于给定的主机或服务,使用最多 CPU 或内存的容器即可轻松找到该容器。

  • 与容器进行直接交互和管理、启动命令行。

  • 通过插件扩展和自定义

缺点:

安装 scope

安装参考

1 修改配置

如果集群没使用 weave cni,每个 args 后面添加–weave=false

1
2
args:
- '--weave=false'

修改 svc 连接地址,weave-scope-app.weave.svc.cluster.local.

1
- 'weave-scope-app.weave:80'

对外暴露

1
2
3
4
5
6
7
8
spec:
ports:
- name: app
port: 80
nodePort: 50705
protocol: TCP
targetPort: 4040
type: NodePort

2 查看服务状态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
kubectl get all -n weave
NAME READY STATUS RESTARTS AGE
pod/weave-scope-agent-ffprq 1/1 Running 0 31m
pod/weave-scope-agent-gz4xt 1/1 Running 0 31m
pod/weave-scope-agent-ljjkp 1/1 Running 0 31m
pod/weave-scope-agent-lxsk4 1/1 Running 0 31m
pod/weave-scope-agent-q8k7p 1/1 Running 0 31m
pod/weave-scope-agent-sd5jf 1/1 Running 0 31m
pod/weave-scope-app-7fffd8585-tpvvp 1/1 Running 0 31m
pod/weave-scope-cluster-agent-7864fd8f47-qm4gw 1/1 Running 0 31m

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/weave-scope-app NodePort 172.19.252.151 <none> 80:50705/TCP 31m

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

NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/weave-scope-app 1/1 1 1 31m
deployment.apps/weave-scope-cluster-agent 1/1 1 1 31m

NAME DESIRED CURRENT READY AGE
replicaset.apps/weave-scope-app-7fffd8585 1 1 1 31m
replicaset.apps/weave-scope-cluster-agent-7864fd8f47 1 1 1 31m

3 访问服务

可以看到 weave-scope 的拓扑了

大概链路就是

web > app > agent

使用

1 资源详细信息拓扑

非常详细,pod 直接的连接与进程直接的连接

1.1 通过表格查看

可以排序,比较方便

2 资源实时消耗

可以查看资源的 CPU 和内存使用情况

2.1 容器维度

2.2 程序维度

2.3 节点维度

2.4 整体资源

3 容器操作

可以对容器进行 logs、describe、exec shell、restart、pause 以及 stop 操作:

4 条件筛选

界面左下角可按条件展示拓扑

  • 容器类型(系统或者应用)

  • 容器状态(stopped 或 running 状态)

  • 命名空间

5 全局搜索

搜索栏同样可以按条件搜索,关键字有:

  • 命名空间

  • 名称

  • image

  • 资源使用率

6 资源元数据信息

可以查看 Labels、Image、Info、Status 等元数据