k8s集群监控(十一)
Weave Scope
在我之前的docker监控中《Docker容器监控(十)–技术流ken》就已经提到了weave scope。
Weave Scope 是 Docker 和 Kubernetes 可视化监控工具。Scope 提供了至上而下的集群基础设施和应用的完整视图,用户可以轻松对分布式的容器化应用进行实时监控和问题诊断。
第一步:安装weave scope
[root@ken ~]# kubectl apply -f "https://cloud.weave.works/k8s/scope.yaml?k8s-version=$(kubectl version | base64 | tr -d '\n')&k8s-service-type=NodePort"
第二步:查看组件
[root@ken~]# 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@ken ~]# kubectl get svc -n weave NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE weave-scope-app NodePort 10.103.94.215 <none> 80:31432/TCP 5m [root@ken ~]# 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。
第三步:浏览器查看
输入你的一个节点IP:端口号
使用scope
Scope 会自动构建应用和集群的逻辑拓扑。比如点击顶部 PODS
,会显示所有 Pod 以及 Pod 之间的依赖关系。
点击 HOSTS
,会显示各个节点之间的关系。
实时资源监控
可以在 Scope 中查看资源的 CPU 和内存使用情况。
支持的资源有 Host、Pod 和 Container。
在线操作
Scope 还提供了便捷的在线操作功能,比如选中某个 Host,点击 >_
按钮可以直接在浏览器中打开节点的命令行终端:
点击 Deployment 的 +
可以执行 Scale Up 操作:
可以查看 Pod 的日志:
可以 attach、restart、stop 容器,以及直接在 Scope 中排查问题:
强大的搜索功能
Scope 支持关键字搜索和定位资源。
还可以进行条件搜索,比如查找和定位 MEMORY > 100M
的 Pod。