-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Dmitry Kovalenko
committed
Jul 14, 2020
1 parent
774d696
commit d42fcf1
Showing
1 changed file
with
40 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# Kleaner | ||
|
||
![](https://img.shields.io/github/go-mod/go-version/zerodayyy/kleaner?style=flat-square) | ||
![](https://img.shields.io/docker/cloud/build/zerodayyy/kleaner?style=flat-square) | ||
|
||
A Kubernetes operator that deletes evicted pods | ||
|
||
##### Why? | ||
|
||
Sometimes an application can have a severe memory leak, which will cause it to consume more and more RAM over time, and eventually get evicted. Evicted pods are not cleaned up automatically, which creates visual noise in CLI output and tools like ArgoCD. This tool is a quick fix for such problem. | ||
|
||
##### How? | ||
|
||
The heart of this tool is a small piece of Go code, which scans all namespaces for pods with `Evicted` in their status, and deletes them. | ||
This code is run as a Kubernetes CronJob. | ||
|
||
### Installation | ||
|
||
The recommended way of using Kleaner is installing it using Helm: | ||
|
||
``` | ||
helm install kleaner helm/kleaner | ||
``` | ||
|
||
You can also use tools like ArgoCD or Flux. | ||
|
||
|
||
### Configuration | ||
|
||
There are a few variables exposed through `values.yaml` file: | ||
|
||
- **`interval`** (*valid values: 1–59*) — how many minutes to wait between runs | ||
- **`namespaces`** — list of namespaces to run in, defaults to all namespaces if not specified | ||
- **`debug`** — if something works not as you expected, this can give you more insight (Go knowledge advised) | ||
|
||
|
||
### Changelog | ||
|
||
##### v1.0.0 — *July 14, 2020* | ||
Initial release |