Increase assignment effectiveness of kubernetes pods by reducing repetitive pod mis-scheduling
AssigneeRed Hat, Inc.
InventorsSwat Sehgal, Marcel Apfelbaum
Life of this patent
Estimating the term…
Abstract
Systems and methods for intelligently scheduling a pod in a cluster of worker nodes are described. A scheduling service may account for previous scheduling attempts by considering the time and node (scheduling data) on which a preceding attempt to schedule a node were made, and factoring this information into the scheduling decision. Upon making a determination of a node on which to attempt to schedule the pod, the scheduling data may be updated with the time and node ID of the determined node and the pod may be scheduled on the determined node. In response to determining that the pod has been evicted from the determined node, the above process may continue iteratively until the pod has been successfully scheduled.
Claims20
A method comprising:
- scheduling a pod on a first node of a plurality of nodes;
- updating scheduling data in a data structure of the pod with a node identifier (ID) of the first node and a time stamp indicating a time at which the pod was scheduled on the first node;
- in response to receiving an indication that the pod has been evicted from the first node, removing the first node from the plurality of nodes to generate an updated plurality of nodes;
- and
- determining, by a processing device, a second node of the updated plurality of nodes on which to schedule the pod based at least in part on the scheduling data of the pod.
A system comprising:
- a memory;
- and
- a processing device operatively coupled to the memory, the processing device to:
- schedule a pod on a first node of a plurality of nodes;
- update scheduling data in a data structure of the pod with a node identifier (ID) of the first node and a time stamp indicating a time at which the pod was scheduled on the first node;
- in response to receiving an indication that the pod has been evicted from the first node, remove the first node from the plurality of nodes to generate an updated plurality of nodes;
- and
- determine a second node of the updated plurality of nodes on which to schedule the pod based at least in part on the scheduling data of the pod.
A non-transitory computer-readable medium having instructions stored thereon which, when executed by a processing device cause the processing device to:
- schedule a pod on a first node of a plurality of nodes;
- update scheduling data in a data structure of the pod with a node identifier (ID) of the first node and a time stamp indicating a time at which the pod was scheduled on the first node;
- in response to receiving an indication that the pod has been evicted from the first node, remove the first node from the plurality of nodes to generate an updated plurality of nodes;
- and
- determine, by the processing device, a second node of the updated plurality of nodes on which to schedule the pod based at least in part on the scheduling data of the pod.
Dependencies are inferred from the claim text.