Skip to main content

Kalc - the Kubernetes Calculator core

Project description

kalc, the Kubernetes calculator

License PyPI version Build Status

Overview

kalc is a Kubernetes operations automation system built on pure AI planning.

Currently, kalc provides a single command, kalc-optimize to do automatic cluster rebalancing and optimization.

kalc can also be used with Jupyter Lab in interactive mode.

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

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 and cost.

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@criticalhop.com 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

kalc-0.1.1.tar.gz (43.3 kB view hashes)

Uploaded Source

Built Distribution

kalc-0.1.1-py3-none-any.whl (55.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page