Skip to content

Deployment Cell Node Pool Management

The deployment-cell CTL command now includes comprehensive node pool management capabilities for AWS, GCP, and Azure deployment cells. For more details, see the CTL documentation: Deployment Cells.

When to Use Node Pool Management

CUSTOM_TENANCY Plans (Manual Management Required)

Node pool management commands are primarily designed for CUSTOM_TENANCY plans where workloads are deployed through Helm, Operators, or Kustomize. In these scenarios, you may need to manually manage node pools to:

  • Scale down node pools to reduce infrastructure costs during off-hours or low-usage periods
  • Clean up stale or inactive node pools that are no longer needed but consuming resources
  • Optimize costs by removing node pools associated with terminated or inactive customer instances

These commands provide a single-command way to manage node pool capacity and cleanup, helping you control infrastructure costs effectively.

OMNISTRATE_DEDICATED_TENANCY and OMNISTRATE_MULTI_TENANCY Plans (Automatic Management)

For plans using OMNISTRATE_DEDICATED_TENANCY or OMNISTRATE_MULTI_TENANCY with resources imported through Docker Compose / Compose Spec, the platform automatically manages node pool lifecycle:

  • Automatic scale-up and scale-down based on workload demand
  • Automatic cleanup of node pools when instances are terminated
  • No manual intervention required for cost optimization

You typically do not need to use these commands for automatically managed plans unless you have specific infrastructure management requirements.

Commands Overview

list-nodepools

List all node pools in a deployment cell with their configuration details.

Usage:

omnistrate-ctl deployment-cell list-nodepools --id <deployment-cell-id>

Options:

  • --id, -i: Deployment cell ID (required)
  • --output, -o: Output format - table (default), text, or json

Output Fields:

  • Name: Node pool identifier
  • Type: Entity type (NODEPOOL, NODE_GROUP, or AZURE_NODEPOOL)
  • MachineType: Instance/VM type (e.g., n2-highmem-2, t3.medium, Standard_E2as_v6)
  • ImageType: OS image type (e.g., COS_CONTAINERD, AL2_x86_64)
  • MinNodes: Minimum autoscaling node count
  • MaxNodes: Maximum autoscaling node count
  • Location: Zone, availability zone, or subnet location
  • AutoRepair: Automatic node repair enabled (GCP)
  • AutoUpgrade: Automatic node upgrade enabled (GCP)
  • AutoScaling: Autoscaling enabled (Azure)
  • CapacityType: Node capacity type - ON_DEMAND or SPOT (AWS)
  • PrivateSubnet: Whether nodes use private subnets

Examples:

# List all nodepools in table format
omnistrate-ctl deployment-cell list-nodepools --id hc-9c5ok6tmv

# List nodepools as JSON
omnistrate-ctl deployment-cell list-nodepools --id hc-9c5ok6tmv -o json

describe-nodepool

Get detailed information about a specific node pool, including current node count.

Usage:

omnistrate-ctl deployment-cell describe-nodepool --id <deployment-cell-id> --nodepool <nodepool-name>

Options:

  • --id, -i: Deployment cell ID (required)
  • --nodepool, -n: Node pool name (required)
  • --output, -o: Output format - table (default), text, or json

Output Fields:

All fields from list-nodepools plus: - CurrentNodes: Current number of running nodes in the pool

Examples:

# Describe a GCP nodepool
omnistrate-ctl deployment-cell describe-nodepool \
  --id hc-9c5ok6tmv \
  --nodepool pt-uzdahfq76b-n2-highmem-2-a

# Describe an AWS nodegroup with JSON output
omnistrate-ctl deployment-cell describe-nodepool \
  --id hc-9sp0n4418 \
  --nodepool hc-9sp0n4418-pt-uzdahfq76b-r7i-large-us-east-1c \
  -o json

# Describe an Azure nodepool
omnistrate-ctl deployment-cell describe-nodepool \
  --id hc-nnqkjzz9j \
  --nodepool izahdemsjqy9

scale-down-nodepool

Scale down a node pool to zero nodes for cost savings.

Usage:

