You need to enable JavaScript to run this app.
导航
容器服务接入
最近更新时间:2024.06.05 19:53:10首次发布时间:2023.05.26 15:36:29

云原生可观测服务能够提供免运维、高性能、高稳定的集群观测与告警服务。本文为您介绍如何开启集群中的云原生观测功能。

背景信息

云原生可观测功能基于托管 Prometheus 服务实现,使用 prometheus-agent 组件实现集群中的基础资源观测。因此,开启云原生可观测功能时,首先需要创建托管 Prometheus 工作区,并在集群中安装 prometheus-agent 组件。

采集器

云原生可观测使用 prometheus-agent 组件作为集群基础资源观测使用的采集器,当您在集群中安装 prometheus-agent 组件时,会同时安装 vm-agent、vmoperator、kube-state-metrics 和 node-exporter 组件。每个组件的名称、类型和作用如下表所示。

组件名称负载类型命名空间说明
vmagent-prometheus-agentStatefulSetkube-system采集器组件,采集集群内 kubelet、kubelet-cadvisor 、kube-state-metrics 、node-exporter、dcgm、ingress-nginx、p2p-accelerator 等暴露的指标。
prometheus-agent-vmoperatorDeploymentkube-systemvm-agent 控制组件。
prometheus-agent-kube-state-metricsStatefulSetkube-system提供 Kubernetes 资源信息指标数据。
prometheus-agent-node-exporterDaemonSetkube-system提供节点资源信息指标数据。

推荐规格

prometheus-agent 组件允许您自定义其资源和分片数,组件的分片数和规格与集群规模相关,您可以基于集群规模,配置组件的初始(最小)分片数。

vm-agent 采集器和 kube-state-metrics 组件在不同规模集群中的推荐初始(最小)分片数如下表所示。

集群规模vm-agent 初始(最小)分片数kube-state-metrics 初始(最小)分片数
10 Node,500 Pod11
100 Node,5000 Pod22
200 Node,10000 Pod44
500 Node,25000 Pod1010

前提条件

操作步骤

步骤一:集群绑定工作区

  1. 登录 容器服务控制台
  2. 在顶部导航栏,选择您业务所在地域。
  3. 在左侧导航栏单击 集群,找到目标集群,单击集群名称。
  4. 在左侧导航栏单击 总览,并选择 运维配置 页签。在配置页面中单击 进行配置 链接。
    alt
  5. 在弹出的配置框内,选择与集群绑定的托管 Prometheus 工作区。
    alt

    说明

    您也可以在创建集群时,绑定托管 Prometheus 工作区,详情请参见 创建集群

