Skip to main content

kalc, the Kubernetes calculator

License PyPI version Build Status

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 executing kubectl get all and will start generating bash scripts into current folder
  • Each generated bash script contains a sequence of kubectl 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

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)

Source distribution for kalc 0.1.5
File Size Uploaded Provenance
kalc-0.1.5.tar.gz 48.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for kalc 0.1.5
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page