k8s之监控利器Weave Scope详解
更新:HHH   时间:2023-1-7


前言

创建kubernetes集群并部署容器化应用只是第一步,一旦集群运行起来,我们需要确保运行正常,所有必要组件就位并各司其职,有足够的资源满足应用的要求。kubernetes是一个复杂的系统,运维团队需要有一套工具帮助他们获知集群的实时状态,并为故障排查提供及时和准确的数据支持。

kubernetes常用的监控方案:

一,Weave scope简介

Weave Scope是 Docker 和 kubernetes 可视化监控工具。Scope提供了至上而下的集群基础设施和应用的完整视图,用户可以轻松对分布式的容器化应用进行实时监控和问题诊断。

Weave Scope的功能特性:

  • 拓扑映射
  • Scope中的视图
  • 图形或表格模式
  • 灵活的过滤
  • 强大的搜索
  • 实时的应用和容器指标
  • 对容器进行故障排除和管理
  • 使用插件API生产自定义指标

功能详细介绍参考官方文档:https://www.weave.works/docs/scope/latest/features/

Weave Sccope 由App和Agent两部分组成:

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

二,Weave scope安装

参考官方文档:https://www.weave.works/docs/scope/latest/installing/#k8s

kubernetes集群环境:
master:172.16.1.30
node01: 172.16.1.31
node02:172.16.1.32

1,安装Weave scope

[root@master scope]# kubectl apply -f "https://cloud.weave.works/k8s/scope.yaml?k8s-version=$(kubectl version | base64 | tr -d '\n')&k8s-service-type=NodePort" 
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

2,资源查看(确保资源正常运行)

注意:Service weave-scope-app默认是ClusterIP类型,已经在执行安装的命令中添加了参数k8s-service-type=NodePort将其修改为 NodePort。

3, 登录web界面:
浏览器访问url:http://172.16.1.30:32688/ ,默认显示当前所有的Controller(Deployment,Daemonset等)

三,Weave Scope的使用

1,资源查看的两种方式:**

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

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

2)表格方式:

表格方式可以更加清晰,详细的查看到pod的各种信息(一目了然)

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

2,查看资源使用详情:

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

3,Pod日志查看:

点击需要查看的pod,在资源使用详情中点击“Get logs”


这里查看的是nginx服务的日志,当有用户访问web服务时,都会将各种信息实时的输出到屏幕中。

4,查看pod的详细信息

在pod的资源详情中点击“describe”

5,资源的扩缩容

点击Deployment 或者是Daemonset类型的Controller,可以对资源进行伸缩和与查看。

扩容:

缩容:

6,容器操作


在右边容器展示的界面中,分别可以对容器进行attch,exec shell,restart,paus和stop操作

点击进入终端,和在命令行执行exec命令进入容器是一样的,对管理和操作容器都是非常方便的。

7,展示条件选择

左下角可按条件展示:有容器的类型(系统或者应用),容器的状态(停止,运行,停止和运行),容器显示或隐藏,以及可以自己选择查看那个命名空间下的容器。

8,强大的搜索功能

scope 支持关键字搜索和定位资源
1)按容器名进行搜索:
比如查看CPU使用率>1%的容器:

2)按资源使用进行搜索:
比如查看Memory使用率>100M的pod:

小结:
weave scope工作在4040端口,不会要求创建管理员账号,且对用户没有限制,非常危险,主要用于直观展现容器间的调用,也可以用于和容器,宿主机之间的交互式操作。

返回云计算教程...