kernelci / kernelci/kernelci-project
KernelCI K8S building clusters
- Dominant language
- Python
- Stars
- 14
- Forks
- 32
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 3
Description
At current moment we have single k8s cluster with up to 40 nodes capacity. This is bare minimum, but since we migrate a lot of kernel and many new people are joining we need to expand and make k8s scheduling more smarter.
Future k8s job scheduling logic can be fairly simple:
- Pick random k8s cluster and check number of queued jobs that are not running yet (that indicates cluster is full), if it is 0 - schedule job there
- Pick next cluster and check number of queued jobs, if it is 0 - schedule job there, if we reached first cluster - based on number of queued jobs - schedule job on cluster with less queued jobs
Action items:
- [ ] Add more k8s clusters with inexpensive spot instances in different regions, but avoid to have egress costs between regions
- [ ] make k8s scheduling smarter
- [ ] forecast costs for each month based on current usage and planned growth
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue names no files, tests, or entry points. Start by mapping the existing Kubernetes scheduling path and cluster configuration, then define separate completion criteria for adding clusters, scheduling queued jobs, and forecasting monthly costs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes
- Domain
- cloud, devops, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100