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
/tmp
for generated models kubectl
installed 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-optimize
will download current cluster state by executingkubectl get all
and will start generatingbash
scripts into current folder- Each generated
bash
script contains a sequence ofkubectl
commands to get the cluster in a more optimal state: better balanced nodes for availability and OOM/eviction resilience and a more compact packing - As
kalc
continues 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
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 |