Dear Yunikorn devs,

I recently started to look into expeirmenting Yunikron as a more advanced 
scheduler for batch jobs. The Yunikorn user and group feature looks pretty 
promissing to match our requests. But after following the documentation online, 
The limits
I set in the configuration seems did not apply to any of my requests. Could 
help me to understand what I could do wrong ?


Below is my env setting


k8s version 1.21
Yunikorn version 1.1.0 (run as standalone scheduler and no admission controller)
Helm charts: 
https://github.com/apache/yunikorn-release/tree/master/helm-charts/yunikorn (I 
used the latest chart from the repo as the userLabelKey is not working for the 
Yunikorn 1.1 chart release)


Yunikorn yaml configurations:
embedAdmissionController: false

# When this flag is true, the scheduler will be deployed as Kubernetes 
scheduler plugin.
# When this flag is false, the scheduler will be deployed as a standalone 
scheduler.
enableSchedulerPlugin: false
configuration: |
    partitions:
      - name: default
        nodesortpolicy:
          type: binpacking
        placementrules:
          - name: Provided
            create: false
        limits:
        - limit: "resource limit for user"
          users:
          - user1
          maxresources: {memory: 10G, vcore: 2}
        - limit: "application limit for group"
          users:
            - sandbox
          maxapplications: 1
        queues:
          - name: root
            queues:
              - name: advertisement
                resources:
                  max:
                    {memory: 8G, vcore: 8}
              - name: search
                resources:
                  max:
                    memory: 6G
                    vcore: 6
              - name: sandbox
                parent: true
                submitacl: "user1,sandbox"
                resources:
                  max:
                    memory: 100G
                    vcore: 10

As you can see the user "user1" has been set with a partition resource limit 
{memory: 10G, vcore: 2}

But when I label my pod with: 
labels ={
    'applicationId': f"{USER}-{str(uuid.uuid1())}", 
    'queue': 'root.sandbox',
    'yunikorn.apache.org/username': 'user1',
}


I can still run infinite number of pods in the queue `root.sandbox.user1`


Has the user limit configuration been fully supported for the standalone 
scheduler or did I do something wrong in my configuration or pod labels ?


Looking forward to your reply. Thanks a lot!



--

Best regards,


Anthony

Reply via email to