dut3062796s / katalyst-core

Katalyst aims to provide a universal solution to help improve resource utilization and optimize the overall costs in the cloud. This is the core components in Katalyst system, including multiple agents and centralized components

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Katalyst-core

English | 简体中文

Overview

katalyst aims to provide a universal solution to help improve resource utilization and optimize the overall costs in the cloud. The main feature includes:

  • QoS-Based Resource Model: provide pre-defined QoS Model along with multiple enhancements to match up with QoS requirements for different kinds of workload;
  • Elastic Resource Management: provide both horizontal & vertical scaling implementations, along with an extensible mechanism for out-of-tree algorithms;
  • Topology-Awared Scheduling and Allocating: expend ability of native scheduler and kubelet to support topology-awared resource scheduling, making it easy to support heterogeneous devices;
  • Fine-Grained Resource Isolation: provide real-time and fine-grained resource oversold, allocation and isolation strategies for each QoS with auto-tuned workload profiling

Katalyst contains three main projects:

  • Katalyst-API: Katalyst core API, including CRD, Protocol, QoS Model and so on;
  • Katalyst-Core: Katalyst core implementations;
  • Charts: Helm charts for all projects in Kubewharf;

More Detailed Introduction will be presented in the future.

Prerequisites

Katalyst runs on a Kubewharf enhanced kubernetes cluster. Please refer to kubewharf-enhanced-kubernetes for detailed deployment instructions.

Deploying

Please refer to Charts for detailed helm charts. Since Kubewharf enhanced kubernetes is developed based on specific versions of upstream Kubernetes and maintains API compatibility with corresponding Kubernetes versions, if you wish to run other components (e.g. operators), please note its compatibility with the corresponding Kubernetes API version.

Getting started

Katalyst provides several example yaml to demonstrate the common use cases. For more information, please refer to tutorials.

Community

Contributing

If you are willing to be a contributor for the Katalyst project, please refer to our CONTRIBUTING document for details.

Contact

If you have any questions or want to contribute, you are welcome to communicate most things via GitHub issues or pull requests. Or Contact Maintainers

License

Katalyst is under the Apache 2.0 license. See the LICENSE file for details. Certain implementations in Katalyst rely on the existing code from Kubernetes and the credits go to the original Kubernetes authors.

About

Katalyst aims to provide a universal solution to help improve resource utilization and optimize the overall costs in the cloud. This is the core components in Katalyst system, including multiple agents and centralized components

License:Apache License 2.0


Languages

Language:Go 99.6%Language:Makefile 0.2%Language:Shell 0.2%Language:Dockerfile 0.0%