用 Weave Scope 监控集群 — Kubernetes(62)steemCreated with Sketch.

in kubernetes •  7 years ago 

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

本章重点讨论 Kubernetes 常用的监控方案,下一章会讨论日志管理。

Weave Scope

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

安装 Scope

安装 Scope 的方法很简单,执行如下命令:

kubectl apply --namespace kube-system -f "https://cloud.weave.works/k8s/scope.yaml?k8s-version=$(kubectl version | base64 | tr -d '\n')"

部署成功后,有如下相关组件:

874.png

  1. DaemonSet weave-scope-agent,集群每个节点上都会运行的 scope agent 程序,负责收集数据。

  2. Deployment weave-scope-app,scope 应用,从 agent 获取数据,通过 Web UI 展示并与用户交互。

  3. Service weave-scope-app,默认是 ClusterIP 类型,为了方便已通过 kubectl edit 修改为 NodePort

使用 Scope

浏览器访问 http://192.168.56.106:30693/,Scope 默认显示当前所有的 Controller(Deployment、DaemonSet 等)。

875.png

拓扑结构

Scope 会自动构建应用和集群的逻辑拓扑。比如点击顶部 PODS,会显示所有 Pod 以及 Pod 之间的依赖关系。

876.png

点击 HOSTS,会显示各个节点之间的关系。

877.png

实时资源监控

可以在 Scope 中查看资源的 CPU 和内存使用情况。

878.png

支持的资源有 Host、Pod 和 Container。

879.png

880.png

在线操作

Scope 还提供了便捷的在线操作功能,比如选中某个 Host,点击 >_ 按钮可以直接在浏览器中打开节点的命令行终端:

881.png

点击 Deployment 的 + 可以执行 Scale Up 操作:

882.png

可以查看 Pod 的日志:

883.png

可以 attach、restart、stop 容器,以及直接在 Scope 中排查问题:

884.png

强大的搜索功能

Scope 支持关键字搜索和定位资源。

885.png

还可以进行条件搜索,比如查找和定位 MEMORY > 100M 的 Pod。

886.png

Weave Scope 界面极其友好,操作简洁流畅,更多功能留给大家去探索。

下一节我们学习 Heapster。

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!