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
Metadata
Release files for kalc 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| kalc-0.1.5.tar.gz | 48.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kalc-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 109.2 kB
Release files / kalc-0.1.5.tar.gz
| Download URL | kalc-0.1.5.tar.gz |
|---|---|
| Size | 48.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
171f17f430180ca5e784035c3534221e686cb9f3e5b589f1ad1f08ddb1af1179
|
|
BLAKE2b-256 checksum How to use checksums |
9bbf7f7bb3dfdff05a9ecf1dc1f1c001badbbd26f7cf299f11bd30efc049596c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.2 CPython/3.7.5 Linux/5.0.0-1025-gcp
|
Release files / kalc-0.1.5-py3-none-any.whl
| Download URL | kalc-0.1.5-py3-none-any.whl |
|---|---|
| Size | 61.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
78d3395c21a2f123121979b974e9d2d0760768b76a2b30f028e5029e3b741069
|
|
BLAKE2b-256 checksum How to use checksums |
9aaf23eee8cbcc0d9c4bf27e3f10f221dcaba9309ee34e8a82dd266aa9598e63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.2 CPython/3.7.5 Linux/5.0.0-1025-gcp
|
Security for kalc 0.1.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.