Merge pull request #111441 from denkensk/respect-topology

Respect PodTopologySpread after rolling upgrades

Kubernetes-commit: 3902a534197b3e4b7ca7a026f5027cfe0a3cc3aa
This commit is contained in:
Kubernetes Publisher 2022-07-30 01:40:42 -07:00
commit 07735eaa93
4 changed files with 25 additions and 8 deletions

View File

@ -33,6 +33,7 @@ type TopologySpreadConstraintApplyConfiguration struct {
MinDomains *int32 `json:"minDomains,omitempty"` MinDomains *int32 `json:"minDomains,omitempty"`
NodeAffinityPolicy *v1.NodeInclusionPolicy `json:"nodeAffinityPolicy,omitempty"` NodeAffinityPolicy *v1.NodeInclusionPolicy `json:"nodeAffinityPolicy,omitempty"`
NodeTaintsPolicy *v1.NodeInclusionPolicy `json:"nodeTaintsPolicy,omitempty"` NodeTaintsPolicy *v1.NodeInclusionPolicy `json:"nodeTaintsPolicy,omitempty"`
MatchLabelKeys []string `json:"matchLabelKeys,omitempty"`
} }
// TopologySpreadConstraintApplyConfiguration constructs an declarative configuration of the TopologySpreadConstraint type for use with // TopologySpreadConstraintApplyConfiguration constructs an declarative configuration of the TopologySpreadConstraint type for use with
@ -96,3 +97,13 @@ func (b *TopologySpreadConstraintApplyConfiguration) WithNodeTaintsPolicy(value
b.NodeTaintsPolicy = &value b.NodeTaintsPolicy = &value
return b return b
} }
// WithMatchLabelKeys adds the given value to the MatchLabelKeys field in the declarative configuration
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
// If called multiple times, values provided by each call will be appended to the MatchLabelKeys field.
func (b *TopologySpreadConstraintApplyConfiguration) WithMatchLabelKeys(values ...string) *TopologySpreadConstraintApplyConfiguration {
for i := range values {
b.MatchLabelKeys = append(b.MatchLabelKeys, values[i])
}
return b
}

View File

@ -6858,6 +6858,12 @@ var schemaYAML = typed.YAMLObject(`types:
- name: labelSelector - name: labelSelector
type: type:
namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector
- name: matchLabelKeys
type:
list:
elementType:
scalar: string
elementRelationship: atomic
- name: maxSkew - name: maxSkew
type: type:
scalar: numeric scalar: numeric

8
go.mod
View File

@ -24,8 +24,8 @@ require (
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 golang.org/x/time v0.0.0-20220210224613-90d013bbcef8
google.golang.org/protobuf v1.28.0 google.golang.org/protobuf v1.28.0
k8s.io/api v0.0.0-20220727200302-537ea12bb18b k8s.io/api v0.0.0-20220730121252-be740eb85046
k8s.io/apimachinery v0.0.0-20220729201108-d58901cae3e7 k8s.io/apimachinery v0.0.0-20220730041055-954536d34b8a
k8s.io/klog/v2 v2.70.1 k8s.io/klog/v2 v2.70.1
k8s.io/kube-openapi v0.0.0-20220627174259-011e075b9cb8 k8s.io/kube-openapi v0.0.0-20220627174259-011e075b9cb8
k8s.io/utils v0.0.0-20220725171434-9bab9ef40391 k8s.io/utils v0.0.0-20220725171434-9bab9ef40391
@ -61,6 +61,6 @@ require (
) )
replace ( replace (
k8s.io/api => k8s.io/api v0.0.0-20220727200302-537ea12bb18b k8s.io/api => k8s.io/api v0.0.0-20220730121252-be740eb85046
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20220729201108-d58901cae3e7 k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20220730041055-954536d34b8a
) )

8
go.sum
View File

@ -479,10 +479,10 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
k8s.io/api v0.0.0-20220727200302-537ea12bb18b h1:bWhGCDmlF51DNpRAl3k6oyzFRmp/Qc8B16VsJ6Pguok= k8s.io/api v0.0.0-20220730121252-be740eb85046 h1:LRCzbIg+T9Wjid/bvowTOuP/XpIXuNcPL0sJvgf6lZg=
k8s.io/api v0.0.0-20220727200302-537ea12bb18b/go.mod h1:xKJDb77GsCnm/CFi8Dngm7nnP+Ob6/i8bvXy2hi1s1w= k8s.io/api v0.0.0-20220730121252-be740eb85046/go.mod h1:eo1Ffl3AkYuo3htIIpTYQrTCZY8O7sXvxstDxOLECVU=
k8s.io/apimachinery v0.0.0-20220729201108-d58901cae3e7 h1:wmWVhvmGAk3Bd41nDh/iuu9ASP1UnNjX0pXfUI6zyV4= k8s.io/apimachinery v0.0.0-20220730041055-954536d34b8a h1:cTNjnG7rOopeNp+ngE+5bMhdr9Bs2i8k1NF1AvJvgsI=
k8s.io/apimachinery v0.0.0-20220729201108-d58901cae3e7/go.mod h1:SruqPXeym/+E0MDJj3s3ymS3KjqcosO7UaWC8HCOz2w= k8s.io/apimachinery v0.0.0-20220730041055-954536d34b8a/go.mod h1:SruqPXeym/+E0MDJj3s3ymS3KjqcosO7UaWC8HCOz2w=
k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.70.1 h1:7aaoSdahviPmR+XkS7FyxlkkXs6tHISSG03RxleQAVQ= k8s.io/klog/v2 v2.70.1 h1:7aaoSdahviPmR+XkS7FyxlkkXs6tHISSG03RxleQAVQ=
k8s.io/klog/v2 v2.70.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.70.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=