Documentation Index

Fetch the complete documentation index at: https://docs.zesty.co/llms.txt

Use this file to discover all available pages before exploring further.

Apply Fast scaling with YAML

Prev Next

This topics describes how to apply Fast scaling to workloads using YAML.

Fast scaling is powered by Zesty HiberScale technology.

You enable HiberScale technology for workloads by defining a WorkloadDescriptor custom resource.

The  WorkloadDescriptor references a workload and defines spike protection that controls when HiberScale resumes hibernated nodes.

When protection is activated for a workload, HiberScale creates hibernated node pools for that workload, based on the QScaler CRD. Kompass manages these pools through QScaler custom resources that correspond to your cluster's autoscaler or Karpenter nodepools.

You can override the local nodepool settings, such as instance types and number of nodes as well as the global HiberScale settings as described in Advanced configuration and observability.

For more information, see HiberScale technology.

WorkloadDescriptor overview

A WorkloadDescriptor is a namespaced resource.

The main fields include:

  • workloadReference: Identifies the workload by apiVersion, kind, and name. Supported workload types: Deployment.

  • protection: Defines conditions that trigger HiberScale for spike protection.

  • resources: Specifies the vCPU and memory reserved for hibernated nodes that protect the workload.

Example:

apiVersion: kompass.zesty.co/v1alpha1
kind: WorkloadDescriptor
metadata:
  name: test-deployment
  namespace: test
spec:
  workloadReference:
    apiVersion: apps/v1
    kind: Deployment
    name: test-deployment
  protection:
    spike:
      active: true
      threshold: "10%"
      strategy: "default"
  draining:
    method: regular # accelerated (default)|regular 
    threshold: 10% # percentage|integer value 
  resources:
    cpu: 8000m
    memory: 8Gi

For a full reference of the fields, see WorkloadDescriptor field reference.

The protection section defines when HiberScale resumes hibernated nodes:

Spike protection

Spike protection reacts to unschedulable Pods.

The spike section specifies how Kompass manages unschedulable Pods. For more information on how Kompass protects workloads, see Spike protection with Fast scaling.

  • active: Determines whether the workload is protected for spikes.

    • true: Kompass resumes hibernated nodes when the number of unschedulable Pods exceeds the threshold.

    • false: Kompass ignores unschedulable Pods and does not resume hibernated nodes.

  • threshold: The percentage of Pods in the workload that must be unschedulable before Kompass resumes hibernated nodes.

  • strategy: manual (default)

    • draining: Controls how Kompass evicts Pods from its nodes during the drain process.

    • method: Selects the drain strategy.

      • accelerated: Evicts Pods without threshold control.

      • regular: Uses threshold-controlled eviction.

    • threshold: Maximum amount of simultaneous unscheduled Pods. Accepts percentage values (e.g., 10%) or integer values (e.g., 5). Applies only when the method is regular.

Argo CD

When using ArgoCD, configure it so that changes to the HPA are not treated as conflicts; otherwise, ArgoCD may revert Kompass adjustments.

Resources

The resources section defines CPU and memory values for hibernated nodes.

  • Values determine the resources allocated to the pool of hibernated nodes used to protect the workload.

    Recommended vCPU and RAM allocation

    It is recommended to allocate an amount of resources equal to the current Pod requests multiplied by the maximum number of Pods expected.

  • You can prevent workload protection in these ways:

    • Delete the WorkloadDescriptor.

      This is preferred when using IaC tools.

    • Set spike.active=false .
      This prevents HiberScale from creating hibernated nodes without deleting the WorkloadDescriptor. If there are previously created hibernated nodes, they will be removed.

Deactivation

You can deactivate HiberScale by disabling the active fields for spike.

For more information, see Resources.

Advanced configuration and observability

The following options provide additional configuration and integration. They are not required for basic operation but can be used to tune behavior or integrate with observability systems.

QScaler local setting overrides

The QScaler CRD defines hibernated node pools. For each autoscaler or Karpenter nodepool that protects a workload, Kompass creates a corresponding QScaler object.

You can override the following settings from the upstream nodepool:

  • instanceTypes: compatible instance types that support hibernation

  • maxHibernatedQNodes: maximum number of hibernated nodes

  • maxRunningQNodes: maximum number of Kompass-created nodes

Example:

spec:
 overrides:
   instanceTypes:
   - c5.xlarge
   - c5.2xlarge
   maxHibernatedQNodes:
     type: Absolute
     value: 10
   maxRunningQNodes:
     type: Absolute
     value: 10

Sizing types for maximum values:

  • Absolute: fixed number of nodes

  • PercentOfPool: percentage of the maximum size of the upstream nodepool

  • PercentOfRunning: percentage of the current number of nodes in the upstream nodepool

Recommendation: For predictability, use Absolute sizing.

QubexConfig global setting overrides

The QubexConfig CRD defines global HiberScale settings.

You can override the default settings after installation in the QubexConfig CR:

kubectl edit qubexconfig qubex-config -n <namespace>

Common settings:

  • cacheConfig.revisionMinCreationInterval: Time to wait between checking for new images in the cluster.

  • drainingConfig.scaleInProtectionDuration: Before this time elapses, machines will not be cordoned.

  • drainingConfig.drainGracePeriod: The grace period of self-managed drain before forced termination.

Metrics ingestion

Kompass control plane components expose Prometheus metrics on a /metrics endpoint. These endpoints can be scraped by Prometheus to ingest Kompass metrics into an observability system.

© 2026 Zesty. All Rights Reserved

info@zesty.co