kubernetes-node-shutdown

command module
v2.0.0-...-75635cd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 9, 2024 License: GPL-3.0 Imports: 12 Imported by: 0

README

Kubernetes Node Shutdown

A small application to watch nodes and to shut them down if certain criteria is met.

What problem is this solving?

I wrote this tool because I have a couple of nodes in my private Kubernetes cluster, that are dedicated to on/off workloads (E.g.: Plex Media Server). In order to save some energy costs, I want to shut them down if this kind of workload is unused and therefore the node isn't utilized. Because running proper cluster autoscalers like Karpenter isn't possible, I came up with this solution.

Usage and deployment

Environment variables

The following environment variables can be used to control the behaviour:

Key Description Default
MEMORY_THRESHOLD Threshold in megabytes that will cause a shutdown None
CPU_THRESHOLD Threshold in mili CPU that will cause a shutdown None
SHUTDOWN_DELAY_MINUTES Delay in minutes before performing the shutdown None
SSH_USERNAME Username used to establish the SSH connection None
SSH_PRIVATE_KEY_PATH Path to the private key that is used for the SSH authentication None
SSH_PORT Port used to establish the SSH connection 22
NODE_NAMES Comma seperated list of nodes to watch None
DRY_RUN_MODE Watch resource usage of the nodes, but do not initiate a shutdown false
TZ Set a timezone that is used for logging UTC
Deployment via Helm

A Helm Chart is available and will receive regular updates.

About

kubernetes-node-shutdown is currently maintained by tibuntu.

Anyone that wants to contribute is highly welcome!

License

GNU General Public License v3.0

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL