k8s-RL-autoscaler
A set of RL environments and RL agents that try to propose k8s hpa actions with the objective to minimize the use of replicas and optimize the use of resources
Summary
| Latest Version | Unknown |
|---|---|
| License | Unknown |
| CI Status | Failing |
| Stars | 2 |
| Forks | 0 |
| Open Issues | 0 |
| Last Commit | 2021-10-15 |
| Downloads | 0 |
| Last Indexed | 2026-07-28 04:34 |
Installation
nimble install k8s-RL-autoscaler
choosenim install k8s-RL-autoscaler
git clone https://gitlab.com/netmode/k8s-rl-autoscaler
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| k8s-RL-autoscaler | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Source
| Repository | https://gitlab.com/netmode/k8s-rl-autoscaler |
|---|---|
| Homepage | https://gitlab.com/netmode/k8s-rl-autoscaler |
| Registry Source | gitlab |
README
k8s RL autoscaler
k8s RL autoscaler is a project that offers a set of RL environments and RL agents. The RL environments can be found at the gym-k8s folder while the available agents per RL environment can be found under the agents folder. For a detailed view of each environment you can visit the wiki. A set of RL agents is implemented per environment trying to optimally manage the operation of hpas in terms of elasticity efficiency. The high level objective is to use the smaller number of pod replicas, while satisfying the Service Level Agreements (SLAs) for the operation of the application (throughput, latency or both). The actions regard the selection of proper hpa thresholds for the cpu and memory usage of the deployed pods.
Install requirementes
pip3 install -e gym-k8s
Kubeless environment setup
The Kubeless environments were tested with the following version for each of the tools:
- Kubernetes: 1.19.4 (1.20 doesn't work with Kubeless 1.0.8)
- Kubeless: 1.0.8
- python: 3.7.10
- tensorflow: 2.4.1
- tf-agents: 0.7.1
Licensing
This k8s RL autoscaler component is published under Apache 2.0 license. Please see the LICENSE file for more details.
Lead Developers
The following lead developers are responsible for this repository and have admin rights.
Eleni Fotopoulou (@efotopoulou)
Anastasios Zafeiropoulos (@tzafeir)
Nikos Filinis (@Nickgraviton)