You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+23-6Lines changed: 23 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,29 @@
1
1
# kube-reqsizer
2
-
// TODO(user): Add simple overview of use/purpose
2
+

3
+
4
+
**kube-reqsizer** is a kubernetes controller that will measure the usage of pods over time and reduce their requests based on the average usage.
3
5
4
6
## Description
5
-
// TODO(user): An in-depth paragraph about your project and overview of use
6
7
8
+
Kube-reqsizer has two primary custom flags:
9
+
10
+
```
11
+
-annotation-filter bool
12
+
13
+
Enable a annotation filter for pod scraping. Enabling this will ensure that the controller only sets requests of controllers of which pods have the annotation. (auto.request.operator/optimize=true)
14
+
15
+
-sample-size int
16
+
17
+
The sample size to create an average from when reconciling. (default 1)
18
+
```
19
+
20
+
Sample size is the amount of data-points the controller will store in cache before constructing an average for the pod. After a requests resizing, the cache will clean itself and a new average will be calculated based on the sample size.
21
+
22
+
# Deploy
23
+
24
+
// todo
25
+
26
+
# Development
7
27
## Getting Started
8
28
You’ll need a Kubernetes cluster to run against. You can use [KIND](https://sigs.k8s.io/kind) to get a local cluster for testing, or run against a remote cluster.
9
29
**Note:** Your controller will automatically use the current context in your kubeconfig file (i.e. whatever cluster `kubectl cluster-info` shows).
@@ -41,17 +61,14 @@ UnDeploy the controller to the cluster:
41
61
make undeploy
42
62
```
43
63
44
-
## Contributing
45
-
// TODO(user): Add detailed information on how you would like others to contribute to this project
46
-
47
64
### How it works
48
65
This project aims to follow the Kubernetes [Operator pattern](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/)
49
66
50
67
It uses [Controllers](https://kubernetes.io/docs/concepts/architecture/controller/)
51
68
which provides a reconcile function responsible for synchronizing resources untile the desired state is reached on the cluster
0 commit comments