2 minute read

We’ve just released the newest generally available version of Kubecost (1.97.0)! This new update contains a whole bunch of visual and under the hood improvements to the Kubecost platform. In this blog, I’ll highlight a few of the new updates you can find after updating to 1.97.0 To the see the full release notes, check out our GitHub Releases page for 1.97.0.

What’s new in Kubecost 1.97.0:

  • Launched alpha version of the new Overview homepage available at /overview-new.
  • Released request right-sizing recommendation API V2.

Launched alpha version of the new Overview homepage available at /overview-new.

Kubecost 1.97.0 features an alpha version of our new UI design system. Navigating to /overview-new within Kubecost will bring you to the re-deisgned Overview experience. You can also click into the Cost Allocation reports and see those with the new design as well.

Note that this is still in alpha, and only works with the Overview and Cost Allocation so far. Clicking into the “Savings”, “Assets”, and other tabs will not work, unless you remove “-new” from the URL to switch back to the old UI.

New Alpha Overview in 1.97.0

Released request right-sizing recommendation API V2.

In Kubecost 1.97.0, we have introduced v2 of the right sizing recommendation API. This API provides recommendations for container resource requests based on configurable parameters, and estimates the savings from implementing those recommendations on a per-container, per-controller level.

The endpoint is available at

http://<kubecost-address>/model/savings/requestSizingV2

Recommendation methodology

The “base” recommendation is calculated from the maximum observed usage of each resource per unique container spec (e.g. a 2-replica, 3-container Deployment will have 3 recommendations: one for each container spec).

Say you have a single-container Deployment with two replicas: A and B.

  • A’s container had peak usages of 120 mCPU and 300 MiB of RAM.
  • B’s container had peak usages of 800 mCPU and 120 MiB of RAM.

The base recommendation for the Deployment’s container will be 800 mCPU and 300 MiB of RAM. Overhead will be added to the base recommendation according to the target utilization parameters as described above.

API example

KUBECOST_ADDRESS='http://localhost:9090/model'
curl -G \
  -d 'targetCPUUtilization=0.8' \
  -d 'targetRAMUtilization=0.8' \
  -d 'window=3d' \
  --data-urlencode 'filter=namespace:"kubecost"+container:"cost-model"' \
  ${KUBECOST_ADDRESS}/savings/requestSizingV2

You can read the full docs here.

Rightsizing API v2 in 1.97.0

Upgrade Today

If you installed Kubecost using helm, you can upgrade your existing environment to the version v1.97.0 using the following commands:

export CURRENT_KUBECOST_VERSION=(`helm ls -n kubecost --output yaml| grep app_version|cut -d':' -f2|xargs`)
# Backup current values
helm get values kubecost -n kubecost >> kubecost-helm-values_$CURRENT_KUBECOST_VERSION.yaml
# Upgrade to version 1.97.0
helm upgrade kubecost kubecost/cost-analyzer --namespace kubecost --version 1.97.0

Final thoughts

Thats it for todays highlights around Kubecost 1.97.0 - We release monthly, so check back for future updates!

We’re here to help!

Join us on Slack if have questions or feedback, need help, or for general Kubernetes and cloud cost optimization conversation!