mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-09 12:07:47 +00:00
put pod controllerref to metadata
This commit is contained in:
parent
0b597b51d6
commit
58ed69a9c8
@ -21,6 +21,7 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
"k8s.io/kubernetes/plugin/pkg/scheduler/algorithm"
|
"k8s.io/kubernetes/plugin/pkg/scheduler/algorithm"
|
||||||
|
priorityutil "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities/util"
|
||||||
"k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache"
|
"k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -47,6 +48,7 @@ type priorityMetadata struct {
|
|||||||
podTolerations []v1.Toleration
|
podTolerations []v1.Toleration
|
||||||
affinity *v1.Affinity
|
affinity *v1.Affinity
|
||||||
podSelectors []labels.Selector
|
podSelectors []labels.Selector
|
||||||
|
controllerRef *metav1.OwnerReference
|
||||||
}
|
}
|
||||||
|
|
||||||
// PriorityMetadata is a MetadataProducer. Node info can be nil.
|
// PriorityMetadata is a MetadataProducer. Node info can be nil.
|
||||||
@ -62,6 +64,7 @@ func (pmf *PriorityMetadataFactory) PriorityMetadata(pod *v1.Pod, nodeNameToInfo
|
|||||||
podTolerations: tolerationsPreferNoSchedule,
|
podTolerations: tolerationsPreferNoSchedule,
|
||||||
affinity: pod.Spec.Affinity,
|
affinity: pod.Spec.Affinity,
|
||||||
podSelectors: podSelectors,
|
podSelectors: podSelectors,
|
||||||
|
controllerRef: priorityutil.GetControllerRef(pod),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper"
|
v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper"
|
||||||
priorityutil "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities/util"
|
priorityutil "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities/util"
|
||||||
schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api"
|
schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api"
|
||||||
@ -31,8 +32,14 @@ func CalculateNodePreferAvoidPodsPriorityMap(pod *v1.Pod, meta interface{}, node
|
|||||||
if node == nil {
|
if node == nil {
|
||||||
return schedulerapi.HostPriority{}, fmt.Errorf("node not found")
|
return schedulerapi.HostPriority{}, fmt.Errorf("node not found")
|
||||||
}
|
}
|
||||||
|
var controllerRef *metav1.OwnerReference
|
||||||
|
if priorityMeta, ok := meta.(*priorityMetadata); ok {
|
||||||
|
controllerRef = priorityMeta.controllerRef
|
||||||
|
} else {
|
||||||
|
// We couldn't parse metadata - fallback to the podspec.
|
||||||
|
controllerRef = priorityutil.GetControllerRef(pod)
|
||||||
|
}
|
||||||
|
|
||||||
controllerRef := priorityutil.GetControllerRef(pod)
|
|
||||||
if controllerRef != nil {
|
if controllerRef != nil {
|
||||||
// Ignore pods that are owned by other controller than ReplicationController
|
// Ignore pods that are owned by other controller than ReplicationController
|
||||||
// or ReplicaSet.
|
// or ReplicaSet.
|
||||||
|
Loading…
Reference in New Issue
Block a user