https://github.com/soumyadip007/pod-scheduler-using-k8s-operator-crd-controller-go
This project is a powerful and flexible Pod Scheduler implemented using Kubernetes (K8S) Operator, Custom Resource Definition (CRD), and Controller in the GO programming language. It enables advanced scheduling capabilities for pods in a Kubernetes cluster, allowing users to define and control how pods are distributed across nodes based on specific
https://github.com/soumyadip007/pod-scheduler-using-k8s-operator-crd-controller-go
Last synced: 7 months ago
JSON representation
This project is a powerful and flexible Pod Scheduler implemented using Kubernetes (K8S) Operator, Custom Resource Definition (CRD), and Controller in the GO programming language. It enables advanced scheduling capabilities for pods in a Kubernetes cluster, allowing users to define and control how pods are distributed across nodes based on specific
- Host: GitHub
- URL: https://github.com/soumyadip007/pod-scheduler-using-k8s-operator-crd-controller-go
- Owner: soumyadip007
- Created: 2023-06-27T06:24:14.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-29T16:55:58.000Z (over 2 years ago)
- Last Synced: 2025-01-06T00:13:06.955Z (9 months ago)
- Language: Go
- Homepage:
- Size: 10.3 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Pod Scheduler using K8S Operator CRD Controller
This project implements a powerful and flexible Pod Scheduler using Kubernetes (K8S) Operator, Custom Resource Definition (CRD), and Controller in the GO programming language. It provides advanced scheduling capabilities for pods in a Kubernetes cluster, allowing users to define and control pod distribution based on specific requirements.
## Installation
To get started with this project, follow these steps:
1. Initialize the Go module:
go mod init github.com/soumyadip007/pod-scheduler-using-k8s-operator-crd-controller-go
2. Initialize the Operator SDK:
operator-sdk init --plugins go/v3 --domain soumyadip.k8s --owner "Soumyadip Chowdhury" --repo github.com/soumyadip007/pod-scheduler-using-k8s-operator-crd-controller-go
3. Create the API definition:
operator-sdk create api --kind Scaler --group api --version v1alpha1
4. Generate the required manifests:
make manifests
5. Apply the CRD (Custom Resource Definition):
kubectl apply -f config/crd/bases/api.soumyadip.k8s_scalers.yaml
## Usage
Once the installation is complete, you can start using the Pod Scheduler. Here are a few example commands to interact with it:
- List all the available CRDs:
kubectl get crd
- Create a deployment using the Pod Scheduler:
kubectl create deploy nginx --image=nginx
- Delete a deployment:
kubectl delete deployment nginx
Feel free to explore the code and customize the scheduling behavior based on your specific requirements.
## Contributing
Contributions to this project are welcome! If you encounter any issues, have feature requests, or want to contribute improvements, please open an issue or submit a pull request on the GitHub repository.