Closed xaviertintin closed 3 months ago
Kueue borrowing capabilities are functional within the REANA Deployment, it is all defined in the borrowingLimit
of the ClusterQueue configuration.
# Run Batch Job
apiVersion: kueue.x-k8s.io/v1beta1
kind: ClusterQueue
metadata:
name: "cluster-queue-reana-run-batch"
spec:
namespaceSelector: {}
cohort: "reana"
resourceGroups:
- coveredResources: ["cpu", "memory"]
flavors:
- name: "default-flavor"
resources:
- name: "cpu"
nominalQuota: 2
borrowingLimit: 0 # blocks this from borrowing resources from another ClusterQueue
- name: "memory"
nominalQuota: 4Gi
---
# Run Job
apiVersion: kueue.x-k8s.io/v1beta1
kind: ClusterQueue
metadata:
name: "cluster-queue-reana-run-job"
spec:
namespaceSelector: {}
cohort: "reana"
resourceGroups:
- coveredResources: ["cpu", "memory"]
flavors:
- name: "default-flavor"
resources:
- name: "cpu"
nominalQuota: 5
borrowingLimit: 0 # blocks this from borrowing resources from another ClusterQueue
- name: "memory"
nominalQuota: 7Gi
Novelty and Improvements
Demonstrate the novelty of the approach by exposing a certain Kueue feature (e.g. resource groups or queue borrowing) that is not possible with the classical K8s Job API approach.