步骤二:部署采集器

  1. 在左侧导航栏中,选择 组件管理
  2. 选择 监控 页签,找到 prometheus-agent 组件,选择该组件右上角的 ... > 安装
    alt
  3. 配置组件参数。
    • 配置组件资源需求。
      alt
      参数描述
      部署方式组件的部署方式。当前该参数已固定,不可配置。

      部署形态

      容器网络模型为 VPC-CNI 的集群显示该参数。部署组件的节点类型,有如下两种方式:

      • 云服务器部署:表示在集群中的云服务器节点(Node)上部署该组件。
      • 弹性容器部署:表示在集群中的弹性容器实例(VCI),即虚拟节点(VirtualNode)上部署该组件。在弹性容器实例上部署组件,会产生费用,详细的费用说明,请参见 弹性容器实例产品计费
      vm-agent 资源配置 vm-agent 采集器的默认资源配置,包括:CPU 请求、CPU 上限、内存请求、内存上限。

      kube-state-metrics 资源配置

      配置 kube-state-metrics 组件的默认资源配置,包括:CPU 请求、CPU 上限、内存请求、内存上限。

      说明

      由于 kube-state-metrics 组件本身存在的限制(例如:每个组件实例允许采集的 Target 数量有限),在大规模集群中,建议优先使用增加分片数的方式,提升 kube-state-metrics 组件的指标采集能力。

    • 配置组件的初始分片数和扩缩容。
      alt
      参数描述
      vm-agent 初始分片数配置 vm-agent 采集器的初始分片数。
      kube-state-metrics 初始分片数配置 kube-state-metrics 组件的初始分片数。

      组件扩缩容

      配置是否开启 vm-agent 采集器和 kube-state-metrics 组件的自动扩缩容功能。

      • 不开启:组件的分片数为配置的初始分片数。不会随着资源占用率的提升而自动扩容。
      • 开启:需要配置组件的最大分片数。组件会基于资源占用率自动扩缩容,具体逻辑如下:
        • vm-agent 扩容:任一资源(CPU 或内存)使用率 > 70% 时,自动扩容。
        • vm-agent 缩容:全部资源(CPU 和内存)使用率均 < 30% 时,自动缩容。
        • kube-state-metrics 扩容:任一资源(CPU 或内存)使用率 > 70% 时,自动扩容。
        • kube-state-metrics 缩容:全部资源(CPU 和内存)使用率均 < 70% 时,自动缩容。

      注意

      • vm-agent 扩缩容冷却时间为 30 分钟。kube-state-metrics 基于 HPA 进行扩缩容量。
      • 配置组件自动扩缩容功能后,请保证集群资源充足,否则可能由于资源不足,导致组件扩容失败。
      • vm-agent 采集器和 kube-state-metrics 组件扩容时,为保证均衡负载,建议配置 kube-state-metrics 组件的分片数为 vm-agent 采集器分片数的整数倍,例如:kube-state-metrics 组件分片数vm-agent 采集器分片数1:12:1 等。

      部署插件

      配置是否同步安装 node-exporter 插件,默认安装插件。该插件用于采集节点操作系统的各项软硬件指标;如果不安装,则无法监控节点指标。建议您保持默认值。

      说明

      node-exporter 插件以 Daemonset 方式部署。因此,当您在弹性容器实例 VCI 场景中安装时,该插件会被部署在 ECS 节点上。更多信息,请参见 VCI 使用限制

      注意

      • 当 Prometheus-agent 组件为 v2.0.1 及以前 版本时,您还需要配置组件的托管 Prometheus 工作区,并配置工作区的认证用户名和密码。
      • 当您配置组件的工作区时,需要保证配置的工作区与集群绑定的工作区一致。否则将无法在 Prometheus 监控 页面中,查看集群监控的指标和大盘。
  4. 单击 确定,完成配置。

步骤三:开启云原生观测

  1. 在集群管理页面的左侧导航栏中,选择 云原生观测 > 概览。系统会自动检查集群工作区和 prometheus-agent 组件状态。
    alt
  2. (可选)开启深度观测。深度观测允许在不侵入应用的前提下,观测到工作负载的网络性能和各接口的应用性能,生成拓扑。并且可以进一步追踪响应错误或响应时间过长的接口调用。详情请参见 网络和应用观测
  3. 单击 开始使用,开通云原生观测功能。

查看集群概况

开启云原生观测功能后,再次进入 云原生观测 > 概览 页面,您可以查看集群概况信息,包括:节点监控信息和工作负载应用性能信息。

节点监控信息

节点监控信息提供了集群中所有节点的状态信息和资源使用信息。

  • 节点状态信息:展示当前集群节点的状态,包括:Ready 状态、非 Ready 状态、磁盘可用量低、内存可用量低、进程过多、网络不可用等。
  • 资源使用信息:展示了当前集群所有节点中,CPU 使用率、内存使用率、网络流入流量、网络流出流量、磁盘使用率、磁盘 IO 饱和度、文件描述符饱和度、inodes 饱和度等指标的 Top5 列表。
  1. 在集群管理页面的左侧导航栏中,选择 云原生观测 > 概览
  2. 在 节点运行情况 中,查看集群节点的监控信息。

alt

工作负载应用性能

工作负载应用性能概况提供了集群中所有工作负载的性能信息,包括:错误率、响应时间(P90)等。

  1. 在集群管理页面的左侧导航栏中,选择 云原生观测 > 概览
  2. 在 工作负载应用性能情况 中,查看集群工作负载的性能监控信息。

alt