Coral for AKS

AKS cost optimization

Stop paying for idle AKS capacity. Coral rebalances your workloads and removes the spare nodes in your node pools, with no code changes.

Runs on
  • AKS

What Coral does on AKS

Coral rebalances Azure Kubernetes Service (AKS) clusters. It sizes CPU and memory requests to what your containers really use. It also empties spare nodes one at a time, so the Cluster Autoscaler or AKS node auto provisioning (NAP) can remove them.

Adding nodes for demand stays with the Cluster Autoscaler or NAP, and Coral never creates machines itself. With NAP, Coral can also move work onto cheaper machines that NAP launches. The Horizontal Pod Autoscaler and KEDA keep setting how many pods run.

You stay in control. Node optimization is on from install, and you can switch off any node pool it should leave alone. Pod sizing waits until you switch on “Automatically optimize”.

How it works on AKS

Connect a cluster

One command in zoorikctl, our command-line tool, installs the agent and creates its managed identity in your Azure account. It uses your own az sign-in, and asks before every Azure change.

See the waste

Coral prices every node and workload from Azure’s published rates for your region. You see the capacity you hold against what really runs.

Optimize

Coral sizes requests to real use and empties spare nodes. The Cluster Autoscaler or NAP then removes them from your node pools.

What connect sets up on AKS

WhatWhat it is for
The Coral agent, its webhook and a node daemon
They run inside your cluster. They read usage, size new pods as they start and make the changes your settings allow.
A managed identity, with a role on this cluster only
It lets Coral remove the machines it has emptied. It can also reduce a pool’s minimum when that minimum alone keeps an emptied machine.
Workload identity and the OIDC issuer, if they are off
They let the agent use that identity through Microsoft Entra ID, with no secret or key.
NAP, only if the cluster has no autoscaler
AKS runs it for you. It launches nodes when pods are waiting, and removes the spare ones.
  • The OIDC issuer can’t be turned off again once it is on.
  • NAP needs Azure CNI networking. On a kubenet cluster it can’t be set up, so nothing adds nodes until an autoscaler exists.
  • Run connect with --dry-run first. It prints each Azure change and each object the agent setup installs, and changes nothing. If you decline a change, the agent still installs.

Install your way

Open source

Questions about Coral on AKS

Does Coral replace the Cluster Autoscaler or NAP?

No. The Cluster Autoscaler decides how many nodes each pool has, and NAP also picks the machines. Coral sizes the pod requests they read, so the same work can fit on fewer nodes, and NAP can choose smaller ones.

What if my AKS cluster has no autoscaler?

Connect offers to turn on NAP, if the cluster uses Azure CNI, and asks you first. In fixed-size pools that nothing else manages, Coral deletes the machines it empties, once you give it the permission to remove nodes. Until an autoscaler runs, nothing adds nodes when demand grows.

Can Coral move my workloads to cheaper machines on AKS?

Yes, when NAP runs. You choose the nodes to replace, Coral’s plan picks cheaper machines that still fit the work, and NAP launches them. With only the Cluster Autoscaler, Coral removes nodes but keeps each pool’s VM size.

What do I need on Azure to connect a cluster?

Cluster-admin on the cluster, and the Azure CLI (az), signed in. On the cluster’s subscription, you need the Owner role, or Contributor with User Access Administrator.

How do I remove Coral’s Azure access?

Remove the role assignment, and node removal stops once Azure applies the change. zoorikctl cluster disconnect also offers to remove the identity it created. Workload identity and the OIDC issuer stay on.

Find your own number

One line in your cloud console. One PDF report with your estimated saving at list price.

Estimate your saving

Talk to the builders

Thirty minutes with the people who build Coral.

Book a demo (opens in a new tab)

Or write to founders@zoorik.com