mirror of https://github.com/kubernetes/kops.git
Merge pull request #14236 from dcfranca/feat/cordon-node-before-terminating
Add suport to --cordon-node-before-terminating autoscaler flag
This commit is contained in:
commit
61cae77100
|
|
@ -11,6 +11,7 @@ This is a document to gather the release notes prior to the release.
|
|||
* Karpenter support can be considered stable on Kubernetes versions 1.22 up until 1.24. Karpenter does not yet support Kubernetes above 1.25.
|
||||
|
||||
* Cert Manager may now solve dns-01 challenges. See [the cert manager documentation](/addons/#enabling-dns-01-challenges).
|
||||
* Add support to --cordon-node-before-terminating on the cluster autoscaler addon (CordonNodeBeforeTerminating)
|
||||
|
||||
* EBS CSI driver can now be self-managed. See the [addon docs](/addons/#self-managed-aws-ebs-csi-driver).
|
||||
|
||||
|
|
|
|||
|
|
@ -666,6 +666,10 @@ spec:
|
|||
description: 'BalanceSimilarNodeGroups makes cluster autoscaler
|
||||
treat similar node groups as one. Default: false'
|
||||
type: boolean
|
||||
cordonNodeBeforeTerminating:
|
||||
description: 'CordonNodeBeforeTerminating should CA cordon nodes
|
||||
before terminating during downscale process Default: false'
|
||||
type: boolean
|
||||
cpuRequest:
|
||||
anyOf:
|
||||
- type: integer
|
||||
|
|
|
|||
|
|
@ -1013,6 +1013,9 @@ type ClusterAutoscalerConfig struct {
|
|||
// ScaleDownDelayAfterAdd determines the time after scale up that scale down evaluation resumes
|
||||
// Default: 10m0s
|
||||
ScaleDownDelayAfterAdd *string `json:"scaleDownDelayAfterAdd,omitempty"`
|
||||
// CordonNodeBeforeTerminating should CA cordon nodes before terminating during downscale process
|
||||
// Default: false
|
||||
CordonNodeBeforeTerminating *bool `json:"cordonNodeBeforeTerminating,omitempty"`
|
||||
// Image is the docker container used.
|
||||
// Default: the latest supported image for the specified kubernetes version.
|
||||
Image *string `json:"image,omitempty"`
|
||||
|
|
|
|||
|
|
@ -1039,6 +1039,9 @@ type ClusterAutoscalerConfig struct {
|
|||
// ScaleDownDelayAfterAdd determines the time after scale up that scale down evaluation resumes
|
||||
// Default: 10m0s
|
||||
ScaleDownDelayAfterAdd *string `json:"scaleDownDelayAfterAdd,omitempty"`
|
||||
// CordonNodeBeforeTerminating should CA cordon nodes before terminating during downscale process
|
||||
// Default: false
|
||||
CordonNodeBeforeTerminating *bool `json:"cordonNodeBeforeTerminating,omitempty"`
|
||||
// Image is the docker container used.
|
||||
// Default: the latest supported image for the specified kubernetes version.
|
||||
Image *string `json:"image,omitempty"`
|
||||
|
|
|
|||
|
|
@ -2332,6 +2332,7 @@ func autoConvert_v1alpha2_ClusterAutoscalerConfig_To_kops_ClusterAutoscalerConfi
|
|||
out.SkipNodesWithLocalStorage = in.SkipNodesWithLocalStorage
|
||||
out.NewPodScaleUpDelay = in.NewPodScaleUpDelay
|
||||
out.ScaleDownDelayAfterAdd = in.ScaleDownDelayAfterAdd
|
||||
out.CordonNodeBeforeTerminating = in.CordonNodeBeforeTerminating
|
||||
out.Image = in.Image
|
||||
out.MemoryRequest = in.MemoryRequest
|
||||
out.CPURequest = in.CPURequest
|
||||
|
|
@ -2355,6 +2356,7 @@ func autoConvert_kops_ClusterAutoscalerConfig_To_v1alpha2_ClusterAutoscalerConfi
|
|||
out.SkipNodesWithLocalStorage = in.SkipNodesWithLocalStorage
|
||||
out.NewPodScaleUpDelay = in.NewPodScaleUpDelay
|
||||
out.ScaleDownDelayAfterAdd = in.ScaleDownDelayAfterAdd
|
||||
out.CordonNodeBeforeTerminating = in.CordonNodeBeforeTerminating
|
||||
out.Image = in.Image
|
||||
out.MemoryRequest = in.MemoryRequest
|
||||
out.CPURequest = in.CPURequest
|
||||
|
|
|
|||
|
|
@ -943,6 +943,11 @@ func (in *ClusterAutoscalerConfig) DeepCopyInto(out *ClusterAutoscalerConfig) {
|
|||
*out = new(string)
|
||||
**out = **in
|
||||
}
|
||||
if in.CordonNodeBeforeTerminating != nil {
|
||||
in, out := &in.CordonNodeBeforeTerminating, &out.CordonNodeBeforeTerminating
|
||||
*out = new(bool)
|
||||
**out = **in
|
||||
}
|
||||
if in.Image != nil {
|
||||
in, out := &in.Image, &out.Image
|
||||
*out = new(string)
|
||||
|
|
|
|||
|
|
@ -1010,6 +1010,9 @@ type ClusterAutoscalerConfig struct {
|
|||
// ScaleDownDelayAfterAdd determines the time after scale up that scale down evaluation resumes
|
||||
// Default: 10m0s
|
||||
ScaleDownDelayAfterAdd *string `json:"scaleDownDelayAfterAdd,omitempty"`
|
||||
// CordonNodeBeforeTerminating should CA cordon nodes before terminating during downscale process
|
||||
// Default: false
|
||||
CordonNodeBeforeTerminating *bool `json:"cordonNodeBeforeTerminating,omitempty"`
|
||||
// Image is the docker container used.
|
||||
// Default: the latest supported image for the specified kubernetes version.
|
||||
Image *string `json:"image,omitempty"`
|
||||
|
|
|
|||
|
|
@ -2415,6 +2415,7 @@ func autoConvert_v1alpha3_ClusterAutoscalerConfig_To_kops_ClusterAutoscalerConfi
|
|||
out.SkipNodesWithLocalStorage = in.SkipNodesWithLocalStorage
|
||||
out.NewPodScaleUpDelay = in.NewPodScaleUpDelay
|
||||
out.ScaleDownDelayAfterAdd = in.ScaleDownDelayAfterAdd
|
||||
out.CordonNodeBeforeTerminating = in.CordonNodeBeforeTerminating
|
||||
out.Image = in.Image
|
||||
out.MemoryRequest = in.MemoryRequest
|
||||
out.CPURequest = in.CPURequest
|
||||
|
|
@ -2438,6 +2439,7 @@ func autoConvert_kops_ClusterAutoscalerConfig_To_v1alpha3_ClusterAutoscalerConfi
|
|||
out.SkipNodesWithLocalStorage = in.SkipNodesWithLocalStorage
|
||||
out.NewPodScaleUpDelay = in.NewPodScaleUpDelay
|
||||
out.ScaleDownDelayAfterAdd = in.ScaleDownDelayAfterAdd
|
||||
out.CordonNodeBeforeTerminating = in.CordonNodeBeforeTerminating
|
||||
out.Image = in.Image
|
||||
out.MemoryRequest = in.MemoryRequest
|
||||
out.CPURequest = in.CPURequest
|
||||
|
|
|
|||
|
|
@ -906,6 +906,11 @@ func (in *ClusterAutoscalerConfig) DeepCopyInto(out *ClusterAutoscalerConfig) {
|
|||
*out = new(string)
|
||||
**out = **in
|
||||
}
|
||||
if in.CordonNodeBeforeTerminating != nil {
|
||||
in, out := &in.CordonNodeBeforeTerminating, &out.CordonNodeBeforeTerminating
|
||||
*out = new(bool)
|
||||
**out = **in
|
||||
}
|
||||
if in.Image != nil {
|
||||
in, out := &in.Image, &out.Image
|
||||
*out = new(string)
|
||||
|
|
|
|||
|
|
@ -1003,6 +1003,11 @@ func (in *ClusterAutoscalerConfig) DeepCopyInto(out *ClusterAutoscalerConfig) {
|
|||
*out = new(string)
|
||||
**out = **in
|
||||
}
|
||||
if in.CordonNodeBeforeTerminating != nil {
|
||||
in, out := &in.CordonNodeBeforeTerminating, &out.CordonNodeBeforeTerminating
|
||||
*out = new(bool)
|
||||
**out = **in
|
||||
}
|
||||
if in.Image != nil {
|
||||
in, out := &in.Image, &out.Image
|
||||
*out = new(string)
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ spec:
|
|||
version: 9.99.0
|
||||
- id: k8s-1.15
|
||||
manifest: cluster-autoscaler.addons.k8s.io/k8s-1.15.yaml
|
||||
manifestHash: 356aa2af7e37cb715c74cba3dc013b8e3982d2459b78cbf333bdad379d5d0055
|
||||
manifestHash: 729dcadedb99acbf9a9b72bdb73bbc18525352865e12c7e3c2eb67cf83544dbb
|
||||
name: cluster-autoscaler.addons.k8s.io
|
||||
selector:
|
||||
k8s-addon: cluster-autoscaler.addons.k8s.io
|
||||
|
|
|
|||
|
|
@ -330,6 +330,7 @@ spec:
|
|||
- --scale-down-delay-after-add=10m0s
|
||||
- --new-pod-scale-up-delay=0s
|
||||
- --max-node-provision-time=15m0s
|
||||
- --cordon-node-before-terminating="true"
|
||||
- --logtostderr=true
|
||||
- --stderrthreshold=info
|
||||
- --v=4
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ spec:
|
|||
version: 9.99.0
|
||||
- id: k8s-1.15
|
||||
manifest: cluster-autoscaler.addons.k8s.io/k8s-1.15.yaml
|
||||
manifestHash: cd7dcf9f8dcee6c325f114c3581af77161cb94cd8ac2ee6f70c5e7b1dea0f48d
|
||||
manifestHash: e14369e0688f93dc6578f464f8da46a9b0001410e5510713513b4aa06a0cdbce
|
||||
name: cluster-autoscaler.addons.k8s.io
|
||||
selector:
|
||||
k8s-addon: cluster-autoscaler.addons.k8s.io
|
||||
|
|
|
|||
|
|
@ -330,6 +330,7 @@ spec:
|
|||
- --scale-down-delay-after-add=10m0s
|
||||
- --new-pod-scale-up-delay=0s
|
||||
- --max-node-provision-time=15m0s
|
||||
- --cordon-node-before-terminating="true"
|
||||
- --logtostderr=true
|
||||
- --stderrthreshold=info
|
||||
- --v=4
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ spec:
|
|||
version: 9.99.0
|
||||
- id: k8s-1.15
|
||||
manifest: cluster-autoscaler.addons.k8s.io/k8s-1.15.yaml
|
||||
manifestHash: 32c2d0d535f2a11e9034cf857011b214402f08c16b6bc1cf22cfbd54f2a62a5a
|
||||
manifestHash: faa9596e64df6bbf071647f3a74acb0230cccb801a330bccb67821251eb73140
|
||||
name: cluster-autoscaler.addons.k8s.io
|
||||
selector:
|
||||
k8s-addon: cluster-autoscaler.addons.k8s.io
|
||||
|
|
|
|||
|
|
@ -330,6 +330,7 @@ spec:
|
|||
- --scale-down-delay-after-add=10m0s
|
||||
- --new-pod-scale-up-delay=0s
|
||||
- --max-node-provision-time=15m0s
|
||||
- --cordon-node-before-terminating="true"
|
||||
- --logtostderr=true
|
||||
- --stderrthreshold=info
|
||||
- --v=4
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ spec:
|
|||
version: 9.99.0
|
||||
- id: k8s-1.15
|
||||
manifest: cluster-autoscaler.addons.k8s.io/k8s-1.15.yaml
|
||||
manifestHash: e7077b9af47fa0146ed707c801cb96b86cc9b9fb318b40c3da386a43a956129c
|
||||
manifestHash: 995129efbafc17f912c327c8fcce41ab5389b7b9e487ca936d0d47fcc51dc789
|
||||
name: cluster-autoscaler.addons.k8s.io
|
||||
selector:
|
||||
k8s-addon: cluster-autoscaler.addons.k8s.io
|
||||
|
|
|
|||
|
|
@ -330,6 +330,7 @@ spec:
|
|||
- --scale-down-delay-after-add=10m0s
|
||||
- --new-pod-scale-up-delay=0s
|
||||
- --max-node-provision-time=15m0s
|
||||
- --cordon-node-before-terminating="true"
|
||||
- --logtostderr=true
|
||||
- --stderrthreshold=info
|
||||
- --v=4
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ spec:
|
|||
version: 9.99.0
|
||||
- id: k8s-1.15
|
||||
manifest: cluster-autoscaler.addons.k8s.io/k8s-1.15.yaml
|
||||
manifestHash: e7077b9af47fa0146ed707c801cb96b86cc9b9fb318b40c3da386a43a956129c
|
||||
manifestHash: 995129efbafc17f912c327c8fcce41ab5389b7b9e487ca936d0d47fcc51dc789
|
||||
name: cluster-autoscaler.addons.k8s.io
|
||||
selector:
|
||||
k8s-addon: cluster-autoscaler.addons.k8s.io
|
||||
|
|
|
|||
|
|
@ -330,6 +330,7 @@ spec:
|
|||
- --scale-down-delay-after-add=10m0s
|
||||
- --new-pod-scale-up-delay=0s
|
||||
- --max-node-provision-time=15m0s
|
||||
- --cordon-node-before-terminating="true"
|
||||
- --logtostderr=true
|
||||
- --stderrthreshold=info
|
||||
- --v=4
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ spec:
|
|||
version: 9.99.0
|
||||
- id: k8s-1.15
|
||||
manifest: cluster-autoscaler.addons.k8s.io/k8s-1.15.yaml
|
||||
manifestHash: 6de82c3f846c3b3f7fb7cd92ab62635a6174e4c92c343374964a51e44a0691ca
|
||||
manifestHash: cd6497b9d972c3a828e8a2057ed7f907729674192b10377f8378d413f80126fe
|
||||
name: cluster-autoscaler.addons.k8s.io
|
||||
selector:
|
||||
k8s-addon: cluster-autoscaler.addons.k8s.io
|
||||
|
|
|
|||
|
|
@ -333,6 +333,7 @@ spec:
|
|||
- --scale-down-delay-after-add=10m0s
|
||||
- --new-pod-scale-up-delay=0s
|
||||
- --max-node-provision-time=15m0s
|
||||
- --cordon-node-before-terminating="true"
|
||||
- --logtostderr=true
|
||||
- --stderrthreshold=info
|
||||
- --v=4
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ spec:
|
|||
version: 9.99.0
|
||||
- id: k8s-1.15
|
||||
manifest: cluster-autoscaler.addons.k8s.io/k8s-1.15.yaml
|
||||
manifestHash: 8234f4b6bdccbbeb8e3df94093a0ed737e8c3a333c5193d7fd7ffbe7640cf1ec
|
||||
manifestHash: 6393b5636a0aa88b21e94c52a6209a03a6257be6e6344ab1c5887d5d9f2634c5
|
||||
name: cluster-autoscaler.addons.k8s.io
|
||||
selector:
|
||||
k8s-addon: cluster-autoscaler.addons.k8s.io
|
||||
|
|
|
|||
|
|
@ -334,6 +334,7 @@ spec:
|
|||
- --scale-down-delay-after-add=10m0s
|
||||
- --new-pod-scale-up-delay=0s
|
||||
- --max-node-provision-time=15m0s
|
||||
- --cordon-node-before-terminating="true"
|
||||
- --logtostderr=true
|
||||
- --stderrthreshold=info
|
||||
- --v=4
|
||||
|
|
|
|||
|
|
@ -329,6 +329,10 @@ spec:
|
|||
- --scale-down-delay-after-add={{ .ScaleDownDelayAfterAdd }}
|
||||
- --new-pod-scale-up-delay={{ .NewPodScaleUpDelay }}
|
||||
- --max-node-provision-time={{ .MaxNodeProvisionTime }}
|
||||
# This flag does not exist before CAS 1.21
|
||||
{{ if IsKubernetesGTE "1.21" }}
|
||||
- --cordon-node-before-terminating="{{ WithDefaultBool .CordonNodeBeforeTerminating true }}"
|
||||
{{ end }}
|
||||
- --logtostderr=true
|
||||
- --stderrthreshold=info
|
||||
- --v=4
|
||||
|
|
|
|||
Loading…
Reference in New Issue