• Kubernetes Submit Queue's avatar
    Merge pull request #55839 from mindprince/extended-resource-toleration · b3f7ad74
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
    
    Add ExtendedResourceToleration admission controller.
    
    /kind feature
    /sig scheduling
    /area hw-accelerators
    
    There's elaborate discussion on this in #55080. In short, we would like to enable cluster operators and/or cloud providers to create dedicated nodes with extended resources (like GPUs, FPGAs etc.) that are reserved for pods requesting such resources. [Taints is the kubernetes concept to create dedicated nodes.](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/#example-use-cases) If the cluster operator or cloud provider wants to create dedicated node pools, they are expected to taint the nodes containing extended resources with the key equal to the name of the resource and effect equal to NoSchedule. If they do that, only pods that have a toleration for such a taint can be scheduled there. To make it easy for the user, this admission controller when enabled, automatically adds a toleration with key `example.com/device`, operator `Exists` and effect `NoSchedule` if an extended resource of name `example.com/device` is requested.
    
    **Release note**:
    ```release-note
    Add ExtendedResourceToleration admission controller. This facilitates creation of dedicated nodes with extended resources. If operators want to create dedicated nodes with extended resources (like GPUs, FPGAs etc.), they are expected to taint the node with extended resource name as the key. This admission controller, if enabled, automatically adds tolerations for such taints to pods requesting extended resources, so users don't have to manually add these tolerations. 
    ```
    b3f7ad74
Name
Last commit
Last update
..
admit Loading commit data...
alwayspullimages Loading commit data...
antiaffinity Loading commit data...
defaulttolerationseconds Loading commit data...
deny Loading commit data...
eventratelimit Loading commit data...
exec Loading commit data...
extendedresourcetoleration Loading commit data...
gc Loading commit data...
imagepolicy Loading commit data...
initialresources Loading commit data...
limitranger Loading commit data...
namespace Loading commit data...
noderestriction Loading commit data...
persistentvolume Loading commit data...
podnodeselector Loading commit data...
podpreset Loading commit data...
podtolerationrestriction Loading commit data...
priority Loading commit data...
resourcequota Loading commit data...
security Loading commit data...
securitycontext/scdeny Loading commit data...
serviceaccount Loading commit data...
storageclass/setdefault Loading commit data...
OWNERS Loading commit data...