集群关联子网可用IP余量监控及告警配置
在CCE Standard集群中新增节点或在CCE Turbo集群中新增节点/容器实例时,会占用子网IP数量,因此当业务需要扩容时,有可能出现子网没有可用的IP的情况。在这种情况下,如果未能及时接收到子网IP资源不足的告警,可能会导致集群中的节点创建失败或Pod扩容失败,进而影响业务的正常运行。
为了解决这一问题,CCE集群支持子网余量监控及告警功能,当子网可用IP数量不足时,系统将自动触发告警通知,确保用户能够及时采取扩容措施,避免因IP不足而导致的业务中断。通过这一功能,在子网被同一集群或不同集群共用的情况下,您也可以获得子网可用IP数量的监控指标和告警,从而更加精准可靠地管理网络资源,保障业务的稳定性和连续性。
方案原理
配置原理及说明如下:
- 启用VPC子网实例的监控开关,并通过CES采集指标,上报到AOM的Prometheus实例A。
- 在CCE中安装CCE云原生监控插件并关联AOM Prometheus实例B,开启节点池/容器网络子网监控。
- 在AOM中新增Prometheus实例C,对VPC和CCE分别对接的两个Prometheus实例A和B的指标数据进行聚合。
- 使用PromQL表达式对实例C的指标数据进行查询,监控子网可用IP余量,并配置相应的告警。
前提条件
- 集群版本为v1.27.16-r50、v1.28.15-r40、v1.29.15-r0、v1.30.14-r0、v1.31.10-r0、v1.32.6-r0、v1.33.1-r0及以上。
- 集群中已经安装云原生监控插件,并升级至3.12.2版本以上。
约束与限制
- 子网可用IP余量监控仅支持IPv4地址。
- CCE Turbo集群配置容器网卡动态预热时,预热的网卡也会占用子网IP。
启用CCE采集指标
CCE侧节点和容器子网的关系可以通过云原生监控插件采集指标。
CCE上报节点和容器子网IP使用量的周期为10分钟。
- 登录CCE控制台,单击集群名称进入集群。
- 单击左侧导航栏的“插件中心”,在右侧找到云原生监控插件。
- 确认该插件已经正常运行,并开启上报至AOM实例。

- 在左侧导航栏中选择“配置中心”,并切换至“监控运维配置”页签,开启“节点池/容器网络子网监控”。

- 单击“确认配置”。
确认成功采集VPC和CCE产生的指标数据
- 登录AOM控制台,在左侧导航栏中选择“Prometheus监控 > 实例列表”。
- 找到启用VPC上报指标步骤中VPC对接的Prometheus实例,单击实例名称,检查实例指标。
确认已启用以下指标:
指标名称
描述
subnet_ipv4_availability_used_number
子网内已使用的IPv4地址数量
subnet_ipv4_availability_remain_number
子网内剩余可用的IPv4地址数量
subnet_ipv4_availability_total_number
子网内总IPv4地址数量
subnet_ipv4_availability_usage_percentage
子网IPv4地址使用占比

- 找到启用CCE采集指标步骤中CCE云原生监控插件对接的Prometheus实例,单击实例名称,检查实例指标。
确认已启用以下指标:
指标名称
描述
subnet_relation_node
CCE某个节点池和VPC子网之间的关系,可以把VPC上报的子网余量和CCE的节点池关联起来,从而支持查询某个节点池的子网余量。
subnet_relation_nad
CCE集群中某个容器网络配置(NetworkAttachmentDefinition)和子网之间的关系,可以把VPC上报的子网余量和CCE的容器网络配置关联起来,从而支持查询某个容器网络配置下的子网余量。

聚合VPC和CCE指标并查询子网可用IP
- 登录AOM控制台。
- 在左侧导航栏中选择“实例列表”,单击“创建Prometheus实例”。
- 输入实例名称,并选择Prometheus实例类型为“多账号聚合实例”或“多账号虚拟聚合实例”。

- 选择聚合方式为“当前账号下Prometheus实例”,分别勾选CCE和VPC对接的AOM实例,单击“确定”。

- 创建完成后,可在新实例中查询以下指标。
由于VPC指标的上报频率为30分钟,查询VPC指标时间范围建议为30分钟,时间范围取更小值也无法提升指标精度。
- 查询指定节点池可用IP数量:
sum by (cluster_name, cluster_id, nodepool_id) ( max_over_time(huaweicloud_sys_vpc_subnet_ipv4_availability_remain_number[30m]) * on(subnet_id) group_left() subnet_relation_node{nodepool_id="DefaultPool"}) - 查询指定容器子网可用IP数量:
sum by (cluster_name, cluster_id, network_attachment_definition_name)( max_over_time(huaweicloud_sys_vpc_subnet_ipv4_availability_remain_number[30m])* on(subnet_id) group_left() subnet_relation_nad{network_attachment_definition_name="default-network"})
- 查询指定节点池可用IP数量:
配置子网余量告警
您可以在AOM中配置指标告警,本文中提供节点池节点子网余量告警和容器子网余量告警的PromQL示例。如需配置更多详细告警规则,请参考创建AOM指标告警规则。
- 登录AOM控制台。
- 在左侧导航栏中选择“告警中心 > 告警规则”,单击“创建告警规则”。
- 输入告警名称等基本信息,并配置告警规则详情。
- 规则类型:选择“指标告警规则”。
- 配置方式:选择“语法模式(PromQL)”。
- 告警规则详情:选择“自定义”,并根据需求填写PromQL语句。
- 为节点池节点配置子网余量告警示例
指定节点池的子网可用IP余量小于20时触发告警:
sum by (cluster_name, cluster_id, nodepool_id)(max_over_time(huaweicloud_sys_vpc_subnet_ipv4_availability_remain_number[30m])* on(subnet_id) group_left() subnet_relation_node{nodepool_id="973ab8c6-78f9-11f0-8729-0255ac100b0a"})<20 - 为容器子网配置子网余量告警示例
当默认容器网络的子网可用IP余量小于20时触发告警:
(sum by (cluster_name, cluster_id, network_attachment_definition_name)( max_over_time(huaweicloud_sys_vpc_subnet_ipv4_availability_remain_number[30m])* on(subnet_id) group_left() subnet_relation_nad{network_attachment_definition_name="default-network"})) < 20

- 为节点池节点配置子网余量告警示例
- 单击“确定”。




