Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alibaba/open-simulator
K8s cluster simulator for capacity planning
https://github.com/alibaba/open-simulator
capacity-planning kubernetes simulator
Last synced: 3 months ago
JSON representation
K8s cluster simulator for capacity planning
- Host: GitHub
- URL: https://github.com/alibaba/open-simulator
- Owner: alibaba
- License: apache-2.0
- Created: 2021-09-29T14:10:20.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-26T07:06:59.000Z (over 1 year ago)
- Last Synced: 2024-08-01T11:16:41.786Z (5 months ago)
- Topics: capacity-planning, kubernetes, simulator
- Language: Go
- Homepage:
- Size: 12.1 MB
- Stars: 241
- Watchers: 9
- Forks: 53
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: changelogs/unreleased/bugfix/80
- License: LICENSE
Awesome Lists containing this project
- awesome-edge-computing - Open-Simulator - simulator is (Uncategorized / Uncategorized)
README
# Open-Simulator
[![Go Report Card](https://goreportcard.com/badge/github.com/alibaba/open-simulator)](https://goreportcard.com/report/github.com/alibaba/open-simulator)
![workflow build](https://github.com/alibaba/open-simulator/actions/workflows/build.yml/badge.svg)English | [简体中文](./README_zh.md) | [Korean](./README_ko.md)
## Introduction
Open-simulator is a **cluster simulator** for Kubernetes. With the simulation capability of Open-Simulator, users can create a fake Kubernetes cluster and deploy [workloads](https://kubernetes.io/docs/concepts/workloads/) on it. Open-Simulator will simulate the [kube-controller-manager](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/) to create pods for the workloads, and simulate the [kube-scheduler](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-scheduler/) to assign pods to the appropriate nodes.
## Use Case
- **Capacity Planning**: plan out the number of nodes needed to install the cluster and deploy its applications successfully according to the existing server specifications (including the number of CPU cores, size of memory, capacity of disk, etc) and application workloads files (including the replicas, affinity rules, resource requirements, etc)
- **Simulating Deploying Applications**: determine whether the applications can be deployed successfully at one time by simulating deploying applications in the running kubernetes cluster. If the cluster size does not meet the resource requirements of applications, plan out the number of nodes to add
- **Pods Migration**: in the running Kubernetes cluster, pods can be migrated between nodes according to the migration policy(such as scaling down cluster, defragmentation, etc).Open-Simulator intends to reduce the labor costs in the delivery phase and maintenance costs in production environment, improve the overall utilization of cluster resources by solving these thorny issues listed above.
## ✅ Feature
- Create fake kubernetes clusters of any size
- Deploy various workloads according to the custom order
- Simulate Kube-Scheduler and report the topology results of applications deployment
- Extend scheduling algorithm
- Set the average resource utilization during capacity planning## User guide
- [English](docs/user-guide/user-guide_en_EN.md)
- [简体中文](docs/user-guide/user-guide_zh_CN.md)
- [Korean](docs/user-guide/user-guide_ko_KR.md)## Contact
Join us from DingTalk: Group No.44890136
## License
[Apache 2.0 License](LICENSE)