k8s实践(十):监控工具Weave Scope详解

  • 2019 年 11 月 1 日
  • 筆記

环境说明:

主机名

操作系统版本

ip

docker version

kubelet version

配置

备注

master

Centos 7.6.1810

172.27.9.131

Docker 18.09.6

V1.14.2

2C2G

master主机

node01

Centos 7.6.1810

172.27.9.135

Docker 18.09.6

V1.14.2

2C2G

node节点

node02

Centos 7.6.1810

172.27.9.136

Docker 18.09.6

V1.14.2

2C2G

node节点

一、Weave Scope简介

Weave Scope自动生成应用程序的映射,使您能够直观地理解、监视和控制基于容器化微服务的应用程序。

Weave Scope可以监控kubernetes集群中的一系列资源的状态、资源使用情况、应用拓扑、scale、还可以直接通过浏览器进入容器内部调试等,其提供的功能包括:

交互式拓扑界面 图形模式和表格模式 过滤功能 搜索功能 实时度量 容器排错 插件扩展

Weave Scope由App和Probe两部分组成:

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

二、Weave Scope安装

1.安装Weave Scopea

[root@master ~]# kubectl apply -f "https://cloud.weave.works/k8s/scope.yaml?k8s-version=$(kubectl version | base64 | tr -d 'n')"  namespace/weave created  serviceaccount/weave-scope created  clusterrole.rbac.authorization.k8s.io/weave-scope created  clusterrolebinding.rbac.authorization.k8s.io/weave-scope created  deployment.apps/weave-scope-app created  service/weave-scope-app created  deployment.apps/weave-scope-cluster-agent created  daemonset.apps/weave-scope-agent created
图片.png

2.资源查看

[root@master ~]# kubectl get all -n weave  NAME                                            READY   STATUS    RESTARTS   AGE  pod/weave-scope-agent-hx4t2                     1/1     Running   0          103s  pod/weave-scope-agent-vmbqr                     1/1     Running   0          103s  pod/weave-scope-agent-zd8x7                     1/1     Running   0          103s  pod/weave-scope-app-b99fb9585-77rld             1/1     Running   0          104s  pod/weave-scope-cluster-agent-58f5b5454-vnckm   1/1     Running   0          103s    NAME                      TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE  service/weave-scope-app   ClusterIP   10.99.31.182   <none>        80/TCP    105s    NAME                               DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE  daemonset.apps/weave-scope-agent   3         3         3       3            0           <none>          104s    NAME                                        READY   UP-TO-DATE   AVAILABLE   AGE  deployment.apps/weave-scope-app             1/1     1            1           105s  deployment.apps/weave-scope-cluster-agent   1/1     1            1           105s    NAME                                                  DESIRED   CURRENT   READY   AGE  replicaset.apps/weave-scope-app-b99fb9585             1         1         1       105s  replicaset.apps/weave-scope-cluster-agent-58f5b5454   1         1         1       105s
图片.png

3.对外访问

修改service/weave-scope-app,将其模式由ClusterIP修改为NodePort,使其可以直接通过NodeIP:Port方式访问

[root@master ~]# kubectl edit service -n weave weave-scope-app  service/weave-scope-app edited
图片.png

4.登录

登录url:http://172.27.9.131:30022/

图片.png

三、使用Weave Scope

1.资源查看的两种方式

以pod为例查看资源,资源有两种展现形式:

图形式性:

图片.png

图形方式还会展示pod之间的拓扑关系

图片.png

表格形式:

图片.png

Weave Scope监控对象有进程、容器、pods、主机等,监控项有cpu、内存、平均负载等。

2.查看资源使用详情

点击某个pod,会展示状态、资源使用、进程等详细信息

图片.png

3.pod日志查看

资源使用详情中点击'Get logs'

图片.png
图片.png

4.pod描述查看

图片.png
图片.png

5.资源伸缩

图片.png

点击deployment类型的Controllers,可以进行deployment的伸缩和查看

6.容器操作

图片.png

可以对容器进行attach、exec shell、restart、paus和stop操作

图片.png

进入容器,执行df -h操作

7.展示条件选择

图片.png

左下角可按条件展示,有容器类型(系统或者应用)、容器状态(停止或者运行)、命名空间等。

8.搜索功能

按容器名搜索

图片.png

按资源使用搜索

图片.png