Skip to content

Commit

Permalink
Creates Kubecost Cloud Savings library plus Abandoned Workloads for o…
Browse files Browse the repository at this point in the history
…n-prem (#729)

Co-authored-by: Bianca Burtoiu <[email protected]>
  • Loading branch information
brstuder and biancaburtoiu authored Sep 20, 2023
1 parent f5c02ff commit a66ef29
Show file tree
Hide file tree
Showing 7 changed files with 122 additions and 0 deletions.
5 changes: 5 additions & 0 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@
* [1-click Request Right-Sizing](using-kubecost/navigating-the-kubecost-ui/savings/auto-request-sizing/one-click-request-sizing.md)
* [Continuous Request Right-Sizing](continuous-request-sizing.md)
* [ContainerStats Pipeline](containerstats-pipeline.md)
* [Abandoned Workloads](abandoned-workloads.md)
* [Spot Checklist](spot-checklist.md)
* [Spot Cluster Sizing](using-kubecost/navigating-the-kubecost-ui/savings/spot-cluster-sizing.md)
* [Cluster Health Score](cluster-health-score.md)
Expand Down Expand Up @@ -163,6 +164,10 @@
* [Kubecost Cloud: Assets Dashboard](kubecost-cloud/using-the-kubecost-cloud-ui/cloud-assets-dashboard.md)
* [Kubecost Cloud: Cloud Cost Explorer](kubecost-cloud/using-the-kubecost-cloud-ui/kubecost-cloud-cloud-cost-explorer.md)
* [Kubecost Cloud: Reports Dashboard](kubecost-cloud/using-the-kubecost-cloud-ui/cloud-reports-dashboard.md)
* [Kubecost Cloud: Savings](kubecost-cloud-savings.md)
* [Kubecost Cloud: Cluster Right-Sizing Recommendations](kubecost-cloud-cluster-right-sizing.md)
* [Kubecost Cloud: Request Right-Sizing Recommendations](kubecost-cloud-request-right-sizing.md)
* [Kubecost Cloud: Abandoned Workloads](kubecost-cloud-abandoned-workloads.md)
* [Receiving Kubecost Cloud Support](kubecost-cloud/receiving-kubecost-cloud-support.md)

## Troubleshooting
Expand Down
20 changes: 20 additions & 0 deletions abandoned-workloads.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Abandoned Workloads

The Abandoned Workloads page can detect workloads which have not sent or received a meaningful rate of traffic over a configurable duration.

You can access the Abandoned Workloads page by selecting Savings in the left navigation, then selecting Manage abandoned workloads.

![Abandoned Workloads page](/images/abandoned-workloads.png)

The Abandoned Workloads page will display front and center an estimated savings amount per month based on a number of detected workloads considered abandoned, defined by two values:

* Traffic threshold (bytes/sec): This slider will determine a meaningful rate of traffic (bytes in and out per second) to detect activity of workloads. Only workloads below the threshold will be taken into account, therefore, as you increase the threshold, you should observe the total detected workloads increase.
* Window (days): From the main dropdown, you will be able to select the duration of time to check for activity. Presets include 2 days, 7 days, and 30 days. As you increase the duration, you should observe the total detected workloads increase.

## Filtering your abandoned workloads

Beneath your total savings value and slider scale, you will see a dashboard containing all abandoned workloads. The number of total line items should be equal to the number of workloads displayed underneath your total savings value.

You can filter your workloads through four dropdowns; across clusters, namespaces, owners, and owner kinds.

Selecting an individual line item will expand the item, providing you with additional traffic data for that item.
Binary file added images/abandonedworkloads.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions kubecost-cloud-abandoned-workloads.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Kubecost Cloud: Abandoned Workloads

{% hint style="info" %}
This documentation should only be consulted when using Kubecost Cloud! For information about the Abandoned Workloads for self-hosted Kubecost, see [here](abandoned-workloads.md).
{% endhint %}

The Abandoned Workloads page can detect workloads which have not sent or received a meaningful rate of traffic over a configurable duration.

You can access the Abandoned Workloads page by selecting _Savings_ in the left navigation, then selecting _Remedy abandoned workloads_.

The Abandoned Workloads page will display front and center an estimated savings amount per month based on a number of detected workloads considered abandoned, defined by two values:

* Traffic threshold (bytes/sec): This slider will determine a meaningful rate of traffic (bytes in and out per second) to detect activity of workloads. Only workloads below the threshold will be taken into account, therefore, as you increase the threshold, you should observe the total detected workloads increase.
* Window (days): From the main dropdown, you will be able to select the duration of time to check for activity. Presets include 2 days, 7 days, and 30 days. As you increase the duration, you should observe the total detected workloads increase.

## Filtering your abandoned workloads

Beneath your total savings value and slider scale, you will see a dashboard containing all abandoned workloads. The total number of workloads detected should appear in the top right of the table.

You can filter your workloads through four dropdowns; across clusters, namespaces, owners, and owner kinds.

Selecting an individual line item will expand the item, providing you with additional traffic data for that item.
33 changes: 33 additions & 0 deletions kubecost-cloud-cluster-right-sizing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Kubecost Cloud: Cluster Sizing Recommendations

{% hint style="info" %}
This documentation should only be consulted when using Kubecost Cloud! For information about cluster sizing recommendations for self-hosted Kubecost, see [here](/using-kubecost/navigating-the-kubecost-ui/savings/cluster-right-sizing-recommendations.md).
{% endhint %}

Kubecost Cloud can provide recommendations for right-sizing your clusters to ensure they are configured in the most cost-effective way. Recommendations are available for any and all clusters.

## Viewing cluster recommendations

You can access cluster right-sizing by selecting *Savings* in the left navigation, then select the *Right-size your cluster nodes* panel.

Kubecost will offer two recommendations: simple (uses one node type) and complex (uses two or more node types). Kubecost may hide the complex recommendation when it is more expensive than the simple recommendation, and present a single recommendation instead. These recommendations and their metrics will be displayed in a chart next to your existing configuration in order to compare values like total cost, node count, and usage.

{% hint style="info" %}
You may see the Total cost of the simple or complex recommendations being larger than your current cost. This is because when Kubecost Cloud attempts to find the cheapest configuration of nodes to support the existing cluster workload, it does not read the current cost and attempt to minimize it. In this case, Kubecost Cloud is unable to provide an optimized recommendation for your current workload.
{% endhint %}

You can toggle on _Show advanced metrics_ to view more details about your cluster resource consumption.

### Configuring your recommendations

Kubecost Cloud provides its right-sizing recommendations based on the characteristics of your cluster. You have the option to edit certain properties to generate relevant recommendations. Select _Filter_ to configure your settings in the Cluster Sizing Settings window.

There are multiple dropdown menus to consider:
* In the Cluster dropdown, you can select the individual cluster you wish to apply right-sizing recommendations to.
* In the Profile dropdown, select the most relevant category of your cluster. You can select _Production_, _Development_, or _High Availability_.
* Production: Stable cluster activity, will provide some extra space for potential spikes in activity.
* Development: Cluster can tolerate small amount of instability, will run cluster somewhat close to capacity.
* High availability: Cluster should avoid instability at all costs, will size cluster with lots of extra space to account for unexpected spikes in activity.
* In the Architecture dropdown, select either _x86_ or _ARM_. You may only see x86 as an option. This is normal. At the moment, ARM architecture recommendations are only supported on AWS clusters.

With this information provided, Kubecost can provide the most accurate recommendations for running your clusters efficiently.
28 changes: 28 additions & 0 deletions kubecost-cloud-request-right-sizing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Kubecost Cloud: Request Right-Sizing Recommendations

{% hint style="info" %}
This documentation should only be consulted when using Kubecost Cloud! For information about request right-sizing recommendations for self-hosted Kubecost, see [here](https://docs.kubecost.com/using-kubecost/navigating-the-kubecost-ui/savings/auto-request-sizing).
{% endhint %}

Kubecost Cloud is able to provide recommendations for right-sizing your container requests to ensure they are as cost-effective as possible. Recommendations are provided for all namespaces within your cluster.

## Viewing request recommendations

You can access request right-sizing by selecting _Savings_ in the left navigation, then select the _Right-size your container requests_ panel.

On the Request Right-sizing Recommendations page, you will see a table containing all namespaces/controller pairs and the cluster and container associated with each. You will also see the requested and recommended RAM/CPU, the current efficiency, and finally estimated monthly savings by adopting recommendations.

### Configuring your recommendations

The displayed right-sizing recommendations are calculated by taking into account your environment profile. You can optionally configure this for more optimal results by selecting _Customize_ above the table.
* Window: The range of time Kubecost will read for resource activity to determine its recommendations.
* Profile: Refers to the type of environment. The selected value for Profile may restrict you from customizing certain other values.
* Production: Stable container activity, will provide some extra space for potential spikes in activity.
* Development: Container can tolerate small amount of instability, will run somewhat close to capacity.
* High availability: Container should avoid instability at all costs, will size container with lots of extra space to account for unexpected spikes in activity.
* CPU/RAM recommendation algorithm: The algorithm used to compute the recommendations. Currently, the only supported option is _Percentile_.
* CPU/RAM target utilization: These can be set to limit recommended utilization of resources below a percentage threshold.
* CPU/RAM percentile: Percentage of data points that will be sampled within your window range. Outlier data will be filtered out when determining recommendations.
* Add Filters: Filter the table of namespaces/controllers to be equal or not equal to values of one or several different categories such as cluster, label, or pod. For example, if you want to only see namespace/cluster pairs within the namespace kube-system, select _Namespace_ from the first dropdown, select _Equals_ from the second dropdown, then provide the value "kube-system" in the text box. Select the plus icon to confirm your filter. Multiple filters can be applied.

Select _Save_ to confirm your customization. The table should update accordingly.
14 changes: 14 additions & 0 deletions kubecost-cloud-savings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Kubecost Cloud: Savings

{% hint style="info" %}
This documentation should only be consulted when using Kubecost Cloud! For information about the Savings page for self-hosted Kubecost, see [here](savings.md).
{% endhint %}

The Savings page provides miscellaneous functionality to help you use resources more effectively and assess wasteful spending. In the center of the page, you will see your estimated monthly savings available.

## Savings insights
The Savings page provides an array of panels containing different insights capable of lowering your Kubernetes and cloud spend. The current list of Savings features includes:

* [Right-size your cluster nodes](kubecost-cloud-cluster-right-sizing.md)
* [Right-size your container requests](kubecost-cloud-request-right-sizing.md)
* [Remedy abandoned workloads](kubecost-cloud-abandoned-workloads.md)

0 comments on commit a66ef29

Please sign in to comment.