[ 
https://issues.apache.org/jira/browse/FLINK-32829?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Stoiev updated FLINK-32829:
--------------------------------
    Description: 
In order to optimize kubernetes nodes CPU usage before operator, we did usually 
set higher CPU limit than request at kubernetes level.

This configuration allowed a faster rollout/restart of job/task managers 
because PODs can use unused CPU from node until they start processing.

In operator, the only possible way of setting CPU request/limit is under 
job/taskmanager.resource.cpu, this sets kubernetes 
pod.spec.resource.requests.cpu equals to pod.spec.resource.limits.cpu, and 
there is no way to configure those settings differently.

Here is a ilustration of CPU usage of PODs (managers) as percent of CPU limits 
under a rollout, using limits ≠ requests:

!image-2023-08-10-15-18-22-705.png!

 

Is this by design, or a possible missing feature?

  was:
In order to optimize kubernetes nodes CPU usage before operator, we did usually 
set higher CPU limit than request at kubernetes level.

This configuration allowed a faster rollout/restart of job/task managers 
because PODs can use unused CPU from node until they start processing.

In operator, the only possible way of setting CPU request/limit is under 
job/taskmanager.resource.cpu, this sets kubernetes 
pod.spec.resource.requests.cpu equals to pod.spec.resource.limits.cpu, and 
there is no way to configure those settings differently.

Here is a ilustration of CPU usage of PODs (managers) as percent of CPU limits 
under a rollout:

!image-2023-08-10-15-18-22-705.png!

 

Is this by design, or a possible missing feature?


> Allow setting different values for CPU requests and limits
> ----------------------------------------------------------
>
>                 Key: FLINK-32829
>                 URL: https://issues.apache.org/jira/browse/FLINK-32829
>             Project: Flink
>          Issue Type: New Feature
>          Components: Kubernetes Operator
>            Reporter: Ivan Stoiev
>            Priority: Minor
>         Attachments: image-2023-08-10-15-18-22-705.png
>
>
> In order to optimize kubernetes nodes CPU usage before operator, we did 
> usually set higher CPU limit than request at kubernetes level.
> This configuration allowed a faster rollout/restart of job/task managers 
> because PODs can use unused CPU from node until they start processing.
> In operator, the only possible way of setting CPU request/limit is under 
> job/taskmanager.resource.cpu, this sets kubernetes 
> pod.spec.resource.requests.cpu equals to pod.spec.resource.limits.cpu, and 
> there is no way to configure those settings differently.
> Here is a ilustration of CPU usage of PODs (managers) as percent of CPU 
> limits under a rollout, using limits ≠ requests:
> !image-2023-08-10-15-18-22-705.png!
>  
> Is this by design, or a possible missing feature?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to