Go to file
Mingmeng Luo 0aebfd765d
separate dynamic agent configuration with static agent configuration (#96)
2023-06-08 21:30:28 +08:00
.github chore(*): add license header checking to ci pipeline 2023-05-09 11:59:07 +08:00
build chore(ci): add ci pipeline 2023-02-27 15:12:56 +08:00
cmd separate dynamic agent configuration with static agent configuration (#96) 2023-06-08 21:30:28 +08:00
docs doc(*): some fixes to README and proposals 2023-04-10 20:08:12 +08:00
examples doc(*) replenish documentations for katalyst 2023-02-24 00:13:04 +08:00
hack chore(*): add license header scripts 2023-05-09 11:53:48 +08:00
pkg separate dynamic agent configuration with static agent configuration (#96) 2023-06-08 21:30:28 +08:00
.gitignore init version for katalyst-core 2023-01-31 11:33:38 +08:00
.golangci.yml chore(*): add golangci-lint to CI pipeline 2023-04-11 14:41:32 +08:00
.licenseignore chore(*): add license header scripts 2023-05-09 11:53:48 +08:00
CODE_OF_CONDUCT.md init version for katalyst-core 2023-01-31 11:33:38 +08:00
CONTRIBUTING.md init version for katalyst-core 2023-01-31 11:33:38 +08:00
GOVERNANCE.md init version for katalyst-core 2023-01-31 11:33:38 +08:00
LICENSE init version for katalyst-core 2023-01-31 11:33:38 +08:00
MAINTAINERS.md init version for katalyst-core 2023-01-31 11:33:38 +08:00
Makefile feat(resource) refine resource manager to support newly cnr definition to report enhanced topology information (#45) 2023-05-12 19:20:54 +08:00
README.md doc(*): some fixes to README and proposals 2023-04-10 20:08:12 +08:00
README.zh.md doc(readme): polish readme and scheduling proposal 2023-02-27 12:52:00 +08:00
codecov.yml chore(*): modify the threshold of codecov 2023-04-20 15:50:36 +08:00
go.mod feat(qrm): katalyst network qrm plugin supports nic affinitive allocation (#69) 2023-05-30 21:08:50 +08:00
go.sum feat(qrm): katalyst network qrm plugin supports nic affinitive allocation (#69) 2023-05-30 21:08:50 +08:00

README.md

Katalyst-core

English | 简体中文

Overview

Katalyst aims to provide a universal solution to improve resource utilization and reduce overall costs in the cloud. The main features include:

  • QoS-based Resource Model: Katalyst provides a pre-defined QoS model along with multiple enhancements to meet the QoS requirements of various workloads;
  • Elastic Resource Management: Katalyst provides both horizontal and vertical scaling implementations, along with an extensible mechanism for out-of-tree algorithms;
  • Topology-aware Scheduling and Allocation: Katalyst extends the capabilities of the native scheduler and kubelet to be aware of the NUMA and device topology when scheduling Pods and allocating resources to them, thereby improving the performance of workloads;
  • Fine-grained Resource Isolation: Katalyst provides real-time and fine-grained resource over-commitment, allocation and isolation strategies for each QoS through auto-tuned workload profiling.

Katalyst contains three main projects:

  • Katalyst-API: API definitions for the Katalyst project, including CRDs, protocols, the QoS model, and more;
  • Katalyst-Core: Katalyst core implementations;
  • Charts: Helm charts for all projects in KubeWharf;

A 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 of the Katalyst project, please refer to our CONTRIBUTING document for details.

Contact

If you have any questions or wish to contribute, you are welcome to communicate via GitHub issues or pull requests. Alternatively, you may reach out to our 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.