omnistrate-ctl deployment-cell scale-down-nodepool --id <deployment-cell-id> --nodepool <nodepool-name>

Options:

  • --id, -i: Deployment cell ID (required)
  • --nodepool, -n: Node pool name (required)

Behavior:

  • Sets the node pool's maximum size to 0
  • Evicts all running nodes in the pool
  • Node pool configuration remains intact
  • Can be reversed with scale-up-nodepool
  • Useful for reducing costs during off-hours or low-usage periods

Examples:

# Scale down a GCP nodepool
omnistrate-ctl deployment-cell scale-down-nodepool \
  --id hc-9c5ok6tmv \
  --nodepool pt-uzdahfq76b-n2-highmem-2-a

# Scale down an AWS nodegroup
omnistrate-ctl deployment-cell scale-down-nodepool \
  --id hc-9sp0n4418 \
  --nodepool hc-9sp0n4418-r-4qouebzi1o-t3-medium-us-east-1c

scale-up-nodepool

Restore a node pool to its default maximum capacity of 450 nodes.

Usage:

omnistrate-ctl deployment-cell scale-up-nodepool --id <deployment-cell-id> --nodepool <nodepool-name>

Options:

  • --id, -i: Deployment cell ID (required)
  • --nodepool, -n: Node pool name (required)

Behavior:

  • Sets the node pool's maximum size to 450 (default for all clouds)
  • Restores autoscaling capacity after scale-down
  • Nodes are provisioned on-demand by the autoscaler as workloads require
  • Does not immediately create nodes - autoscaler manages actual node count

Examples:

# Scale up a previously scaled-down nodepool
omnistrate-ctl deployment-cell scale-up-nodepool \
  --id hc-9c5ok6tmv \
  --nodepool pt-uzdahfq76b-n2-highmem-2-a

# Restore an AWS nodegroup to default capacity
omnistrate-ctl deployment-cell scale-up-nodepool \
  --id hc-9sp0n4418 \
  --nodepool hc-9sp0n4418-pt-uzdahfq76b-r7i-large-us-east-1c

delete-nodepool

Permanently delete a node pool from a deployment cell.

Usage:

omnistrate-ctl deployment-cell delete-nodepool --id <deployment-cell-id> --nodepool <nodepool-name>

Options:

  • --id, -i: Deployment cell ID (required)
  • --nodepool, -n: Node pool name (required)

Behavior:

  • Permanently deletes the node pool configuration
  • Evicts all nodes and removes the pool from the cluster
  • Operation can take up to 10 minutes
  • Shows a spinner during deletion
  • Cannot be reversed - use scale-down-nodepool if you want to preserve the configuration

Examples:

# Delete a GCP nodepool
omnistrate-ctl deployment-cell delete-nodepool \
  --id hc-9c5ok6tmv \
  --nodepool pt-uzdahfq76b-n2-highmem-2-a

# Delete an AWS nodegroup
omnistrate-ctl deployment-cell delete-nodepool \
  --id hc-9sp0n4418 \
  --nodepool hc-9sp0n4418-r-4qouebzi1o-t3-medium-us-east-1c

Common Workflows

Cost Optimization

# Scale down nodepools during off-hours
omnistrate-ctl deployment-cell scale-down-nodepool --id hc-xyz --nodepool my-nodepool

# Scale up when traffic returns
omnistrate-ctl deployment-cell scale-up-nodepool --id hc-xyz --nodepool my-nodepool

Node Pool Lifecycle

# 1. View existing nodepools
omnistrate-ctl deployment-cell list-nodepools --id hc-xyz

# 2. Get details on a specific node pool to get the current node count
omnistrate-ctl deployment-cell describe-nodepool --id hc-xyz --nodepool my-nodepool

# 3. Scale down for cost savings
omnistrate-ctl deployment-cell scale-down-nodepool --id hc-xyz --nodepool my-nodepool

# 4. Later, restore capacity
omnistrate-ctl deployment-cell scale-up-nodepool --id hc-xyz --nodepool my-nodepool

# 5. Or permanently remove if no longer needed
omnistrate-ctl deployment-cell delete-nodepool --id hc-xyz --nodepool my-nodepool