feat: add the simulator annotations

pull/48669/head
Kensei Nakada 2024-11-09 13:40:18 +09:00 committed by GitHub
parent 3fa049b277
commit 5e0952d501
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 165 additions and 1 deletions

View File

@ -13,7 +13,7 @@ card:
<!-- overview --> <!-- overview -->
Kubernetes reserves all labels, annotations and taints in the `kubernetes.io` and `k8s.io` namespaces. Kubernetes reserves all labels and annotations in the `kubernetes.io` and `k8s.io` namespaces.
This document serves both as a reference to the values and as a coordination point for assigning values. This document serves both as a reference to the values and as a coordination point for assigning values.
@ -408,6 +408,170 @@ which is used by Kustomize and similar third-party tools.
A KRM Function **should not** modify this annotation on input objects unless it is modifying the A KRM Function **should not** modify this annotation on input objects unless it is modifying the
referenced files. A KRM Function **may** include this annotation on objects it generates. referenced files. A KRM Function **may** include this annotation on objects it generates.
### kube-scheduler-simulator.sigs.k8s.io/bind-result
Type: Annotation
Example: `kube-scheduler-simulator.sigs.k8s.io/bind-result: '{"DefaultBinder":"success"}'`
Used on: Pod
This annotation records the result of bind scheduler plugins, used by https://sigs.k8s.io/kube-scheduler-simulator.
### kube-scheduler-simulator.sigs.k8s.io/filter-result
Type: Annotation
Example:
```yaml
kube-scheduler-simulator.sigs.k8s.io/filter-result: >-
{"node-282x7":{"AzureDiskLimits":"passed","EBSLimits":"passed","GCEPDLimits":"passed","InterPodAffinity":"passed","NodeAffinity":"passed","NodeName":"passed","NodePorts":"passed","NodeResourcesFit":"passed","NodeUnschedulable":"passed","NodeVolumeLimits":"passed","PodTopologySpread":"passed","TaintToleration":"passed","VolumeBinding":"passed","VolumeRestrictions":"passed","VolumeZone":"passed"},"node-gp9t4":{"AzureDiskLimits":"passed","EBSLimits":"passed","GCEPDLimits":"passed","InterPodAffinity":"passed","NodeAffinity":"passed","NodeName":"passed","NodePorts":"passed","NodeResourcesFit":"passed","NodeUnschedulable":"passed","NodeVolumeLimits":"passed","PodTopologySpread":"passed","TaintToleration":"passed","VolumeBinding":"passed","VolumeRestrictions":"passed","VolumeZone":"passed"}}
```
Used on: Pod
This annotation records the result of filter scheduler plugins, used by https://sigs.k8s.io/kube-scheduler-simulator.
### kube-scheduler-simulator.sigs.k8s.io/finalscore-result
Type: Annotation
Example:
```yaml
kube-scheduler-simulator.sigs.k8s.io/finalscore-result: >-
{"node-282x7":{"ImageLocality":"0","InterPodAffinity":"0","NodeAffinity":"0","NodeNumber":"0","NodeResourcesBalancedAllocation":"76","NodeResourcesFit":"73","PodTopologySpread":"200","TaintToleration":"300","VolumeBinding":"0"},"node-gp9t4":{"ImageLocality":"0","InterPodAffinity":"0","NodeAffinity":"0","NodeNumber":"0","NodeResourcesBalancedAllocation":"76","NodeResourcesFit":"73","PodTopologySpread":"200","TaintToleration":"300","VolumeBinding":"0"}}
```
Used on: Pod
This annotation records the final scores that the scheduler calculates from the scores from score scheduler plugins,
used by https://sigs.k8s.io/kube-scheduler-simulator.
### kube-scheduler-simulator.sigs.k8s.io/permit-result
Type: Annotation
Example: `kube-scheduler-simulator.sigs.k8s.io/permit-result: '{"CustomPermitPlugin":"success"}'`
Used on: Pod
This annotation records the result of permit scheduler plugins, used by https://sigs.k8s.io/kube-scheduler-simulator.
### kube-scheduler-simulator.sigs.k8s.io/permit-result-timeout
Type: Annotation
Example: `kube-scheduler-simulator.sigs.k8s.io/permit-result-timeout: '{"CustomPermitPlugin":"10s"}'`
Used on: Pod
This annotation records the timeouts returned from permit scheduler plugins, used by https://sigs.k8s.io/kube-scheduler-simulator.
### kube-scheduler-simulator.sigs.k8s.io/postfilter-result
Type: Annotation
Example: `kube-scheduler-simulator.sigs.k8s.io/postfilter-result: '{"DefaultPreemption":"success"}'`
Used on: Pod
This annotation records the result of postfilter scheduler plugins, used by https://sigs.k8s.io/kube-scheduler-simulator.
### kube-scheduler-simulator.sigs.k8s.io/prebind-result
Type: Annotation
Example: `kube-scheduler-simulator.sigs.k8s.io/prebind-result: '{"VolumeBinding":"success"}'`
Used on: Pod
This annotation records the result of prebind scheduler plugins, used by https://sigs.k8s.io/kube-scheduler-simulator.
### kube-scheduler-simulator.sigs.k8s.io/prefilter-result
Type: Annotation
Example: `kube-scheduler-simulator.sigs.k8s.io/prebind-result: '{"NodeAffinity":"[\"node-\a"]"}'`
Used on: Pod
This annotation records the PreFilter result of prefilter scheduler plugins, used by https://sigs.k8s.io/kube-scheduler-simulator.
### kube-scheduler-simulator.sigs.k8s.io/prefilter-result-status
Type: Annotation
Example:
```yaml
kube-scheduler-simulator.sigs.k8s.io/prefilter-result-status: >-
{"InterPodAffinity":"success","NodeAffinity":"success","NodePorts":"success","NodeResourcesFit":"success","PodTopologySpread":"success","VolumeBinding":"success","VolumeRestrictions":"success"}
```
Used on: Pod
This annotation records the result of prefilter scheduler plugins, used by https://sigs.k8s.io/kube-scheduler-simulator.
### kube-scheduler-simulator.sigs.k8s.io/prescore-result
Type: Annotation
Example:
```yaml
kube-scheduler-simulator.sigs.k8s.io/prescore-result: >-
{"InterPodAffinity":"success","NodeAffinity":"success","NodeNumber":"success","PodTopologySpread":"success","TaintToleration":"success"}
```
Used on: Pod
This annotation records the result of prefilter scheduler plugins, used by https://sigs.k8s.io/kube-scheduler-simulator.
### kube-scheduler-simulator.sigs.k8s.io/reserve-result
Type: Annotation
Example: `kube-scheduler-simulator.sigs.k8s.io/reserve-result: '{"VolumeBinding":"success"}'`
Used on: Pod
This annotation records the result of reserve scheduler plugins, used by https://sigs.k8s.io/kube-scheduler-simulator.
### kube-scheduler-simulator.sigs.k8s.io/result-history
Type: Annotation
Example: `kube-scheduler-simulator.sigs.k8s.io/result-history: '[]'`
Used on: Pod
This annotation records all the past scheduling results from scheduler plugins, used by https://sigs.k8s.io/kube-scheduler-simulator.
### kube-scheduler-simulator.sigs.k8s.io/score-result
Type: Annotation
```yaml
kube-scheduler-simulator.sigs.k8s.io/score-result: >-
{"node-282x7":{"ImageLocality":"0","InterPodAffinity":"0","NodeAffinity":"0","NodeNumber":"0","NodeResourcesBalancedAllocation":"76","NodeResourcesFit":"73","PodTopologySpread":"0","TaintToleration":"0","VolumeBinding":"0"},"node-gp9t4":{"ImageLocality":"0","InterPodAffinity":"0","NodeAffinity":"0","NodeNumber":"0","NodeResourcesBalancedAllocation":"76","NodeResourcesFit":"73","PodTopologySpread":"0","TaintToleration":"0","VolumeBinding":"0"}}
```
Used on: Pod
This annotation records the result of score scheduler plugins, used by https://sigs.k8s.io/kube-scheduler-simulator.
### kube-scheduler-simulator.sigs.k8s.io/selected-node
Type: Annotation
Example: `kube-scheduler-simulator.sigs.k8s.io/selected-node: node-282x7`
Used on: Pod
This annotation records the node that is selected by the scheduling cycle, used by https://sigs.k8s.io/kube-scheduler-simulator.
### kubernetes.io/arch ### kubernetes.io/arch
Type: Label Type: Label