4 minute read

We’ve just released the newest generally available version of Kubecost (1.99.0)!

In this blog, I’ll highlight some of the new updates you can find after updating to 1.99.0. To see the full release notes, check out our GitHub Releases page for 1.99.0.

Kubecost Free Install - Helm

helm upgrade --install kubecost \
  --repo https://kubecost.github.io/cost-analyzer cost-analyzer \
  --namespace kubecost --create-namespace

Learn About Kubecost Enterprise | Contact Us

What’s new in Kubecost 1.99.0:

  • Advanced Reports - Beta Launch
  • Continuous Request Rightsizing (aka Request Autoscaling)
  • Support for Alibaba’s public pricing
  • Cloud View Alpha
  • Allocation and Assets Report PDF Downloads
  • Added Unattached Volumes and Disks For Azure Users

Advanced Reports - Beta Launch

Read the Advanced Reports Documentation

Kubecost Advanced Reporting allows teams to sculpt and tailor custom reports to easily view the information they care about. Providing an intersection between K8s Allocation and Cloud Assets data, this tool provides insight into important cost considerations for both workload and external infrastructure costs.

2022-12-17_10-21-14

Advanced Reports let you assign your external costs to your Kubecost label groups, and view both OOC (Out-of-Cluster) and K8s (Kubernetes) costs for each group.

2022-12-16_16-09-20

You can easily map existing out-of-cluster tags to your Kubernetes labels and groups, and leverage your existing out-of-cluster tags.

2022-12-16_16-08-27

Continuous Request Rightsizing (aka Request Autoscaling)

Note: This feature is in a pre-release (alpha/beta) state and has limitations. Please read the documentation carefully.

Read the Continuous Request Rightsizing Documentation

Kubecost 1.99 now provides ability to set up continuous request right-sizing (aka request autoscaling): the automatic application of Kubecost’s recommendations to your containers’ resource requests. This provides an easy way to automatically improve your allocation of cluster resources by improving efficiency. Resource request autoscaling can be enabled and configured on a per-workload basis, so that only the workloads you want edited will be edited.

Example using Annotations:

export NS="kubecost"
export DEP="kubecost-cost-analyzer"
export AN_ENABLE="request.autoscaling.kubecost.com/enabled=true"
export AN_FREQ="request.autoscaling.kubecost.com/frequencyMinutes=660"
export AN_TCPU="cpu.request.autoscaling.kubecost.com/targetUtilization=0.9"
export AN_TMEM="memory.request.autoscaling.kubecost.com/targetUtilization=0.9"

kubectl annotate -n "${NS}" deployment "${DEP}" "${AN_ENABLE}"
kubectl annotate -n "${NS}" deployment "${DEP}" "${AN_FREQ}"
kubectl annotate -n "${NS}" deployment "${DEP}" "${AN_TCPU}"
kubectl annotate -n "${NS}" deployment "${DEP}" "${AN_TMEM}"

Kubecost will take care of the rest. After setting the annotations in the example above, Kubecost will apply the best-available recommended requests to the annotated controller every 11 hours (frequencyMinutes=660).

Request autoscaling can also be configured directly via the UI within the Savings -> Request Rightsizing Report. Read more here

2022-12-16_16-17-32

Support for Alibaba’s public pricing

We at Kubecost have always recognized the need to provide cost visibility to users working with a variety of cloud providers. As the fourth-largest global cloud solution, Alibaba Cloud is widely adopted by infrastructure teams in the Asia-Pacific region and beyond—and teams are running into the same Kubernetes cost monitoring challenges on Alibaba as they do on other platforms. Kubecost aims to serve users regardless of their cloud providers of choice, and we are proud to announce our initial stage of cloud integration support for Alibaba Cloud.

For this beta release, Alibaba Cloud users now have access to OpenCost data metrics and visualization for their cloud costs. Integration is being supported by Alibaba’s core billing API, so Kubecost provides metrics for node and disk pricing. Node pricing through Kubecost will compare Alibaba prices for CPU/GPU/RAM usage of your Kuberenetes clusters, and disk pricing provides similar cost info for PVs. This info can then be displayed in Kubecost’s UI for easy visualization of cost metrics and monitoring of real-time spending. With this information, you can also set budgets and alerts, and create pre-defined reports for your engineering and management teams.

Those using Alibaba as their primary cloud service provider will be able to take advantage of basic Kubecost features for monitoring their cloud costs. This is part of a multi-stage effort to eventually provide full support for Alibaba Cloud. In early 2023, we hope to bring deeper support to our Alibaba integration, which will allow for comparing your cloud billing data against public pricing as part of Kubecost metrics. More features and support are expected to come over time.

For users of Alibaba Cloud interested in next steps, follow our guide for the integration here

Cloud View Alpha

In v1.99, Kubecost is releasing an alpha version of a new Cloud Costs API and pipeline, which will be available only on AWS at first. We anticipate the Cloud Costs will provide rich new experience for cloud cost-and-usage data, and lower memory usage than existing Kubecost features. In the future, it will also support GCP and Azure integration.

If you are on AWS and would like to try the alpha release of the new API, please comment on the open GitHub Issue here.

Allocation and Assets Report PDF Downloads

Allocation and Asset Reports now support PDF exports! These PDF reports can also be scheduled via Alerts.

2022-12-16_16-25-55

2022-12-16_16-26-59

Added Unattached Volumes and IPs For Azure Users

Kubecost Users who have integrated their Azure Rate Card API key, you will now see Volumes and IP addresses that are unattached in the “Delete Unassigned Resources” savings report. This will identify volumes outside of Kubernetes that have been left unattached, as well as public IP addresses.

2022-12-16_16-29-12

Upgrade Today

If you installed Kubecost using helm, you can upgrade your existing environment to version v1.99.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.99.0
helm upgrade kubecost kubecost/cost-analyzer --namespace kubecost --version 1.99.0

Final thoughts

That’s it for today’s highlights around Kubecost 1.99.0 - We release monthly, so check back for future updates!

We’re here to help!

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