Who does what
| Job | Helm | Coral |
|---|---|---|
Installing Coral’s agent | Installs it from the coral-agent chart, also through Argo CD or Flux. | Registers the cluster and starts reading it. |
Upgrading Coral’s agent | Moves it to a newer release when you upgrade the chart. | Doesn’t update an agent that Helm manages. |
Your workload templates | Applies your charts as you wrote them. | Never edits them. |
Pod CPU and memory requests | Your templates set them. | Sizes each pod to real use, once you switch on “Automatically optimize”. |
HPAs in your charts | Creates and updates them. | Never takes one over. |
How they work together
You install Coral’s agent from its Helm chart, by hand or through Argo CD or Flux.
Helm deploys your own charts as usual, with the requests you wrote.
Once you switch on “Automatically optimize”, Coral’s webhook sizes each new pod as it starts.
Running pods are resized in place, or restarted one at a time.
When you want a newer agent, you upgrade its release to a newer chart version.
What stays yours
- Your templates. Coral never edits Git or your workload’s template. With automation off, new pods start at the size your chart sets.
- Your HPAs. Coral takes over only HPAs that nothing else manages, so it never takes over one from your chart.
- Your replica count. Coral’s one change to a Deployment is a temporary extra replica, so a new pod is Ready before the old one goes. It skips that for pods an HPA scales, and when Argo CD or Flux own the replica count.
- Coral’s settings, if you keep them in your chart. Add Coral’s
coral.zoorik.com/configurationannotation to a workload in your chart. That workload is then managed from its manifest, and its console controls are locked. - When the agent upgrades. An agent that Helm, Argo CD or Flux manages doesn’t update itself.
Set up
- Get a connect token from the Connect dialog in the Coral console. Coral is in early access.
- Install the chart as Install Coral with Helm shows. It installs the same agent that a zoorikctl connect does.
- Add Coral’s cloud identity if you want Coral to remove machines. Our Terraform modules create it as code, or zoorikctl creates it from the command line. Without it, the agent still installs, and pools that an autoscaler runs are optimized as usual.
- With Argo CD, ignore the fields that Coral’s own parts write after the install. The Helm install guide lists them.
- Connected with zoorikctl already? Disconnect first, then install the chart with a new connect token. Helm can’t take over the objects zoorikctl created.
Questions
Does Coral edit my charts or templates?
No. Coral never edits Git or your workload’s template. It sets sizes on pods as they’re created, or resizes running pods in place, so Argo CD and Flux see no drift.
Will Coral add HPAs that my chart doesn’t have?
It can: with automation on, Coral creates an HPA for an eligible Deployment or Argo Rollout that has none. To size pods only, set the policy’s Optimization type to “Vertical”. Switching automation off removes the HPAs Coral created.
Does a CPU or memory limit in my chart cap Coral?
No. Where your limit sits below the new request, Coral raises the pod’s limit. A maximum in a policy or in the workload’s Coral annotation does cap it, and so do the namespace’s LimitRange and ResourceQuota.
Can my chart keep a workload out of Coral’s sizing?
Yes. Add the label coral.zoorik.com/ignore: "true" to the workload, its pod template or its namespace. Coral then doesn’t size its pods or manage its HPAs, but the pods can still move between nodes.
How do I remove Coral if I installed it with Helm?
Uninstalling the release removes what the chart installed, except Coral’s CRDs. It doesn’t undo what the agent changed on nodes and workloads, such as Coral’s taints on nodes and the HPAs it manages. To undo those too, disconnect the cluster with zoorikctl.
Read more
- Install Coral with Helm: the chart, its values, Argo CD and upgrades.
- Coral product guide: Workload optimization: how sizes are worked out and applied, and how Coral treats HPAs.
- Coral FAQ: Does Coral change my Git or GitOps manifests?: why Argo CD and Flux see no drift.
- What are resource requests in Kubernetes?: what Coral sizes, and why requests set your cloud cost.
- Coral works with Terraform: Coral’s cloud permissions as code.