The k8s-overcommit-operator is a Kubernetes operator that intelligently manages resource overcommit on pod resource requests. This operator allows you to optimize your cluster's resource usage by overcommitting resources based on historical data and usage patterns. It ensures that your applications run smoothly while maximizing resource efficiency.
- Intelligent Overcommit Management: Automatically adjusts resource requests based on actual usage.
- Historical Data Analysis: Leverages historical data to make informed decisions about resource allocation.
- Customizable Policies: Define overcommit policies that suit your specific needs.
- Seamless Integration: Works with existing Kubernetes and OpenShift environments.
To get started with the k8s-overcommit-operator, you need to download the latest release. Visit the Releases section to find the appropriate version for your environment.
- A running Kubernetes or OpenShift cluster.
- kubectl installed and configured to communicate with your cluster.
- Operator SDK installed for building and managing operators.
-
Download the Operator: Visit the Releases section to download the latest version.
-
Install the Operator: Execute the downloaded file using the following command:
./k8s-overcommit-operator install
-
Verify Installation: Check if the operator is running:
kubectl get pods -n k8s-overcommit-operator
After installation, you can configure overcommit policies to suit your workload requirements. Hereβs how to create a policy:
-
Create a Policy YAML File:
apiVersion: overcommit.k8s.io/v1 kind: OvercommitPolicy metadata: name: example-policy namespace: k8s-overcommit-operator spec: cpuOvercommitRatio: 2.0 memoryOvercommitRatio: 1.5
-
Apply the Policy:
kubectl apply -f policy.yaml
-
Monitor the Operator: Use the following command to check the status of the operator:
kubectl logs -f deployment/k8s-overcommit-operator -n k8s-overcommit-operator
The operator uses CRDs to manage overcommit policies. Hereβs a list of CRDs used by the k8s-overcommit-operator:
- OvercommitPolicy: Defines the overcommit policies.
- ResourceUsage: Tracks the resource usage of pods.
The operator provides metrics that you can scrape using Prometheus. To enable metrics, ensure that your operator deployment includes the metrics endpoint configuration.
spec:
template:
spec:
containers:
- name: k8s-overcommit-operator
ports:
- containerPort: 8080
name: metrics
We welcome contributions! To contribute to the k8s-overcommit-operator, follow these steps:
-
Fork the Repository: Click on the fork button at the top right of this page.
-
Clone Your Fork:
git clone https://github.com/YOUR_USERNAME/k8s-overcommit-operator.git
-
Create a New Branch:
git checkout -b feature/your-feature
-
Make Your Changes and commit them:
git commit -m "Add your feature"
-
Push to Your Fork:
git push origin feature/your-feature
-
Create a Pull Request: Go to the original repository and click on "New Pull Request".
This project is licensed under the MIT License. See the LICENSE file for details.
- k8s-operator
- kubernetes
- openshift
- operator-sdk
- overcommit
If you encounter any issues or have questions, please open an issue in the repository. We will do our best to respond promptly.
- Thanks to the Kubernetes community for their support and contributions.
- Special thanks to all contributors who have made this project possible.
For the latest updates and releases, visit the Releases section.
Explore, contribute, and optimize your Kubernetes resources with k8s-overcommit-operator!