Kalc - the Kubernetes Calculator core
Project description
kalc, the Kubernetes calculator
Overview
kalc is application aware Kubernetes rebalancing tool built on pure AI planning.
Quick Start
Requirements
- Linux x86_64
- Python 3.7+
- 6+ GB RAM, decent CPU
- Up to 20GB of disk space in
/tmpfor generated models kubectlinstalled and connected to cluster
Installation
pip install kalc
If your Linux host has other versions of Python installed you will recieve an error regarding "Could not find a version that satisfies the requirement kalc (from versions: )No matching distribution found for kalc"... If you recieve this, type the following to install kalc
python3.7 -m pip install kalc
Basic usage
$ kalc-optimize
kalc-optimize will generate bash scripts containing kubectl commands to get to more optimal states. Have a look at those scripts and execute any one of them, then stop and re-run kalc-optimize.
Autopilot
kalc can optimize your cluster in background, gradually increasing reliability by rebalancing and reducing cost by freeing nodes with low utilization. You can run kalc-optimize as a cron job, wait for X minutes and then run the most recent generated script file.
Architecture
kalc-optimizewill download current cluster state by executingkubectl get alland will start generatingbashscripts into current folder- Each generated
bashscript contains a sequence ofkubectlcommands to get the cluster in a more optimal state: better balanced nodes for availability and OOM/eviction resilience and a more compact packing - As
kalccontinues to compute, it will emit more optimal states and bigger bash scripts with kubectl commands
kalc aims to take into account current policies, anti-affility, SLO levels and best practices from successful production Kubernetes clusters.
Project Status
kalc is a developer preview and currently supports a subset of Kubernetes resources and behaviour model.
We invite you to follow @criticalhop on Twitter and to chat with the team at #kalc on freenode. If you have any questions or suggestions - feel free to open a github issue or contact andrew@kalc.io directly.
For enterprise enquiries, use the form on our website: kalc.io or write us an email at info@kalc.io
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kalc-0.1.5.tar.gz.
File metadata
- Download URL: kalc-0.1.5.tar.gz
- Upload date:
- Size: 48.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.2 CPython/3.7.5 Linux/5.0.0-1025-gcp
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
171f17f430180ca5e784035c3534221e686cb9f3e5b589f1ad1f08ddb1af1179
|
|
| MD5 |
9a230e29181715e74c61ea75229ce432
|
|
| BLAKE2b-256 |
9bbf7f7bb3dfdff05a9ecf1dc1f1c001badbbd26f7cf299f11bd30efc049596c
|
File details
Details for the file kalc-0.1.5-py3-none-any.whl.
File metadata
- Download URL: kalc-0.1.5-py3-none-any.whl
- Upload date:
- Size: 61.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.2 CPython/3.7.5 Linux/5.0.0-1025-gcp
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78d3395c21a2f123121979b974e9d2d0760768b76a2b30f028e5029e3b741069
|
|
| MD5 |
8565428dc9ac94169195c06c81586dc8
|
|
| BLAKE2b-256 |
9aaf23eee8cbcc0d9c4bf27e3f10f221dcaba9309ee34e8a82dd266aa9598e63
|