All Products
Search
Document Center

Container Service for Kubernetes:View the health status of node instant scaling

Last Updated:Mar 26, 2026

View the status of node instant elastic

When a node pool runs out of a specific instance type in a zone, scaling requests fail silently. The node instant scaling add-on monitors inventory levels across all configured zones and writes real-time status to a ConfigMap in the kube-system namespace. Check this ConfigMap to catch low-stock conditions before they block scale-out.

Two signals are available:

Signal Name When to use
ConfigMap {node pool id}-inventory-status Ongoing monitoring and proactive instance type adjustments — continuously updated.
Event InstanceInventoryStatusChanged Reacting to inventory shifts as they happen — fired each time supply status changes for an instance type in a zone.

Prerequisites

Before you begin, make sure you have:

How it works

After you enable instant scaling for a node pool, the node instant scaling add-on:

  1. Retrieves all instance types configured for the node pool.

  2. Polls real-time inventory status for each instance type in each configured zone.

  3. Writes the results to a ConfigMap named {node pool id}-inventory-status in the kube-system namespace.

When supply status changes for any instance type in a configured zone, the add-on also emits an InstanceInventoryStatusChanged event on the ACKNodePool object, in the format:

{InstanceType}/{Zone} inventory status changed from {OldInventoryStatus} to {NewInventoryStatus}

Check inventory health status

  1. Log on to the ACK console. In the left navigation pane, click Clusters.

  2. On the Clusters page, click the name of the cluster.

  3. In the left-side navigation pane, choose Configurations > ConfigMaps.

  4. In the Namespace drop-down list, select kube-system. Find the ConfigMap named {node pool id}-inventory-status.

  5. View the data.status field for real-time inventory health.

Understand the ConfigMap fields

The data.status field contains a JSON object. The examples below show a healthy and a degraded inventory state side by side so you can identify anomalies quickly.

Example: healthy inventory

{
    "SupplySeqs": [
        {
            "InstanceType": "ecs.g6.8xlarge",
            "Zone": "cn-hongkong-c",
            "State": "WithStock"
        },
        {
            "InstanceType": "ecs.g6.8xlarge",
            "Zone": "cn-hongkong-b",
            "State": "WithStock"
        },
        {
            "InstanceType": "ecs.g5ne.4xlarge",
            "Zone": "cn-hongkong-c",
            "State": "WithStock"
        },
        {
            "InstanceType": "ecs.g5ne.4xlarge",
            "Zone": "cn-hongkong-b",
            "State": "WithStock"
        }
    ],
    "Conditions": [
        {
            "Type": "InventoryNoStock",
            "Status": "False",
            "Reason": "NoInterruption",
            "Message": "all instanceTypes are with stock",
            "LastTransitionTime": "2024-08-01T08:20:49Z"
        }
    ],
    "Phase": "Healthy",
    "LastTransitionTime": "2024-08-01T08:20:49Z"
}

Example: degraded inventory

{
    "SupplySeqs": [
        {
            "InstanceType": "ecs.g6.8xlarge",
            "Zone": "cn-hongkong-c",
            "State": "WithoutStock"
        },
        {
            "InstanceType": "ecs.g6.8xlarge",
            "Zone": "cn-hongkong-b",
            "State": "WithStock"
        },
        {
            "InstanceType": "ecs.g5ne.4xlarge",
            "Zone": "cn-hongkong-c",
            "State": "ClosedWithoutStock"
        },
        {
            "InstanceType": "ecs.g5ne.4xlarge",
            "Zone": "cn-hongkong-b",
            "State": "WithStock"
        }
    ],
    "Conditions": [
        {
            "Type": "InventoryNoStock",
            "Status": "True",
            "Reason": "PartialInterruption",
            "Message": "some instanceTypes are out of stock",
            "LastTransitionTime": "2024-08-01T09:15:00Z"
        }
    ],
    "Phase": "UnHealthy",
    "LastTransitionTime": "2024-08-01T09:15:00Z"
}

SupplySeqs fields

Field Description
InstanceType The name of the instance type.
Zone The zone where the instance type resides.
State Inventory status of the instance type in the zone. See the table below for valid values.

`State` values

Value Meaning Action
WithStock Resources are in sufficient stock. No action needed.
ClosedWithStock Resources are low on stock and may not be available for purchase. We recommend that you use instance types with WithStock state.
WithoutStock Resources are out of stock and will be replenished. We recommend that you use instance types with WithStock state.
ClosedWithoutStock Resources are out of stock and will not be replenished. We recommend that you use instance types with WithStock state.

Conditions fields

Field Description
Type Only one type is specified in this field (InventoryNoStock), which means the instance type configured for the node pool is currently out of stock.
Status Whether any instance type is out of stock. True means out of stock; False means inventory is normal.
Reason Overall inventory health reason. NoInterruption means all instance types are healthy. PartialInterruption means some instance types are unhealthy. AllInterruption means all instance types are unhealthy.
Message Detailed description of the current condition.
LastTransitionTime Timestamp of the most recent change to the Conditions field.

Top-level fields

Field Description
Phase Overall inventory health. Healthy or UnHealthy.
LastTransitionTime Timestamp of the most recent change to the data.status field.

What's next

View pod and node details and scaling activity history on the node scaling dashboard. See Node scaling dashboard.