You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Floating resources are designed to constrain the usage of resources that are not tied to nodes. For example, if you have a fileserver outside your Kubernetes clusters, you may want to limit how many connections to the fileserver can exist at once. In that case you would add config like the below (this goes under the `scheduling` section of the Armada scheduler config).
4
+
5
+
```
6
+
floatingResources:
7
+
- name: fileserver-connections
8
+
resolution: "1"
9
+
pools:
10
+
- name: cpu
11
+
quantity: 1000
12
+
- name: gpu
13
+
quantity: 500
14
+
```
15
+
When submitting a job, floating resources are specified in the same way as normal Kubernetes resources such as `cpu`. For example if a job needs 3 cpu cores and opens 10 connections to the fileserver, the job should specify
16
+
```
17
+
resources:
18
+
requests:
19
+
cpu: "3"
20
+
fileserver-connections: "10"
21
+
limits:
22
+
cpu: "3"
23
+
fileserver-connections: "10"
24
+
```
25
+
The `requests` section is used for scheduling. For floating resources, the `limits` section is not enforced by Armada (this it not possible in the general case). Instead the workload must be trusted to respect its limit.
26
+
27
+
If the jobs submitted to Armada request more of a floating resource than is available, they queue just as if they had exceeded the amount available of a standard Kubernetes resource (e.g. `cpu`). Floating resources generally behave like standard Kubernetes resources. They use the same code for queue ordering, pre-emption, etc.
0 commit comments