zoukankan      html  css  js  c++  java
  • 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 '
    ')&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。

  • 相关阅读:
    SQL group by的困惑
    【翻译】优化基于ExtJS 4.1的应用
    DAO模式图解
    Add new rows to WebCombo in clientside javascript
    JavaScript页面刷新与弹出窗口问题解决方法
    Web开发:"父窗口"与"弹出子窗口"之间的刷新, 传值(转载)
    用"window.showModalDialog()"实现DIV模式弹出窗口
    [转]Infragistics NetAdvantage UltraWebGrid使用技巧
    JavaScript 和 .NET 中的 JavaScript Object Notation (JSON) 简介
    json2.js 使用详细教程
  • 原文地址:https://www.cnblogs.com/it-peng/p/11393806.html
Copyright © 2011-2022 走看看