# 集群关联子网可用IP余量监控及告警配置
在CCE Standard集群中新增节点或在CCE Turbo集群中新增节点/容器实例时，会占用子网IP数量，因此当业务需要扩容时，有可能出现子网没有可用的IP的情况。在这种情况下，如果未能及时接收到子网IP资源不足的告警，可能会导致集群中的节点创建失败或Pod扩容失败，进而影响业务的正常运行。
为了解决这一问题，CCE集群支持子网余量监控及告警功能，当子网可用IP数量不足时，系统将自动触发告警通知，确保用户能够及时采取扩容措施，避免因IP不足而导致的业务中断。通过这一功能，在子网被同一集群或不同集群共用的情况下，您也可以获得子网可用IP数量的监控指标和告警，从而更加精准可靠地管理网络资源，保障业务的稳定性和连续性。
#### 方案原理
图1子网可用IP余量监控原理   
![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002414703808.png "点击放大")
配置原理及说明如下：
1. 启用VPC子网实例的监控开关，并通过CES采集指标，上报到AOM的Prometheus实例A。
2. 在CCE中安装CCE云原生监控插件并关联AOM Prometheus实例B，开启节点池/容器网络子网监控。
3. 在AOM中新增Prometheus实例C，对VPC和CCE分别对接的两个Prometheus实例A和B的指标数据进行聚合。
4. 使用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及以上。
- 集群中已经安装[云原生监控插件](https://support.huaweicloud.com/usermanual-cce/cce_10_0406.html)，并升级至3.12.2版本以上。
 
#### 约束与限制
- 该特性当前正在各区域（Region）逐步上线中，部分区域可能还未支持，请您耐心等待或咨询客户支持。
- 子网可用IP余量监控仅支持IPv4地址。
- CCE Turbo集群配置容器网卡动态预热时，预热的网卡也会占用子网IP。
 
 #### 启用VPC上报指标
![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
VPC上报子网IP使用量的周期为30分钟。
1. 登录[VPC控制台](https://console.huaweicloud.com/vpc/#/vpc/vpcs/list)，单击VPC名称，开启"子网IP使用量监控"。
   
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002413683700.png "点击放大")
   
   
   
2. 在CES服务中观察子网的监控指标是否生成。 
   1. 登录[CES控制台](https://console.huaweicloud.com/ces/#/)，在左侧导航栏中选择"云服务监控"。
   
   2. 单击"虚拟私有云 VPC"看板，在页面顶部"带宽"所在的下拉列表中选择"子网"类型。
   
   3. 单击子网名称，查看子网的监控指标。 ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002447402793.png "点击放大")
      
      
   
   
   
   
3. 在AOM中接入VPC指标。 
   1. 登录[AOM控制台](https://console.huaweicloud.com/aom2/#/aom2/overviewNew)。
   
   2. 在左侧导航栏中选择"接入中心"，选择VPC。 ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002413683808.png "点击放大")
      
      
   
   3. 选择一个已有实例或者新建实例，单击"下一步"。 ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002413683880.png "点击放大")
      
      
   
   4. 填写接入规则名称，单击"确定"，接入成功后可以在"接入管理 \> 指标接入规则"中观察到规则已开启。 ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002418706352.png "点击放大")
      
      
   
   
   
   
 
 #### 启用CCE采集指标
CCE侧节点和容器子网的关系可以通过云原生监控插件采集指标。
![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
CCE上报节点和容器子网IP使用量的周期为10分钟。
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
2. 单击左侧导航栏的"插件中心"，在右侧找到**云原生监控插件**。
3. 确认该插件已经正常运行，并开启上报至AOM实例。 
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002414813594.png "点击放大")
   
   
   
4. 在左侧导航栏中选择"配置中心"，并切换至"监控运维配置"页签，开启"节点池/容器网络子网监控"。 
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002418492852.png "点击放大")
   
   
   
5. 单击"确认配置"。
 
#### 确认成功采集VPC和CCE产生的指标数据
1. 登录[AOM控制台](https://console.huaweicloud.com/aom2/#/aom2/overviewNew)，在左侧导航栏中选择"Prometheus监控 \> 实例列表"。
2. 找到[启用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地址使用占比      |
      
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002413844048.png "点击放大")
   
   
   
3. 找到[启用CCE采集指标]步骤中CCE**云原生监控插件** 对接的Prometheus实例，单击实例名称，检查实例指标。
   
   确认已启用以下指标：
   
   | 指标名称                 | 描述                                                                                                   |
   |:---|:---|
   | subnet_relation_node | CCE某个节点池和VPC子网之间的关系，可以把VPC上报的子网余量和CCE的节点池关联起来，从而支持查询某个节点池的子网余量。                                        |
   | subnet_relation_nad | CCE集群中某个容器网络配置（NetworkAttachmentDefinition）和子网之间的关系，可以把VPC上报的子网余量和CCE的容器网络配置关联起来，从而支持查询某个容器网络配置下的子网余量。 |
      
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002418922334.png "点击放大")
   
   
   
 
#### 聚合VPC和CCE指标并查询子网可用IP
1. 登录[AOM控制台](https://console.huaweicloud.com/aom2/#/aom2/overviewNew)。
2. 在左侧导航栏中选择"实例列表"，单击"创建Prometheus实例"。
3. 输入实例名称，并选择Prometheus实例类型为"多账号聚合实例"或"多账号虚拟聚合实例"。 
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002452084401.png "点击放大")
   
   
   
4. 选择聚合方式为"当前账号下Prometheus实例"，分别勾选CCE和VPC对接的AOM实例，单击"确定"。 
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002418909606.png "点击放大")
   
   
   
5. 创建完成后，可在新实例中查询以下指标。 
   ![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
   由于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"})
     ```
     
   
   
   
   
 
#### 配置子网余量告警
![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
受限于当前指标上报频率，配置子网告警后预计30分钟内生效。
您可以在AOM中配置指标告警，本文中提供**节点池节点子网余量告警** 和**容器子网余量告警** 的PromQL示例。如需配置更多详细告警规则，请参考[创建AOM指标告警规则](https://support.huaweicloud.com/usermanual-aom2/mon_01_0008.html)。
1. 登录[AOM控制台](https://console.huaweicloud.com/aom2/#/aom2/overviewNew)。
2. 在左侧导航栏中选择"告警中心 \> 告警规则"，单击"创建告警规则"。
3. 输入告警名称等基本信息，并配置告警规则详情。 
   - 规则类型：选择"指标告警规则"。
   
   - 配置方式：选择"语法模式（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
       ```
       
     
     
     ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002414976378.png "点击放大")
     
     
   
   
   
   
4. 单击"确定"。
 
