standard
turbot/gcp_thrifty

Pipeline: Correct GKE clusters without vertical pod autoscaling

Correct Kubernetes clusters with Vertical Pod Autoscaling disabled

Overview

Vertical Pod Autoscaling (VPA) is a feature of Kubernetes that allows the Kubernetes control plane to automatically adjust the resource requests and limits of containers in a pod to improve resource utilization. This can help to reduce the cost of running Kubernetes clusters by ensuring that resources are not over-provisioned.

This pipeline allows you to specify a collection of Kubernetes clusters with Vertical Pod Autoscaling disabled and then either send notifications or attempt to perform a predefined corrective action upon the collection.

Whilst it is possible to utilise this pipeline standalone, it is usually called from either:

Run the pipeline

To run this pipeline from your terminal:

flowpipe pipeline run gcp_thrifty.pipeline.correct_kubernetes_clusters_vertical_pod_autoscaling_disabled \
--arg 'items=<list(object({
title = string
name = string
location = string
project = string
conn = string
}))>'

Use this pipeline

To call this pipeline from your pipeline, use a step:

step "pipeline" "step_name" {
pipeline = gcp_thrifty.pipeline.correct_kubernetes_clusters_vertical_pod_autoscaling_disabled
args = {
items = <list(object({
title = string
name = string
location = string
project = string
conn = string
}))>
}
}

Params

NameTypeRequiredDescriptionDefault
items
list(object({
      title    = string
      name     = string
      location = string
      project  = string
      conn     = string
    }))
Yes-
notifier
notifier
YesThe name of the notifier to use for sending notification messages.notifier.default
notification_level
string
info, verbose, error
YesThe verbosity level of notification messages to send.info
approvers
list(notifier)
YesList of notifiers to be used for obtaining action/approval decisions.notifier.default
default_action
string
notify, skip, delete_kubernetes_cluster
YesThe default action to use for the detected item, used if no input is provided.notify
enabled_actions
list(string)
skip, delete_kubernetes_cluster
YesThe list of enabled actions to provide to approvers for selection.
[
"skip",
"delete_kubernetes_cluster"
]

Outputs

This pipeline has no outputs.

Tags

category = Cost
class = unused
folder = Internal
plugin = gcp
service = GCP/Kubernetes