You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@yunikorn.apache.org by Dongyao Wu <ti...@163.com> on 2022/10/06 01:21:30 UTC

Issues about Yunikorn User limits are not working

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

Re: Issues about Yunikorn User limits are not working

Posted by Wilfred Spiegelenburg <wi...@apache.org>.
>
> Has the user limit configuration been fully supported for the standalone
> scheduler or did I do something wrong in my configuration or pod labels ?
>
> Just to make sure we track it here and not just in slack where we answered
the question:
User limits are currently being implemented the config is there but the
enforcement is a work in progress.
The ETA for the functionality is tentatively around mid of December. It is
mentioned on the roadmap and is part of the user and group quotas.

Wilfred