Releases: aws/aws-node-termination-handler
v1.22.1
What's Changed
- Bump github.com/aws/aws-sdk-go from 1.53.0 to 1.53.5 by @dependabot in #1009
- Upgrade Go version to 1.22 by @LikithaVemulapalli in #1015
- Modified ReadMe Documentation by @LikithaVemulapalli in #1014
- Added new PowerShell script for windows support by @LikithaVemulapalli in #1013
- Bump k8s.io/client-go from 0.30.1 to 0.30.2 by @dependabot in #1028
- Bump k8s.io/kubectl from 0.30.1 to 0.30.2 by @dependabot in #1026
- Bump github.com/aws/aws-sdk-go from 1.53.5 to 1.54.3 by @dependabot in #1025
- feat: Add k8s 1.30 to test versions by @jrab66 in #1030
- Allow using kube-apiserver cache for pod list requests by @hieurender in #1018
- Bump k8s.io/kubectl from 0.30.2 to 0.30.3 by @dependabot in #1038
- Bump github.com/aws/aws-sdk-go from 1.54.3 to 1.55.4 by @dependabot in #1043
- SQS Monitor should handle all kinds of InvalidInstanceID errors by @guessi in #1035
- 🥑🤖 v1.22.1 release prep by @LikithaVemulapalli in #1044
- Revert "🥑🤖 v1.22.1 release prep (#1044)" by @LikithaVemulapalli in #1045
- Removing adding windows binaries to release assets by @LikithaVemulapalli in #1046
New Contributors
- @jrab66 made their first contribution in #1030
- @hieurender made their first contribution in #1018
- @guessi made their first contribution in #1035
Full Changelog: v1.22.0...v1.22.1
v1.22.0
What's Changed
- add k8s 1.29 to test versions by @cjerad in #986
- Dependabot PR's.
- Fix misleading launch event log message by @der-eismann in #996
- fix: Reverted the removal of the lifecycle hook completion by @stevehipwell in #999
- Temporarily removed uploading windows binaries to release assets by @LikithaVemulapalli in #1005
New Contributors
- @der-eismann made their first contribution in #996
Full Changelog: v1.21.0...v1.22.0
v1.21.0
What's Changed
- Fixed kubernetes version in test file by @LikithaVemulapalli in #853
- enable SQS server-side encryption by @cjerad in #856
- docs: Cleanup installation process for Queue Processor by @yeahservice in #862
- Allow short node name matching by @LikithaVemulapalli in #865
- Add topologySpreadConstraints to Deployment by @sgametrio in #859
- Created the Kubernetes Compatibility Table by @GavinBurris42 in #871
- Replicas by @GavinBurris42 in #875
- use k8s 1.28 by default and update deps by @bwagner5 in #927
- E2E tests bug fix by @GavinBurris42 in #944
- ASG Launch Lifecycle Hook by @GavinBurris42 in #940
- Prometheus metric leak by @GavinBurris42 in #950
- upgrade to Go 1.21 by @cjerad in #951
- fix ECR credentials for Windows release workflow by @cjerad in #956
- update k8s compatibility table by @cjerad in #957
- invoke bash directly on Windows by @cjerad in #973
Deprecations
- The
actions_node
metric is deprecated due to the potential for high cardinality causing an issue for downstream consumers. A new metricactions
has been added to take the place ofactions_node
without the potential for high cardinality. This release publishes both metrics butactions_node
will be removed in a future release.
New Contributors
- @yeahservice made their first contribution in #862
- @sgametrio made their first contribution in #859
- @GavinBurris42 made their first contribution in #871
Full Changelog: v1.20.0...v1.21.0
v1.20.0
What's Changed
🚀 What’s New?
- optionally delete sqs message when node not found by @cjerad in #801
- eks-charts to ECR Public migration by @LikithaVemulapalli in #803
Going forward, aws-node-termination-handler helm charts will be available here
🐛 Bug Fixes
- Modified Spot ITN message by @LikithaVemulapalli in #762
- generate resource files for k8s 1.25 by @cjerad in #808
- Metric zero by @bwagner5 in #834
📓 Others
- AZ Rebalance Recommendation Document Fix by @LikithaVemulapalli in #755
- Added detailed ASG information in README by @LikithaVemulapalli in #759
- update k8s test versions by @cjerad in #810
- upgrade go to 1.20 by @bwagner5 in #835
- dependency updates in various PRs
- fixes for broken builds and release workflows
New Contributors
- @dependabot made their first contribution in #766
Full Changelog: v1.19.0...v1.20.0
v1.19.0
What's Changed
- Error log fix by @LikithaVemulapalli in #756
- Remove PodSecurityPolicy when Kubernetes version >=1.25 by @cjerad in #758
Full Changelog: v1.18.3...v1.19.0
v1.18.3
What's Changed
- Don't try to uncordon on startup in Queue Processor mode by @johngmyers in #743
- Remove unnecessary configuration in Queue Processor mode by @johngmyers in #745
- Don't skip evicting pods with same name but in different namespace by @johngmyers in #746
- Don't construct an IMDS client when in Queue Processor mode by @johngmyers in #747
- Replaced deprecated config
checkASGTagBeforeDraining
in end-to-end tests by @snay2 in #753
Full Changelog: v1.18.2...v1.18.3
v1.18.2
What's Changed
- Modified ScheduledChangeRule in cfn-template by @LikithaVemulapalli in #737
- test: use
T.Setenv
to set env vars in tests by @Juneezee in #739 - Completely ignore Instance Metadata when in SQS Queue mode. by @peteroruba in #735
- Remove experimental designation of scheduled event draining by @johngmyers in #740
- Enable scheduled event draining by default by @johngmyers in #741
New Contributors
- @Juneezee made their first contribution in #739
- @peteroruba made their first contribution in #735
- @johngmyers made their first contribution in #740
Full Changelog: v1.18.1...v1.18.2
v2.0.0-beta
v1.18.1
v1.18.0
Improved logging in Queue Processor mode
v1.18.0
introduces the logFormatVersion
Helm chart option, to allow you to opt-in to more detailed logs.
The default value is 1
, which keeps logging the same way it did in prior releases (<= v1.17.3
).
Setting the value to 2
will give you more detail about which AWS event triggered the cordon/drain. Previously, all these events were bucketed under SQS_TERMINATE
and it was difficult to tell what was happening.
This option is also available as a command line flag, --log-format-version
What does the new logging look like?
logFormatVersion=2
modifies several Debug, Info, and Warn logs, as well as Kubernetes events emitted by NTH. These changes improve your observability about what NTH is doing when responding to events via SQS. If your monitoring system is configured to look for any of the specific strings in the tables below, you may need to modify your configuration to use the updated strings if you use the new log format version.
Changes to logs when starting up
- Remove
event_type
field from the Info log when starting a monitor; replace withmonitor_type
field, with new values. See Table 1. - Remove
event_type
field from the Warn log when a monitor fails to start; replace withmonitor_type
field, with new values. See Table 1.
Changes to logs when processing an event
- New
monitor
field in the Info log. See Table 1. - Potentially change value of
kind
field in the Info log, if running Queue Processor mode. See Table 2. - Potentially change the "reason" field in the k8s event if running Queue Processor mode. See Table 3.
Changes to logs when receiving an SQS message
- Include the specific event type instead of
SQS_TERMINATE
in the Debug log if running Queue Processor mode. See Table 2.
Tables of changed values
Table 1: Monitor types
Previous | New |
---|---|
REBALANCE_RECOMMENDATION |
REBALANCE_RECOMMENDATION_MONITOR |
SCHEDULED_EVENT |
SCHEDULED_EVENT_MONITOR |
SPOT_ITN |
SPOT_ITN_MONITOR |
SQS_TERMINATE |
SQS_MONITOR |
Table 2: Event types
Previous | New |
---|---|
REBALANCE_RECOMMENDATION |
REBALANCE_RECOMMENDATION |
SCHEDULED_EVENT |
SCHEDULED_EVENT |
SPOT_ITN |
SPOT_ITN |
SQS_TERMINATE |
REBALANCE_RECOMMENDATION SCHEDULED_EVENT SPOT_ITN STATE_CHANGE ASG_LIFECYCLE |
Table 3: Event reasons
Previous reason | New reason |
---|---|
RebalanceRecommendation |
RebalanceRecommendation |
ScheduledEvent |
ScheduledEvent |
SpotInterruption |
SpotInterruption |
SQSTermination |
RebalanceRecommendation ScheduledEvent SpotInterruption StateChange ASGLifecycle |
Commits with these changes
- feat: emit pod events on drain by @trutx in #703
- chore: add annotations to events in SQS mode by @trutx in #715
- fix: show actual event kinds in Queue mode by @trutx and @cjerad in #725
Other changes
- README: Clarify distinctions between IMDS and QP modes by @snay2 in #695
- Clarify wording about using ASG tags. Fix broken docs link. by @snay2 in #721
- Remove bespoke Prometheus helm chart and use the latest public release instead by @snay2 in #723
- upgrade to Go 1.19 by @cjerad and @snay2 in #726
Full Changelog: v1.17.3...v1.18.0