Merge pull request #13467 from DingGGu/master

Bump NTH 1.16 and add excludeFromLoadBalancers option
This commit is contained in:
Kubernetes Prow Robot 2022-04-09 02:58:07 -07:00 committed by GitHub
commit a62d8ccf79
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 545 additions and 535 deletions

View File

@ -5241,6 +5241,11 @@ spec:
description: 'Enabled enables the node termination handler. Default:
true'
type: boolean
excludeFromLoadBalancers:
description: 'ExcludeFromLoadBalancers makes node termination
handler will mark for exclusion from load balancers before node
are cordoned. Default: true'
type: boolean
managedASGTag:
description: ManagedASGTag is the tag used to determine which
nodes NTH can take action on

View File

@ -928,6 +928,10 @@ type NodeTerminationHandlerConfig struct {
// EnableSQSTerminationDraining enables queue-processor mode which drains nodes when an SQS termination event is received.
EnableSQSTerminationDraining *bool `json:"enableSQSTerminationDraining,omitempty"`
// ExcludeFromLoadBalancers makes node termination handler will mark for exclusion from load balancers before node are cordoned.
// Default: true
ExcludeFromLoadBalancers *bool `json:"excludeFromLoadBalancers,omitempty"`
// ManagedASGTag is the tag used to determine which nodes NTH can take action on
ManagedASGTag *string `json:"managedASGTag,omitempty"`

View File

@ -951,6 +951,10 @@ type NodeTerminationHandlerConfig struct {
// EnableSQSTerminationDraining enables queue-processor mode which drains nodes when an SQS termination event is received.
EnableSQSTerminationDraining *bool `json:"enableSQSTerminationDraining,omitempty"`
// ExcludeFromLoadBalancers makes node termination handler will mark for exclusion from load balancers before node are cordoned.
// Default: true
ExcludeFromLoadBalancers *bool `json:"excludeFromLoadBalancers,omitempty"`
// ManagedASGTag is the tag used to determine which nodes NTH can take action on
ManagedASGTag *string `json:"managedASGTag,omitempty"`

View File

@ -6389,6 +6389,7 @@ func autoConvert_v1alpha2_NodeTerminationHandlerConfig_To_kops_NodeTerminationHa
out.EnableRebalanceDraining = in.EnableRebalanceDraining
out.EnablePrometheusMetrics = in.EnablePrometheusMetrics
out.EnableSQSTerminationDraining = in.EnableSQSTerminationDraining
out.ExcludeFromLoadBalancers = in.ExcludeFromLoadBalancers
out.ManagedASGTag = in.ManagedASGTag
out.MemoryRequest = in.MemoryRequest
out.CPURequest = in.CPURequest
@ -6409,6 +6410,7 @@ func autoConvert_kops_NodeTerminationHandlerConfig_To_v1alpha2_NodeTerminationHa
out.EnableRebalanceDraining = in.EnableRebalanceDraining
out.EnablePrometheusMetrics = in.EnablePrometheusMetrics
out.EnableSQSTerminationDraining = in.EnableSQSTerminationDraining
out.ExcludeFromLoadBalancers = in.ExcludeFromLoadBalancers
out.ManagedASGTag = in.ManagedASGTag
out.MemoryRequest = in.MemoryRequest
out.CPURequest = in.CPURequest

View File

@ -4426,6 +4426,11 @@ func (in *NodeTerminationHandlerConfig) DeepCopyInto(out *NodeTerminationHandler
*out = new(bool)
**out = **in
}
if in.ExcludeFromLoadBalancers != nil {
in, out := &in.ExcludeFromLoadBalancers, &out.ExcludeFromLoadBalancers
*out = new(bool)
**out = **in
}
if in.ManagedASGTag != nil {
in, out := &in.ManagedASGTag, &out.ManagedASGTag
*out = new(string)

View File

@ -928,6 +928,10 @@ type NodeTerminationHandlerConfig struct {
// ManagedASGTag is the tag used to determine which nodes NTH can take action on
ManagedASGTag *string `json:"managedASGTag,omitempty"`
// ExcludeFromLoadBalancers makes node termination handler will mark for exclusion from load balancers before node are cordoned.
// Default: true
ExcludeFromLoadBalancers *bool `json:"excludeFromLoadBalancers,omitempty"`
// MemoryRequest of NodeTerminationHandler container.
// Default: 64Mi
MemoryRequest *resource.Quantity `json:"memoryRequest,omitempty"`

View File

@ -6354,6 +6354,7 @@ func autoConvert_v1alpha3_NodeTerminationHandlerConfig_To_kops_NodeTerminationHa
out.EnablePrometheusMetrics = in.EnablePrometheusMetrics
out.EnableSQSTerminationDraining = in.EnableSQSTerminationDraining
out.ManagedASGTag = in.ManagedASGTag
out.ExcludeFromLoadBalancers = in.ExcludeFromLoadBalancers
out.MemoryRequest = in.MemoryRequest
out.CPURequest = in.CPURequest
out.Version = in.Version
@ -6373,6 +6374,7 @@ func autoConvert_kops_NodeTerminationHandlerConfig_To_v1alpha3_NodeTerminationHa
out.EnableRebalanceDraining = in.EnableRebalanceDraining
out.EnablePrometheusMetrics = in.EnablePrometheusMetrics
out.EnableSQSTerminationDraining = in.EnableSQSTerminationDraining
out.ExcludeFromLoadBalancers = in.ExcludeFromLoadBalancers
out.ManagedASGTag = in.ManagedASGTag
out.MemoryRequest = in.MemoryRequest
out.CPURequest = in.CPURequest

View File

@ -4341,6 +4341,11 @@ func (in *NodeTerminationHandlerConfig) DeepCopyInto(out *NodeTerminationHandler
*out = new(string)
**out = **in
}
if in.ExcludeFromLoadBalancers != nil {
in, out := &in.ExcludeFromLoadBalancers, &out.ExcludeFromLoadBalancers
*out = new(bool)
**out = **in
}
if in.MemoryRequest != nil {
in, out := &in.MemoryRequest, &out.MemoryRequest
x := (*in).DeepCopy()

View File

@ -4611,6 +4611,11 @@ func (in *NodeTerminationHandlerConfig) DeepCopyInto(out *NodeTerminationHandler
*out = new(bool)
**out = **in
}
if in.ExcludeFromLoadBalancers != nil {
in, out := &in.ExcludeFromLoadBalancers, &out.ExcludeFromLoadBalancers
*out = new(bool)
**out = **in
}
if in.ManagedASGTag != nil {
in, out := &in.ManagedASGTag, &out.ManagedASGTag
*out = new(string)

View File

@ -60,6 +60,10 @@ func (b *NodeTerminationHandlerOptionsBuilder) BuildOptions(o interface{}) error
nth.EnableSQSTerminationDraining = fi.Bool(false)
}
if nth.ExcludeFromLoadBalancers == nil {
nth.ExcludeFromLoadBalancers = fi.Bool(true)
}
if nth.ManagedASGTag == nil {
nth.ManagedASGTag = fi.String("aws-node-termination-handler/managed")
}
@ -75,7 +79,7 @@ func (b *NodeTerminationHandlerOptionsBuilder) BuildOptions(o interface{}) error
}
if nth.Version == nil {
nth.Version = fi.String("v1.14.0")
nth.Version = fi.String("v1.16.1")
}
return nil

View File

@ -212,10 +212,11 @@ spec:
enableScheduledEventDraining: false
enableSpotInterruptionDraining: true
enabled: true
excludeFromLoadBalancers: true
managedASGTag: aws-node-termination-handler/managed
memoryRequest: 64Mi
prometheusEnable: false
version: v1.14.0
version: v1.16.1
nonMasqueradeCIDR: 172.20.0.0/16
podCIDR: 172.20.128.0/17
secretStore: memfs://clusters.example.com/minimal.example.com/secrets

View File

@ -60,7 +60,7 @@ spec:
version: 9.99.0
- id: k8s-1.11
manifest: node-termination-handler.aws/k8s-1.11.yaml
manifestHash: b0be9a82a9215b10ce4aefa09589e86d754b7484722db7488a8cf3bbaa2ccc3f
manifestHash: af717441b7dfbb8b3220994545207f60415a8f3cef7e06b662c52894f1a63fda
name: node-termination-handler.aws
prune:
kinds:

View File

@ -4,10 +4,12 @@ metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: node-termination-handler.aws
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/version: v1.14.0
app.kubernetes.io/part-of: aws-node-termination-handler
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
k8s-app: aws-node-termination-handler
name: aws-node-termination-handler
@ -21,7 +23,12 @@ metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: node-termination-handler.aws
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/part-of: aws-node-termination-handler
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
name: aws-node-termination-handler
rules:
@ -59,6 +66,13 @@ rules:
- daemonsets
verbs:
- get
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
---
@ -68,7 +82,12 @@ metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: node-termination-handler.aws
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/part-of: aws-node-termination-handler
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
name: aws-node-termination-handler
roleRef:
@ -91,7 +110,7 @@ metadata:
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/version: v1.14.0
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
k8s-app: aws-node-termination-handler
name: aws-node-termination-handler
@ -112,21 +131,6 @@ spec:
kops.k8s.io/managed-by: kops
kubernetes.io/os: linux
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/os
operator: In
values:
- linux
- key: kubernetes.io/arch
operator: In
values:
- amd64
- arm64
- arm
containers:
- env:
- name: NODE_NAME
@ -141,17 +145,40 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: ENABLE_PROBES_SERVER
value: "false"
- name: PROBES_SERVER_PORT
value: "8080"
- name: PROBES_SERVER_ENDPOINT
value: /healthz
- name: LOG_LEVEL
value: info
- name: JSON_LOGGING
value: "true"
- name: ENABLE_PROMETHEUS_SERVER
value: "false"
- name: PROMETHEUS_SERVER_PORT
value: "9092"
- name: METADATA_TRIES
value: "3"
- name: DRY_RUN
value: "false"
- name: CORDON_ONLY
value: "false"
- name: TAINT_NODE
value: "false"
- name: EXCLUDE_FROM_LOAD_BALANCERS
value: "true"
- name: DELETE_LOCAL_DATA
value: "true"
- name: IGNORE_DAEMON_SETS
value: "true"
- name: POD_TERMINATION_GRACE_PERIOD
value: "-1"
- name: INSTANCE_METADATA_URL
- name: NODE_TERMINATION_GRACE_PERIOD
- name: WEBHOOK_URL
- name: WEBHOOK_HEADERS
- name: WEBHOOK_TEMPLATE
value: "120"
- name: EMIT_KUBERNETES_EVENTS
value: "true"
- name: ENABLE_SPOT_INTERRUPTION_DRAINING
value: "true"
- name: ENABLE_SCHEDULED_EVENT_DRAINING
@ -160,40 +187,15 @@ spec:
value: "false"
- name: ENABLE_REBALANCE_DRAINING
value: "false"
- name: CHECK_ASG_TAG_BEFORE_DRAINING
value: "true"
- name: MANAGED_ASG_TAG
value: aws-node-termination-handler/managed
- name: METADATA_TRIES
value: "3"
- name: CORDON_ONLY
- name: ENABLE_SQS_TERMINATION_DRAINING
value: "false"
- name: TAINT_NODE
value: "false"
- name: JSON_LOGGING
value: "true"
- name: ENABLE_PROMETHEUS_SERVER
value: "false"
- name: PROMETHEUS_SERVER_PORT
value: "9092"
- name: LOG_LEVEL
value: info
- name: WEBHOOK_PROXY
- name: UPTIME_FROM_FILE
- name: EMIT_KUBERNETES_EVENTS
value: "true"
- name: KUBERNETES_EVENTS_EXTRA_ANNOTATIONS
- name: ENABLE_PROBES_SERVER
value: "false"
- name: PROBES_SERVER_PORT
value: "8080"
- name: PROBES_SERVER_ENDPOINT
value: /healthz
value: /proc/uptime
- name: AWS_ROLE_ARN
value: arn:aws-test:iam::123456789012:role/aws-node-termination-handler.kube-system.sa.minimal.example.com
- name: AWS_WEB_IDENTITY_TOKEN_FILE
value: /var/run/secrets/amazonaws.com/token
image: public.ecr.aws/aws-ec2/aws-node-termination-handler:v1.14.0
image: public.ecr.aws/aws-ec2/aws-node-termination-handler:v1.16.1
imagePullPolicy: IfNotPresent
name: aws-node-termination-handler
resources:
@ -237,5 +239,5 @@ spec:
path: token
updateStrategy:
rollingUpdate:
maxUnavailable: 1
maxUnavailable: 25%
type: RollingUpdate

View File

@ -222,10 +222,11 @@ spec:
enableScheduledEventDraining: false
enableSpotInterruptionDraining: true
enabled: true
excludeFromLoadBalancers: true
managedASGTag: aws-node-termination-handler/managed
memoryRequest: 64Mi
prometheusEnable: false
version: v1.14.0
version: v1.16.1
nonMasqueradeCIDR: 172.20.0.0/16
podCIDR: 172.20.128.0/17
secretStore: memfs://clusters.example.com/minimal.example.com/secrets

View File

@ -67,7 +67,7 @@ spec:
version: 9.99.0
- id: k8s-1.11
manifest: node-termination-handler.aws/k8s-1.11.yaml
manifestHash: b0be9a82a9215b10ce4aefa09589e86d754b7484722db7488a8cf3bbaa2ccc3f
manifestHash: af717441b7dfbb8b3220994545207f60415a8f3cef7e06b662c52894f1a63fda
name: node-termination-handler.aws
prune:
kinds:

View File

@ -4,10 +4,12 @@ metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: node-termination-handler.aws
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/version: v1.14.0
app.kubernetes.io/part-of: aws-node-termination-handler
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
k8s-app: aws-node-termination-handler
name: aws-node-termination-handler
@ -21,7 +23,12 @@ metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: node-termination-handler.aws
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/part-of: aws-node-termination-handler
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
name: aws-node-termination-handler
rules:
@ -59,6 +66,13 @@ rules:
- daemonsets
verbs:
- get
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
---
@ -68,7 +82,12 @@ metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: node-termination-handler.aws
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/part-of: aws-node-termination-handler
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
name: aws-node-termination-handler
roleRef:
@ -91,7 +110,7 @@ metadata:
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/version: v1.14.0
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
k8s-app: aws-node-termination-handler
name: aws-node-termination-handler
@ -112,21 +131,6 @@ spec:
kops.k8s.io/managed-by: kops
kubernetes.io/os: linux
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/os
operator: In
values:
- linux
- key: kubernetes.io/arch
operator: In
values:
- amd64
- arm64
- arm
containers:
- env:
- name: NODE_NAME
@ -141,17 +145,40 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: ENABLE_PROBES_SERVER
value: "false"
- name: PROBES_SERVER_PORT
value: "8080"
- name: PROBES_SERVER_ENDPOINT
value: /healthz
- name: LOG_LEVEL
value: info
- name: JSON_LOGGING
value: "true"
- name: ENABLE_PROMETHEUS_SERVER
value: "false"
- name: PROMETHEUS_SERVER_PORT
value: "9092"
- name: METADATA_TRIES
value: "3"
- name: DRY_RUN
value: "false"
- name: CORDON_ONLY
value: "false"
- name: TAINT_NODE
value: "false"
- name: EXCLUDE_FROM_LOAD_BALANCERS
value: "true"
- name: DELETE_LOCAL_DATA
value: "true"
- name: IGNORE_DAEMON_SETS
value: "true"
- name: POD_TERMINATION_GRACE_PERIOD
value: "-1"
- name: INSTANCE_METADATA_URL
- name: NODE_TERMINATION_GRACE_PERIOD
- name: WEBHOOK_URL
- name: WEBHOOK_HEADERS
- name: WEBHOOK_TEMPLATE
value: "120"
- name: EMIT_KUBERNETES_EVENTS
value: "true"
- name: ENABLE_SPOT_INTERRUPTION_DRAINING
value: "true"
- name: ENABLE_SCHEDULED_EVENT_DRAINING
@ -160,40 +187,15 @@ spec:
value: "false"
- name: ENABLE_REBALANCE_DRAINING
value: "false"
- name: CHECK_ASG_TAG_BEFORE_DRAINING
value: "true"
- name: MANAGED_ASG_TAG
value: aws-node-termination-handler/managed
- name: METADATA_TRIES
value: "3"
- name: CORDON_ONLY
- name: ENABLE_SQS_TERMINATION_DRAINING
value: "false"
- name: TAINT_NODE
value: "false"
- name: JSON_LOGGING
value: "true"
- name: ENABLE_PROMETHEUS_SERVER
value: "false"
- name: PROMETHEUS_SERVER_PORT
value: "9092"
- name: LOG_LEVEL
value: info
- name: WEBHOOK_PROXY
- name: UPTIME_FROM_FILE
- name: EMIT_KUBERNETES_EVENTS
value: "true"
- name: KUBERNETES_EVENTS_EXTRA_ANNOTATIONS
- name: ENABLE_PROBES_SERVER
value: "false"
- name: PROBES_SERVER_PORT
value: "8080"
- name: PROBES_SERVER_ENDPOINT
value: /healthz
value: /proc/uptime
- name: AWS_ROLE_ARN
value: arn:aws-test:iam::123456789012:role/aws-node-termination-handler.kube-system.sa.minimal.example.com
- name: AWS_WEB_IDENTITY_TOKEN_FILE
value: /var/run/secrets/amazonaws.com/token
image: public.ecr.aws/aws-ec2/aws-node-termination-handler:v1.14.0
image: public.ecr.aws/aws-ec2/aws-node-termination-handler:v1.16.1
imagePullPolicy: IfNotPresent
name: aws-node-termination-handler
resources:
@ -237,5 +239,5 @@ spec:
path: token
updateStrategy:
rollingUpdate:
maxUnavailable: 1
maxUnavailable: 25%
type: RollingUpdate

View File

@ -211,10 +211,11 @@ spec:
enableScheduledEventDraining: false
enableSpotInterruptionDraining: true
enabled: true
excludeFromLoadBalancers: true
managedASGTag: aws-node-termination-handler/managed
memoryRequest: 64Mi
prometheusEnable: false
version: v1.14.0
version: v1.16.1
nonMasqueradeCIDR: 172.20.0.0/16
podCIDR: 172.20.128.0/17
secretStore: memfs://clusters.example.com/minimal.example.com/secrets

View File

@ -60,7 +60,7 @@ spec:
version: 9.99.0
- id: k8s-1.11
manifest: node-termination-handler.aws/k8s-1.11.yaml
manifestHash: bbdad2ac50bd56f8e8c0333fa0e26cea5434fc6621ba981b239ed52f62be2cee
manifestHash: 56548e094bf217e87700adc8cf4cbaa18c1260a768217e758c26564cb57bec59
name: node-termination-handler.aws
prune:
kinds:

View File

@ -4,10 +4,12 @@ metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: node-termination-handler.aws
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/version: v1.14.0
app.kubernetes.io/part-of: aws-node-termination-handler
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
k8s-app: aws-node-termination-handler
name: aws-node-termination-handler
@ -21,7 +23,12 @@ metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: node-termination-handler.aws
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/part-of: aws-node-termination-handler
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
name: aws-node-termination-handler
rules:
@ -59,6 +66,13 @@ rules:
- daemonsets
verbs:
- get
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
---
@ -68,7 +82,12 @@ metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: node-termination-handler.aws
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/part-of: aws-node-termination-handler
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
name: aws-node-termination-handler
roleRef:
@ -91,7 +110,7 @@ metadata:
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/version: v1.14.0
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
k8s-app: aws-node-termination-handler
name: aws-node-termination-handler
@ -112,21 +131,6 @@ spec:
kops.k8s.io/managed-by: kops
kubernetes.io/os: linux
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/os
operator: In
values:
- linux
- key: kubernetes.io/arch
operator: In
values:
- amd64
- arm64
- arm
containers:
- env:
- name: NODE_NAME
@ -141,22 +145,40 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: ENABLE_PROBES_SERVER
value: "false"
- name: PROBES_SERVER_PORT
value: "8080"
- name: PROBES_SERVER_ENDPOINT
value: /healthz
- name: LOG_LEVEL
value: info
- name: JSON_LOGGING
value: "true"
- name: ENABLE_PROMETHEUS_SERVER
value: "false"
- name: PROMETHEUS_SERVER_PORT
value: "9092"
- name: METADATA_TRIES
value: "3"
- name: DRY_RUN
value: "false"
- name: CORDON_ONLY
value: "false"
- name: TAINT_NODE
value: "false"
- name: EXCLUDE_FROM_LOAD_BALANCERS
value: "true"
- name: DELETE_LOCAL_DATA
value: "true"
- name: IGNORE_DAEMON_SETS
value: "true"
- name: POD_TERMINATION_GRACE_PERIOD
value: "-1"
- name: INSTANCE_METADATA_URL
value: ""
- name: NODE_TERMINATION_GRACE_PERIOD
value: ""
- name: WEBHOOK_URL
value: ""
- name: WEBHOOK_HEADERS
value: ""
- name: WEBHOOK_TEMPLATE
value: ""
value: "120"
- name: EMIT_KUBERNETES_EVENTS
value: "true"
- name: ENABLE_SPOT_INTERRUPTION_DRAINING
value: "true"
- name: ENABLE_SCHEDULED_EVENT_DRAINING
@ -165,39 +187,11 @@ spec:
value: "false"
- name: ENABLE_REBALANCE_DRAINING
value: "false"
- name: CHECK_ASG_TAG_BEFORE_DRAINING
value: "true"
- name: MANAGED_ASG_TAG
value: aws-node-termination-handler/managed
- name: METADATA_TRIES
value: "3"
- name: CORDON_ONLY
- name: ENABLE_SQS_TERMINATION_DRAINING
value: "false"
- name: TAINT_NODE
value: "false"
- name: JSON_LOGGING
value: "true"
- name: ENABLE_PROMETHEUS_SERVER
value: "false"
- name: PROMETHEUS_SERVER_PORT
value: "9092"
- name: LOG_LEVEL
value: info
- name: WEBHOOK_PROXY
value: ""
- name: UPTIME_FROM_FILE
value: ""
- name: EMIT_KUBERNETES_EVENTS
value: "true"
- name: KUBERNETES_EVENTS_EXTRA_ANNOTATIONS
value: ""
- name: ENABLE_PROBES_SERVER
value: "false"
- name: PROBES_SERVER_PORT
value: "8080"
- name: PROBES_SERVER_ENDPOINT
value: /healthz
image: public.ecr.aws/aws-ec2/aws-node-termination-handler:v1.14.0
value: /proc/uptime
image: public.ecr.aws/aws-ec2/aws-node-termination-handler:v1.16.1
imagePullPolicy: IfNotPresent
name: aws-node-termination-handler
resources:
@ -228,5 +222,5 @@ spec:
name: uptime
updateStrategy:
rollingUpdate:
maxUnavailable: 1
maxUnavailable: 25%
type: RollingUpdate

View File

@ -202,10 +202,11 @@ spec:
enableScheduledEventDraining: false
enableSpotInterruptionDraining: true
enabled: true
excludeFromLoadBalancers: true
managedASGTag: aws-node-termination-handler/managed
memoryRequest: 64Mi
prometheusEnable: false
version: v1.14.0
version: v1.16.1
nonMasqueradeCIDR: 172.20.0.0/16
podCIDR: 172.20.128.0/17
secretStore: memfs://clusters.example.com/minimal.example.com/secrets

View File

@ -60,7 +60,7 @@ spec:
version: 9.99.0
- id: k8s-1.11
manifest: node-termination-handler.aws/k8s-1.11.yaml
manifestHash: bbdad2ac50bd56f8e8c0333fa0e26cea5434fc6621ba981b239ed52f62be2cee
manifestHash: 56548e094bf217e87700adc8cf4cbaa18c1260a768217e758c26564cb57bec59
name: node-termination-handler.aws
prune:
kinds:

View File

@ -4,10 +4,12 @@ metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: node-termination-handler.aws
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/version: v1.14.0
app.kubernetes.io/part-of: aws-node-termination-handler
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
k8s-app: aws-node-termination-handler
name: aws-node-termination-handler
@ -21,7 +23,12 @@ metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: node-termination-handler.aws
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/part-of: aws-node-termination-handler
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
name: aws-node-termination-handler
rules:
@ -59,6 +66,13 @@ rules:
- daemonsets
verbs:
- get
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
---
@ -68,7 +82,12 @@ metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: node-termination-handler.aws
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/part-of: aws-node-termination-handler
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
name: aws-node-termination-handler
roleRef:
@ -91,7 +110,7 @@ metadata:
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/version: v1.14.0
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
k8s-app: aws-node-termination-handler
name: aws-node-termination-handler
@ -112,21 +131,6 @@ spec:
kops.k8s.io/managed-by: kops
kubernetes.io/os: linux
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/os
operator: In
values:
- linux
- key: kubernetes.io/arch
operator: In
values:
- amd64
- arm64
- arm
containers:
- env:
- name: NODE_NAME
@ -141,22 +145,40 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: ENABLE_PROBES_SERVER
value: "false"
- name: PROBES_SERVER_PORT
value: "8080"
- name: PROBES_SERVER_ENDPOINT
value: /healthz
- name: LOG_LEVEL
value: info
- name: JSON_LOGGING
value: "true"
- name: ENABLE_PROMETHEUS_SERVER
value: "false"
- name: PROMETHEUS_SERVER_PORT
value: "9092"
- name: METADATA_TRIES
value: "3"
- name: DRY_RUN
value: "false"
- name: CORDON_ONLY
value: "false"
- name: TAINT_NODE
value: "false"
- name: EXCLUDE_FROM_LOAD_BALANCERS
value: "true"
- name: DELETE_LOCAL_DATA
value: "true"
- name: IGNORE_DAEMON_SETS
value: "true"
- name: POD_TERMINATION_GRACE_PERIOD
value: "-1"
- name: INSTANCE_METADATA_URL
value: ""
- name: NODE_TERMINATION_GRACE_PERIOD
value: ""
- name: WEBHOOK_URL
value: ""
- name: WEBHOOK_HEADERS
value: ""
- name: WEBHOOK_TEMPLATE
value: ""
value: "120"
- name: EMIT_KUBERNETES_EVENTS
value: "true"
- name: ENABLE_SPOT_INTERRUPTION_DRAINING
value: "true"
- name: ENABLE_SCHEDULED_EVENT_DRAINING
@ -165,39 +187,11 @@ spec:
value: "false"
- name: ENABLE_REBALANCE_DRAINING
value: "false"
- name: CHECK_ASG_TAG_BEFORE_DRAINING
value: "true"
- name: MANAGED_ASG_TAG
value: aws-node-termination-handler/managed
- name: METADATA_TRIES
value: "3"
- name: CORDON_ONLY
- name: ENABLE_SQS_TERMINATION_DRAINING
value: "false"
- name: TAINT_NODE
value: "false"
- name: JSON_LOGGING
value: "true"
- name: ENABLE_PROMETHEUS_SERVER
value: "false"
- name: PROMETHEUS_SERVER_PORT
value: "9092"
- name: LOG_LEVEL
value: info
- name: WEBHOOK_PROXY
value: ""
- name: UPTIME_FROM_FILE
value: ""
- name: EMIT_KUBERNETES_EVENTS
value: "true"
- name: KUBERNETES_EVENTS_EXTRA_ANNOTATIONS
value: ""
- name: ENABLE_PROBES_SERVER
value: "false"
- name: PROBES_SERVER_PORT
value: "8080"
- name: PROBES_SERVER_ENDPOINT
value: /healthz
image: public.ecr.aws/aws-ec2/aws-node-termination-handler:v1.14.0
value: /proc/uptime
image: public.ecr.aws/aws-ec2/aws-node-termination-handler:v1.16.1
imagePullPolicy: IfNotPresent
name: aws-node-termination-handler
resources:
@ -228,5 +222,5 @@ spec:
name: uptime
updateStrategy:
rollingUpdate:
maxUnavailable: 1
maxUnavailable: 25%
type: RollingUpdate

View File

@ -167,10 +167,11 @@ spec:
enableScheduledEventDraining: false
enableSpotInterruptionDraining: true
enabled: true
excludeFromLoadBalancers: true
managedASGTag: aws-node-termination-handler/managed
memoryRequest: 64Mi
prometheusEnable: false
version: v1.14.0
version: v1.16.1
nonMasqueradeCIDR: 100.64.0.0/10
podCIDR: 100.96.0.0/11
secretStore: memfs://clusters.example.com/nthsqsresources.longclustername.example.com/secrets

View File

@ -47,7 +47,7 @@ spec:
version: 9.99.0
- id: k8s-1.11
manifest: node-termination-handler.aws/k8s-1.11.yaml
manifestHash: e8aeccc2a21370e9579e49c153c5e46c92a3bc705bcc2545957133dadd395114
manifestHash: cf741c78a61335c7f8129bb8ecdf11e8936309e59f15885a8117c8c893eb2d9a
name: node-termination-handler.aws
prune:
kinds:

View File

@ -4,10 +4,12 @@ metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: node-termination-handler.aws
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/version: v1.14.0
app.kubernetes.io/part-of: aws-node-termination-handler
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
k8s-app: aws-node-termination-handler
name: aws-node-termination-handler
@ -21,7 +23,12 @@ metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: node-termination-handler.aws
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/part-of: aws-node-termination-handler
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
name: aws-node-termination-handler
rules:
@ -59,6 +66,13 @@ rules:
- daemonsets
verbs:
- get
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
---
@ -68,7 +82,12 @@ metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: node-termination-handler.aws
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/part-of: aws-node-termination-handler
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
name: aws-node-termination-handler
roleRef:
@ -91,7 +110,7 @@ metadata:
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/version: v1.14.0
app.kubernetes.io/version: v1.16.1
k8s-addon: node-termination-handler.aws
k8s-app: aws-node-termination-handler
name: aws-node-termination-handler
@ -113,21 +132,6 @@ spec:
kops.k8s.io/managed-by: kops
kubernetes.io/os: linux
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/os
operator: In
values:
- linux
- key: kubernetes.io/arch
operator: In
values:
- amd64
- arm64
- arm
containers:
- env:
- name: NODE_NAME
@ -142,40 +146,44 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: DELETE_LOCAL_DATA
value: ""
- name: IGNORE_DAEMON_SETS
value: ""
- name: POD_TERMINATION_GRACE_PERIOD
value: ""
- name: INSTANCE_METADATA_URL
value: ""
- name: NODE_TERMINATION_GRACE_PERIOD
value: ""
- name: WEBHOOK_URL
value: ""
- name: WEBHOOK_HEADERS
value: ""
- name: WEBHOOK_TEMPLATE
value: ""
- name: ENABLE_PROBES_SERVER
value: "true"
- name: PROBES_SERVER_PORT
value: "8080"
- name: PROBES_SERVER_ENDPOINT
value: /healthz
- name: LOG_LEVEL
value: info
- name: JSON_LOGGING
value: "true"
- name: ENABLE_PROMETHEUS_SERVER
value: "false"
- name: PROMETHEUS_SERVER_PORT
value: "9092"
- name: CHECK_ASG_TAG_BEFORE_DRAINING
value: "true"
- name: MANAGED_ASG_TAG
value: aws-node-termination-handler/managed
- name: ASSUME_ASG_TAG_PROPAGATION
value: "false"
- name: DRY_RUN
value: "false"
- name: METADATA_TRIES
value: "3"
- name: CORDON_ONLY
value: "false"
- name: TAINT_NODE
value: "false"
- name: JSON_LOGGING
- name: EXCLUDE_FROM_LOAD_BALANCERS
value: "true"
- name: DELETE_LOCAL_DATA
value: "true"
- name: IGNORE_DAEMON_SETS
value: "true"
- name: POD_TERMINATION_GRACE_PERIOD
value: "-1"
- name: NODE_TERMINATION_GRACE_PERIOD
value: "120"
- name: EMIT_KUBERNETES_EVENTS
value: "true"
- name: LOG_LEVEL
value: info
- name: WEBHOOK_PROXY
value: ""
- name: ENABLE_PROMETHEUS_SERVER
value: "false"
- name: ENABLE_PROBES_SERVER
value: "false"
- name: ENABLE_SPOT_INTERRUPTION_DRAINING
value: "false"
- name: ENABLE_SCHEDULED_EVENT_DRAINING
@ -188,29 +196,21 @@ spec:
value: "true"
- name: QUEUE_URL
value: https://sqs.us-test-1.amazonaws.com/123456789012/nthsqsresources-longclustername-example-com-nth
- name: PROMETHEUS_SERVER_PORT
value: "9092"
- name: PROBES_SERVER_PORT
value: "8080"
- name: PROBES_SERVER_ENDPOINT
value: /healthz
- name: AWS_REGION
value: ""
- name: AWS_ENDPOINT
value: ""
- name: CHECK_ASG_TAG_BEFORE_DRAINING
value: "true"
- name: MANAGED_ASG_TAG
value: aws-node-termination-handler/managed
- name: WORKERS
value: "10"
- name: EMIT_KUBERNETES_EVENTS
value: "true"
- name: KUBERNETES_EVENTS_EXTRA_ANNOTATIONS
value: ""
image: public.ecr.aws/aws-ec2/aws-node-termination-handler:v1.14.0
image: public.ecr.aws/aws-ec2/aws-node-termination-handler:v1.16.1
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 5
periodSeconds: 5
name: aws-node-termination-handler
ports:
- containerPort: 8080
name: liveness-probe
protocol: TCP
resources:
requests:
cpu: 50m
@ -221,8 +221,6 @@ spec:
runAsGroup: 1000
runAsNonRoot: true
runAsUser: 1000
dnsPolicy: ""
hostNetwork: false
nodeSelector:
node-role.kubernetes.io/master: ""
priorityClassName: system-cluster-critical
@ -234,8 +232,8 @@ spec:
topologySpreadConstraints:
- labelSelector:
matchLabels:
io.cilium/app: operator
name: cilium-operator
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/name: aws-node-termination-handler
maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: ScheduleAnyway

View File

@ -1,5 +1,5 @@
{{ with .NodeTerminationHandler }}
# Sourced from https://github.com/aws/aws-node-termination-handler/releases/download/v1.14.0/all-resources.yaml
# Sourced from https://github.com/aws/aws-node-termination-handler/releases/download/v1.16.1/all-resources.yaml
---
# Source: aws-node-termination-handler/templates/serviceaccount.yaml
apiVersion: v1
@ -12,53 +12,74 @@ metadata:
app.kubernetes.io/instance: aws-node-termination-handler
k8s-app: aws-node-termination-handler
app.kubernetes.io/version: "{{ .Version }}"
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/part-of: aws-node-termination-handler
---
# Source: aws-node-termination-handler/templates/clusterrole.yaml
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: aws-node-termination-handler
labels:
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/version: "{{ .Version }}"
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/part-of: aws-node-termination-handler
rules:
- apiGroups:
- ""
- ""
resources:
- nodes
- nodes
verbs:
- get
- list
- patch
- update
- get
- list
- patch
- update
- apiGroups:
- ""
- ""
resources:
- pods
- pods
verbs:
- list
- get
- list
- get
- apiGroups:
- ""
- ""
resources:
- pods/eviction
- pods/eviction
verbs:
- create
- create
- apiGroups:
- extensions
- extensions
resources:
- daemonsets
- daemonsets
verbs:
- get
- get
- apiGroups:
- apps
- apps
resources:
- daemonsets
- daemonsets
verbs:
- get
- get
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
---
# Source: aws-node-termination-handler/templates/clusterrolebinding.yaml
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: aws-node-termination-handler
labels:
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/version: "{{ .Version }}"
app.kubernetes.io/component: aws-node-termination-handler
app.kubernetes.io/part-of: aws-node-termination-handler
subjects:
- kind: ServiceAccount
name: aws-node-termination-handler
@ -95,125 +116,104 @@ spec:
k8s-app: aws-node-termination-handler
kubernetes.io/os: linux
spec:
priorityClassName: "system-cluster-critical"
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: "kubernetes.io/os"
operator: In
values:
- linux
- key: "kubernetes.io/arch"
operator: In
values:
- amd64
- arm64
- arm
priorityClassName: system-cluster-critical
serviceAccountName: aws-node-termination-handler
hostNetwork: false
dnsPolicy: ""
securityContext:
fsGroup: 1000
containers:
- name: aws-node-termination-handler
image: public.ecr.aws/aws-ec2/aws-node-termination-handler:{{ .Version }}
imagePullPolicy: IfNotPresent
securityContext:
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
allowPrivilegeEscalation: false
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: DELETE_LOCAL_DATA
value: ""
- name: IGNORE_DAEMON_SETS
value: ""
- name: POD_TERMINATION_GRACE_PERIOD
value: ""
- name: INSTANCE_METADATA_URL
value: ""
- name: NODE_TERMINATION_GRACE_PERIOD
value: ""
- name: WEBHOOK_URL
value: ""
- name: WEBHOOK_HEADERS
value: ""
- name: WEBHOOK_TEMPLATE
value: ""
- name: DRY_RUN
value: "false"
- name: METADATA_TRIES
value: "3"
- name: CORDON_ONLY
value: "false"
- name: TAINT_NODE
value: "false"
- name: JSON_LOGGING
value: "true"
- name: LOG_LEVEL
value: "info"
- name: WEBHOOK_PROXY
value: ""
- name: ENABLE_PROMETHEUS_SERVER
value: "{{ .EnablePrometheusMetrics }}"
- name: ENABLE_PROBES_SERVER
value: "false"
- name: ENABLE_SPOT_INTERRUPTION_DRAINING
value: "false"
- name: ENABLE_SCHEDULED_EVENT_DRAINING
value: "false"
- name: ENABLE_REBALANCE_MONITORING
value: "false"
- name: ENABLE_REBALANCE_DRAINING
value: "false"
- name: ENABLE_SQS_TERMINATION_DRAINING
value: "true"
- name: QUEUE_URL
value: "{{ DefaultQueueName }}"
- name: PROMETHEUS_SERVER_PORT
value: "9092"
- name: PROBES_SERVER_PORT
value: "8080"
- name: PROBES_SERVER_ENDPOINT
value: "/healthz"
- name: AWS_REGION
value: ""
- name: AWS_ENDPOINT
value: ""
- name: CHECK_ASG_TAG_BEFORE_DRAINING
value: "true"
- name: MANAGED_ASG_TAG
value: "{{ .ManagedASGTag }}"
- name: WORKERS
value: "10"
- name: EMIT_KUBERNETES_EVENTS
value: "true"
- name: KUBERNETES_EVENTS_EXTRA_ANNOTATIONS
value: ""
resources:
requests:
cpu: {{ .CPURequest }}
memory: {{ .MemoryRequest }}
- name: aws-node-termination-handler
image: public.ecr.aws/aws-ec2/aws-node-termination-handler:{{ .Version }}
imagePullPolicy: IfNotPresent
securityContext:
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
allowPrivilegeEscalation: false
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: ENABLE_PROBES_SERVER
value: "true"
- name: PROBES_SERVER_PORT
value: "8080"
- name: PROBES_SERVER_ENDPOINT
value: "/healthz"
- name: LOG_LEVEL
value: "info"
- name: JSON_LOGGING
value: "true"
- name: ENABLE_PROMETHEUS_SERVER
value: "false"
- name: PROMETHEUS_SERVER_PORT
value: "9092"
- name: CHECK_ASG_TAG_BEFORE_DRAINING
value: "true"
- name: MANAGED_ASG_TAG
value: "{{ .ManagedASGTag }}"
- name: ASSUME_ASG_TAG_PROPAGATION
value: "false"
- name: DRY_RUN
value: "false"
- name: CORDON_ONLY
value: "false"
- name: TAINT_NODE
value: "false"
- name: EXCLUDE_FROM_LOAD_BALANCERS
value: "{{ .ExcludeFromLoadBalancers }}"
- name: DELETE_LOCAL_DATA
value: "true"
- name: IGNORE_DAEMON_SETS
value: "true"
- name: POD_TERMINATION_GRACE_PERIOD
value: "-1"
- name: NODE_TERMINATION_GRACE_PERIOD
value: "120"
- name: EMIT_KUBERNETES_EVENTS
value: "true"
- name: ENABLE_SPOT_INTERRUPTION_DRAINING
value: "false"
- name: ENABLE_SCHEDULED_EVENT_DRAINING
value: "false"
- name: ENABLE_REBALANCE_MONITORING
value: "false"
- name: ENABLE_REBALANCE_DRAINING
value: "false"
- name: ENABLE_SQS_TERMINATION_DRAINING
value: "true"
- name: QUEUE_URL
value: "{{ DefaultQueueName }}"
- name: WORKERS
value: "10"
ports:
- name: liveness-probe
protocol: TCP
containerPort: 8080
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 5
periodSeconds: 5
resources:
requests:
cpu: {{ .CPURequest }}
memory: {{ .MemoryRequest }}
{{ if not UseServiceAccountExternalPermissions }}
nodeSelector:
node-role.kubernetes.io/master: ""
tolerations:
- operator: Exists
- operator: Exists
{{ end }}
topologySpreadConstraints:
- maxSkew: 1
@ -221,8 +221,8 @@ spec:
whenUnsatisfiable: ScheduleAnyway
labelSelector:
matchLabels:
io.cilium/app: operator
name: cilium-operator
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
- maxSkew: 1
topologyKey: "kubernetes.io/hostname"
whenUnsatisfiable: DoNotSchedule
@ -262,7 +262,7 @@ metadata:
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: 1
maxUnavailable: 25%
type: RollingUpdate
selector:
matchLabels:
@ -278,118 +278,93 @@ spec:
kubernetes.io/os: linux
spec:
volumes:
- name: "uptime"
hostPath:
path: "/proc/uptime"
priorityClassName: "system-node-critical"
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: "kubernetes.io/os"
operator: In
values:
- linux
- key: "kubernetes.io/arch"
operator: In
values:
- amd64
- arm64
- arm
- name: "uptime"
hostPath:
path: "/proc/uptime"
priorityClassName: system-node-critical
serviceAccountName: aws-node-termination-handler
hostNetwork: true
dnsPolicy: "ClusterFirstWithHostNet"
dnsPolicy: ClusterFirstWithHostNet
containers:
- name: aws-node-termination-handler
image: public.ecr.aws/aws-ec2/aws-node-termination-handler:{{ .Version }}
imagePullPolicy: IfNotPresent
securityContext:
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
allowPrivilegeEscalation: false
volumeMounts:
- name: "uptime"
mountPath: "/proc/uptime"
readOnly: true
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: DELETE_LOCAL_DATA
value: "true"
- name: IGNORE_DAEMON_SETS
value: "true"
- name: POD_TERMINATION_GRACE_PERIOD
value: "-1"
- name: INSTANCE_METADATA_URL
value: ""
- name: NODE_TERMINATION_GRACE_PERIOD
value: ""
- name: WEBHOOK_URL
value: ""
- name: WEBHOOK_HEADERS
value: ""
- name: WEBHOOK_TEMPLATE
value: ""
- name: ENABLE_SPOT_INTERRUPTION_DRAINING
value: "{{ .EnableSpotInterruptionDraining }}"
- name: ENABLE_SCHEDULED_EVENT_DRAINING
value: "{{ .EnableScheduledEventDraining }}"
- name: ENABLE_REBALANCE_MONITORING
value: "{{ .EnableRebalanceMonitoring }}"
- name: ENABLE_REBALANCE_DRAINING
value: "{{ .EnableRebalanceDraining }}"
- name: CHECK_ASG_TAG_BEFORE_DRAINING
value: "true"
- name: MANAGED_ASG_TAG
value: "aws-node-termination-handler/managed"
- name: METADATA_TRIES
value: "3"
- name: CORDON_ONLY
value: "false"
- name: TAINT_NODE
value: "false"
- name: JSON_LOGGING
value: "true"
- name: ENABLE_PROMETHEUS_SERVER
value: "{{ .EnablePrometheusMetrics }}"
- name: PROMETHEUS_SERVER_PORT
value: "9092"
- name: LOG_LEVEL
value: "info"
- name: WEBHOOK_PROXY
value: ""
- name: UPTIME_FROM_FILE
value: ""
- name: EMIT_KUBERNETES_EVENTS
value: "true"
- name: KUBERNETES_EVENTS_EXTRA_ANNOTATIONS
value: ""
- name: ENABLE_PROBES_SERVER
value: "false"
- name: PROBES_SERVER_PORT
value: "8080"
- name: PROBES_SERVER_ENDPOINT
value: "/healthz"
resources:
requests:
cpu: {{ .CPURequest }}
memory: {{ .MemoryRequest }}
- name: aws-node-termination-handler
image: public.ecr.aws/aws-ec2/aws-node-termination-handler:{{ .Version }}
imagePullPolicy: IfNotPresent
securityContext:
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
allowPrivilegeEscalation: false
volumeMounts:
- name: "uptime"
mountPath: "/proc/uptime"
readOnly: true
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: ENABLE_PROBES_SERVER
value: "false"
- name: PROBES_SERVER_PORT
value: "8080"
- name: PROBES_SERVER_ENDPOINT
value: "/healthz"
- name: LOG_LEVEL
value: "info"
- name: JSON_LOGGING
value: "true"
- name: ENABLE_PROMETHEUS_SERVER
value: "{{ WithDefaultBool .EnablePrometheusMetrics false }}"
- name: PROMETHEUS_SERVER_PORT
value: "9092"
- name: METADATA_TRIES
value: "3"
- name: DRY_RUN
value: "false"
- name: CORDON_ONLY
value: "false"
- name: TAINT_NODE
value: "false"
- name: EXCLUDE_FROM_LOAD_BALANCERS
value: "{{ WithDefaultBool .ExcludeFromLoadBalancers true }}"
- name: DELETE_LOCAL_DATA
value: "true"
- name: IGNORE_DAEMON_SETS
value: "true"
- name: POD_TERMINATION_GRACE_PERIOD
value: "-1"
- name: NODE_TERMINATION_GRACE_PERIOD
value: "120"
- name: EMIT_KUBERNETES_EVENTS
value: "true"
- name: ENABLE_SPOT_INTERRUPTION_DRAINING
value: "{{ WithDefaultBool .EnableSpotInterruptionDraining true }}"
- name: ENABLE_SCHEDULED_EVENT_DRAINING
value: "{{ WithDefaultBool .EnableScheduledEventDraining false }}"
- name: ENABLE_REBALANCE_MONITORING
value: "{{ WithDefaultBool .EnableRebalanceMonitoring false }}"
- name: ENABLE_REBALANCE_DRAINING
value: "{{ WithDefaultBool .EnableRebalanceDraining false }}"
- name: ENABLE_SQS_TERMINATION_DRAINING
value: "false"
- name: UPTIME_FROM_FILE
value: "/proc/uptime"
resources:
requests:
cpu: {{ .CPURequest }}
memory: {{ .MemoryRequest }}
nodeSelector:
kubernetes.io/os: linux
tolerations:
- operator: Exists
- operator: Exists
{{ end }}
{{ end }}