Kubernetes 使用 Weave Scope 监控集群(十七)
创建 Kubernetes 集群并部署容器化应用只是第一步。一旦集群运行起来,我们需要确保一起正常,所有必要组件就位并各司其职,有足够的资源满足应用的需求。Kubernetes 是一个复杂系统,运维团队需要有一套工具帮助他们获知集群的实时状态,并为故障排查提供及时和准确的数据支持。
一、安装
Weave Scope 是 Docker 和 Kubernetes 可视化监控工具。Scope 提供了至上而下的集群基础设施和应用的完整视图,用户可以轻松对分布式的容器化应用进行实时监控和问题诊断。
在 K8s 集群中安装 Scope 的方法很简单,使用下面的命令:
[root@master ~]# 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
daemonset.extensions/weave-scope-agent created
部署成功后,有如下相关组件:
[root@master ~]# kubectl get pod -n weave
NAME READY STATUS RESTARTS AGE
weave-scope-agent-6l4wn 1/1 Running 0 4m55s
weave-scope-agent-dfpdl 1/1 Running 0 4m55s
weave-scope-agent-spxb4 1/1 Running 0 4m55s
weave-scope-app-6979884cc6-hpkdz 1/1 Running 0 4m55s
[root@master ~]# kubectl get svc -n weave
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
weave-scope-app NodePort 10.103.94.215 <none> 80:30229/TCP 5m
[root@master ~]# kubectl get deploy -n weave
NAME READY UP-TO-DATE AVAILABLE AGE
weave-scope-app 1/1 1 1 5m13s
- DaemonSet
weave-scope-agent
,集群每个节点上都会运行的 scope agent 程序,负责收集数据。 - Deployment
weave-scope-app
,scope 应用,从 agent 获取数据,通过 Web UI 展示并与用户交互。 - Service
weave-scope-app
,默认是 ClusterIP 类型,我们已经在上面的命令中添加了参数k8s-service-type=NodePort
修改为 NodePort。
二、使用 Scope
浏览器访问 http://YOUR_MASTER_IP:30229/,Scope 默认显示当前所有的 Controller(Deployment、DaemonSet 等)。
2.1、拓扑结构
Scope 会自动构建应用和集群的逻辑拓扑。比如点击顶部 Pods
,会显示所有 Pod 以及 Pod 之间的依赖关系。
点击 Hosts
,会显示各个节点之间的关系,可以在 Scope 中查看资源的 CPU 和内存使用情况。
2.2、在线操作
Scope 还提供了便捷的在线操作功能,比如选中某个 Host,点击 >_
按钮可以直接在浏览器中打开节点的命令行终端:
点击 Deployment 的 +
可以执行 Scale Up 操作:
可以查看 Pod 的日志:
可以 attach、restart、stop 容器,以及直接在 Scope 中排查问题:
2.3、强大的搜索功能
Scope 支持关键字搜索和定位资源。
还可以进行条件搜索,比如查找和定位 MEMORY > 100M 的 Pod。
Weave Scope 界面极其友好,操作简洁流畅,更多功能留给大家去探索。
官方文档:https://www.weave.works/docs/scope/latest/installing/#k8s
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· Cursor预测程序员行业倒计时:CTO应做好50%裁员计划
· 想让你多爱自己一些的开源计时器
· 大模型 Token 究竟是啥:图解大模型Token
· 用99元买的服务器搭一套CI/CD系统
· 当职场成战场:降职、阴谋与一场硬碰硬的抗争