Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Creates Kubecost Cloud Savings library plus Abandoned Workloads for on-prem #729

Merged
merged 22 commits into from
Sep 20, 2023
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
28140e8
Update SUMMARY.md
brstuder Sep 20, 2023
5272ff9
Create abandoned-workloads.md
brstuder Sep 20, 2023
6571dbe
Create kubecost-cloud-cluster-right-sizing.md
brstuder Sep 20, 2023
e735687
Create kubecost-cloud-request-right-sizing.md
brstuder Sep 20, 2023
9d1de9e
Create kubecost-cloud-abandoned-workloads.md
brstuder Sep 20, 2023
e45e69b
Create kubecost-cloud-savings.md
brstuder Sep 20, 2023
f67d99b
Add files via upload
brstuder Sep 20, 2023
e508744
Update abandoned-workloads.md
brstuder Sep 20, 2023
178c609
Update kubecost-cloud-savings.md
brstuder Sep 20, 2023
eb79321
Update kubecost-cloud-request-right-sizing.md
brstuder Sep 20, 2023
50d7c51
Update kubecost-cloud-request-right-sizing.md
brstuder Sep 20, 2023
b0303ff
Update kubecost-cloud-cluster-right-sizing.md
brstuder Sep 20, 2023
8347bde
Update kubecost-cloud-cluster-right-sizing.md
brstuder Sep 20, 2023
0f403fe
Update kubecost-cloud-request-right-sizing.md
brstuder Sep 20, 2023
0e712f2
Update kubecost-cloud-request-right-sizing.md
brstuder Sep 20, 2023
b474459
Update kubecost-cloud-cluster-right-sizing.md
brstuder Sep 20, 2023
07ad425
Update kubecost-cloud-request-right-sizing.md
brstuder Sep 20, 2023
8edf331
Update kubecost-cloud-request-right-sizing.md
brstuder Sep 20, 2023
1748dc8
Update abandoned-workloads.md
brstuder Sep 20, 2023
1cdfbb7
Update abandoned-workloads.md
brstuder Sep 20, 2023
f66889c
Update kubecost-cloud-cluster-right-sizing.md
brstuder Sep 20, 2023
d853f81
Update kubecost-cloud-savings.md
brstuder Sep 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
18 changes: 18 additions & 0 deletions abandoned-workloads.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# 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:
brstuder marked this conversation as resolved.
Show resolved Hide resolved
* 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.
brstuder marked this conversation as resolved.
Show resolved Hide resolved
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](https://docs.kubecost.com/using-kubecost/navigating-the-kubecost-ui/savings/cluster-right-sizing-recommendations).
brstuder marked this conversation as resolved.
Show resolved Hide resolved
{% 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.
biancaburtoiu marked this conversation as resolved.
Show resolved Hide resolved
* 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.
13 changes: 13 additions & 0 deletions kubecost-cloud-savings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# 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
brstuder marked this conversation as resolved.
Show resolved Hide resolved
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)