前言
创建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
[[email protected] 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端口,不会要求创建管理员账号,且对用户没有限制,非常危险,主要用于直观展现容器间的调用,也可以用于和容器,宿主机之间的交互式操作。
原文地址:https://blog.51cto.com/13972012/2470271