阿里云容器服务ACK支持通过ack-koordinator组件为集群开启差异化SLO能力。本文介绍如何使用ack-koordinator实现在离线混部基础监控功能。
前提条件
仅适用于ACK Pro版集群。具体操作,请参见创建ACK Pro版集群。
已安装ack-koordinator组件(原ack-slo-manager),且版本≥v1.1.1-ack.1。具体操作,请参见ack-koordinator(ack-slo-manager)。
已开启ack-koordinator的动态资源超卖功能。具体操作,请参见动态资源超卖。
查看在离线混部基础监控
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在Prometheus监控页面,单击 。
监控大盘示例如下:
在离线混部基础监控大盘说明
在离线混部基础监控大盘提供如下功能:
混部收益分析:提供在离线混部场景的资源收益看板,支持查看和分析使用混部的资源收益情况。
混部资源可观测:提供在离线混部场景中关键指标的可观测能力,支持多维度(集群、节点池、节点、Pod)查询混部资源容量情况。
集群混部收益概览
集群混部收益情况区域展示了在离线混部的资源收益和使用趋势。
混部资源总量和分配量
概念 | 说明 |
非混部资源 | ACK节点上所有可调度(Allocatable)的物理资源,称为非混部资源。非混部资源的总量和节点的机器规格有关,不受在离线混部影响。 |
混部资源 | ACK差异化SLO通过动态资源超卖功能,可以挖掘集群中的空闲物理资源,这部分空闲物理资源称为混部资源。混部资源的总量与实际资源利用率有关,会随着节点的空闲物理资源量动态变化,是在离线混部额外提供的可调度资源,也是衡量在离线混部收益的关键指标之一。 |
混部资源总量 | 分为CPU和内存两个资源维度,分别展示了集群当前可供应用混部调度的CPU资源总量和内存资源总量。如上图所示,集群共有118核CPU资源和487 GiB内存资源可供应用混部。混部资源总量越大,说明集群中可供应用混部的空闲物理资源越多,通过在离线混部调度更多应用的潜在收益越大。 |
混部资源分配量 | 分为CPU和内存两个资源维度,分别展示了集群当前为应用混部已分配的CPU资源量和内存资源量。如上图所示,集群共有2核CPU资源和1 GiB内存资源已为应用混部分配。混部资源分配量越大,说明集群中已调度的离线混部资源越多,通过在离线混部调度更多应用的收益越大。 |
混部资源分配率 | 分为CPU和内存两个资源维度,分别展示了集群当前为应用混部的CPU资源分配率和内存资源分配率(资源分配率=资源分配量÷资源总量)。如上图所示,集群中混部CPU资源分配率为1.70%,混部内存资源分配率为0.21%。混部资源分配率越大,说明集群对混部资源的分配比例越高,在离线混部的收益越大。 |
混部资源使用趋势
概念 | 说明 |
混部Pod数量 | 分为使用非混部资源调度的Pod数目和使用混部资源调度的Pod数目。混部Pod数量比例展示了集群中使用非混部资源调度和使用混部资源调度的Pod数目的相对比例。 |
资源混部比例 | 分为CPU和内存两个资源维度,资源混部比例展示了集群当前可供应用非混部调度的资源量和可供应用混部调度的资源量。集群中的空闲物理资源越多,混部资源的比例越高,表示有更多资源可供混部调度。 |
集群混部资源详情
集群资源视图、单机资源视图和Pod资源视图区域分别展示了在集群、节点和Pod维度的资源使用量和资源申请量。
集群资源视图
概念 | 说明 |
集群资源使用量 | 分为CPU和内存两个资源维度,每个维度中包含集群的物理资源总量、非混部Pod的资源使用量、混部Pod的资源使用量以及系统基础组件的资源使用量。集群资源使用量可用来衡量当前集群不同类型资源的使用情况,若三种使用量指标之和远小于物理资源总量,则说明集群的平均利用率较低,有较多物理资源处于空闲状态。 |
集群混部资源申请量 | 分为CPU和内存两个资源维度,每个维度中包含资源的可供调度的混部资源总量和当前已申请的混部资源量。资源申请量越接近资源总量,混部资源的申请比例越大,说明混部资源分配越充分。 |
集群非混部资源申请量 | 分为CPU和内存两个资源维度,每个维度中包含资源的可供调度的非混部资源总量和当前已申请的非混部资源量。资源申请量越接近资源总量,非混部资源的申请比例越大,说明非混部资源分配越充分。 |
您还可以通过配置node_label等查看详细的节点池视图。
部分过滤项说明如下:
过滤项 | 说明 |
node_label_value | 默认值为All,表示集群混部收益情况和集群资源视图区域统计范围为集群的所有节点。 您可以选择目标节点池,在集群混部收益情况和集群资源视图区域查看目标节点池的资源视图。 |
node_label | 您可以按不同的节点Label来选中节点,具体操作,请参见在离线混部页签上方的使用提示。 |
单机资源视图
在在离线混部页签上方选择具体的节点,可以查看不同节点的单机资源视图。
概念 | 说明 |
节点资源混部比例 | 分为CPU和内存两个资源维度,每个维度包含节点上非混部资源的总量和混部资源的总量。非混部资源总量和混部资源总量堆叠展示,表示了两者在单机资源上占据的相对比例。 |
节点资源使用量 | 分为CPU和内存两个资源维度,内存资源按照是否包含Cache部分细分为不含Cache和含Cache的两个子维度。每个维度包含节点上的物理资源总量、非混部Pod的资源使用量、混部Pod的资源使用量以及系统基础组件的资源使用量。节点资源使用量可用来衡量当前节点不同类型资源的使用情况,若三种使用量指标之和远小于物理资源总量,则说明节点的平均利用率较低,有较多物理资源处于空闲状态。 |
节点混部资源申请量 | 分为CPU和内存两个资源维度,每个维度包含节点上的混部资源总量和混部资源已申请量。资源申请量越接近资源总量,混部资源的申请比例越大,说明混部资源分配越充分。 |
各Pod混部资源申请量 | 分为CPU和内存两个资源维度,包含节点上所有混部Pod的资源申请量。 |
各Pod混部资源利用率 | 分为CPU和内存两个资源维度,包含节点上所有混部Pod的资源利用率。 |
Pod资源视图
在在离线混部页签上方配置pod_namespace和pod_name,可以查看不同Pod的资源视图。
概念 | 说明 |
Pod混部资源量 | 分为CPU和内存两个资源维度,每个维度包含Pod对混部资源的使用上限、申请量和实际用量。 |
Pod混部资源利用率 | 分为CPU和内存两个资源维度,每个维度包含Pod使用混部资源的利用率。 |
各容器混部资源量 | 分为CPU和内存两个资源维度,每个维度包含Pod内各个容器对混部资源的使用上限、申请量和实际用量。 |
FAQ
为什么在离线混部页签中,集群混部收益情况区域没有数据?
查看是否已安装ack-koordinator。
登录容器服务管理控制台,在左侧导航栏单击集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择
。在Helm页面查看是否存在ack-koordinator组件。
若不存在,请先安装ack-koordinator,然后执行步骤2。
若已存在,请执行步骤2。
查看集群混部收益情况是否显示相关数据。
若不显示,请执行以下步骤:
- 登录ARMS控制台。
在左侧导航栏选择 ,进入可观测监控 Prometheus 版的实例列表页面。
在页面左上角选择目标地域,单击Prometheus实例名称,然后在左侧导航栏单击服务发现。
在服务发现页面的指标文本框中搜索kube_node_labels,然后在下方列表中,选择名为kube_node_labels的指标,单击该指标右侧操作列下的启用。然后在提示对话框中,单击确认。
为什么大盘样式与文档示例不一致?
在离线混部大盘会不定期进行升级,请以最新版本的实际界面为准。关于升级大盘的具体操作,请参见大盘列表。