You need to enable JavaScript to run this app.
导航

容器服务接入

最近更新时间2023.11.07 14:47:30

首次发布时间2023.05.26 15:36:29

当您使用火山引擎容器服务集群时,允许在集群控制台上安装 Prometheus-agent 组件,接入托管 Prometheus 服务。本文为您介绍容器服务接入的流程和步骤。

概述

组件说明

当您在集群中安装 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 组件中的默认实例规格如下表所示。

组件名称CPU 请求值内存请求值CPU 上限值内存上限值
vmagent-prometheus-agent2 Core2 GiB4 Core4 GiB
prometheus-agent-vmoperator0.1 Core256 MiB0.2 Core1 GiB
prometheus-agent-kube-state-metrics0.2 Core512 MiB0.8 Core2 GiB
prometheus-agent-node-exporter0.05 Core128 MiB0.1 Core256 MiB

推荐规格

在容器服务集群中安装 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

高可用性说明

Prometheus-agent 组件中的 vm-agent 采集器和 kube-state-metrics 组件支持分片数据采集和自动扩缩容,性能和可用性较高。原理如下图所示。
alt

前提条件

注意

在容器服务集群中安装的 promethues-agent 组件与使用脚本安装的 VM Agent 采集器冲突,不能同时使用。安装组件前,请确认您的集群中没有使用脚本安装的 VM Agent 采集器。详情请参见 部署 VM Agent

配置步骤

步骤一:集群绑定工作区

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

    说明

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

步骤二:部署采集器

  1. 登录 容器服务控制台
  2. 在左侧导航栏中选择 集群,单击需要配置的目标集群,进入集群管理页面。
  3. 左侧导航栏中,选择 运维管理 > 组件管理
  4. 选择 监控 页签,找到 prometheus-agent 组件,选择该组件右上角的 ... > 安装
    alt
  5. 配置组件的相关参数。
    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 组件的指标采集能力。

    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 监控 页面中,查看集群监控的指标和大盘。
  6. 单击 确定,完成配置。

步骤三:配置采集规则(可选)

默认情况下,Prometheus-agent 组件仅开启了面向 kubelet、kubelet-cadvisor 、kube-state-metrics 、node-exporter 的采集规则。您可以根据实际需求,开启或关闭其他的指标采集规则、选择具体的指标项以及配置采集间隔。详情请参见 采集规则

步骤四:配置服务发现(可选)

除了采集器默认的采集规则外,如果您想要采集自定义 Target 的指标,支持通过 ServiceMonitor、PodMonitor 或 Service/Pod annotation 配置服务发现,来满足您采集自定义 Target 的指标需求。详情请参见 服务发现

查看信息

指标

您可以使用托管 Prometheus 的 Explore 功能来快速查询和展示指标数据。详情请参见 指标查询

大盘

您可以通过以下方法,查看容器服务集群的指标大盘:

告警

您可以在托管 Prometheus 的告警中心配置集群相关告警。详情请参见 创建告警规则