K8s - Kubernetes使用详解12(可视化监控工具1:Weave Scope)
十二、Weave Scope
1,基本介绍
- Weave Scope 是 Docker 和 Kubernetes 可视化监控工具。
- Weave Scope 提供了至上而下的集群基础设施和应用的完整视图,用户可以轻松对分布式的容器化应用进行实时监控和问题诊断。
2,安装步骤
(1)安装 Weave Scope 的方法很简单,我们只需执行如下命令即可:
kubectl apply -f "https://cloud.weave.works/k8s/scope.yaml?k8s-version=$(kubectl version | base64 | tr -d '\n')&k8s-service-type=NodePort"
(2)部署成功后,我们可以执行如下命令查看安装了哪些组件:
kubectl get pod -n weave kubectl get svc -n weave kubectl get deploy -n weave
(3)上面命令执行结果如下,可以看到部署了如下一些组件:
- DaemonSet weave-scope-agent:集群每个节点上都会运行的 scope agent 程序,负责收集数据。
- Deployment weave-scope-app:scope 应用,从 agent 获取数据,通过 Web UI 展示并与用户交互。
- Service weave-scope-app:默认是 ClusterIP 类型,我们已经在上面的安装命令中添加了参数 k8s-service-type=NodePort 修改为 NodePort。
3,访问 Scope 监控页面
(1)从上面可以看到 Scope 在节点上监听的端口是 31415,因此我们使用浏览器访问如下地址即可打开监控页面:
(2)Scope 默认显示当前所有的 Controller(Deployment、DaemonSet 等)
4,拓扑结构、资源监控
(1)Scope 会自动构建应用和集群的逻辑拓扑。比如点击顶部 PODS,会显示所有 Pod 以及 Pod 之间的依赖关系。(2)点击 HOSTS,会显示各个节点之间的关系。并且还可以显示查看资源的 CPU 和内存使用情况。
5,在线操作
(1)Scope 还提供了便捷的在线操作功能,比如选中某个 Host,点击 >_ 按钮可以直接在浏览器中打开节点的命令行终端:(2)点击 Deployment 的 + 可以执行 Scale Up 操作,- 可以执行 Scale down 操作:
(4)我们还可以 attach、restart、stop 容器,以及直接在 Scope 中排查问题:
6,强大的搜索功能
(1)Scope 支持关键字搜索和定位资源。
(2)还可以进行条件搜索,比如查找和定位 MEMORY > 100M 的 Pod。