- Detect & correct AlloyDB clusters exceeding max age
- Detect & correct long-running AlloyDB instances exceeding max age
- Detect & correct Compute addresses if unattached
- Detect & correct Compute disks attached to stopped instances
- Detect & correct Compute disks exceeding max size
- Detect & correct Compute disks if unattached
- Detect & correct Compute disks with low usage
- Detect & correct Compute engine instances exceeding max age
- Detect & correct Compute engine instances large
- Detect & correct Compute instances with low utilization
- Detect & correct Compute node groups without autoscaling
- Detect & correct Compute snapshots exceeding max age
- Detect & correct Dataproc clusters without autoscaling
- Detect & correct Kubernetes clusters exceeding max age
- Detect & correct GKE clusters without vertical pod autoscaling
- Detect & correct Logging Buckets with high retention period
- Detect & correct Redis instances exceeding max age
- Detect & correct SQL database instances exceeding max age
- Detect & correct SQL DB instances with low connection count
- Detect & correct SQL DB instances with low cpu utilization
- Detect & correct Storage buckets without lifecycle policies
- Detect & correct VPN gateways with no tunnels
Detect & 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 adjust the resource requests of a pod based on its usage. This can help to ensure that pods have the resources they need to run efficiently.
This pipeline detects Kubernetes clusters that have Vertical Pod Autoscaling disabled and then either sends a notification or attempts to perform a predefined corrective action.
Getting Started
By default, this trigger is disabled, however it can be configured by setting the below variables
kubernetes_clusters_vertical_pod_autoscaling_disabled_trigger_enabled
should be set totrue
as the default isfalse
.kubernetes_clusters_vertical_pod_autoscaling_disabled_trigger_schedule
should be set to your desired running schedulekubernetes_clusters_vertical_pod_autoscaling_disabled_default_action
should be set to your desired action (i.e."notify"
for notifications or"delete_kubernetes_cluster"
to delete the kubernetes cluster).
Then starting the server:
flowpipe server
or if you've set the variables in a .fpvars
file:
flowpipe server --var-file=/path/to/your.fpvars
Query
select concat(name, ' [', location, '/', project, ']') as title, name, location, _ctx ->> 'connection_name' as cred, projectfrom gcp_kubernetes_clusterwhere not (vertical_pod_autoscaling -> 'enabled') :: bool
Schedule
15m