Important note
With this release kured will retry to cordon and uncordon a node in case it fails.
This should prevent nodes from being "Unschedulable" forever. Also kured will hold the node-lock until uncordoning
and the lock-release succeeded to avoid reproducing the same issue everywhere. See #486 for more details.
Features and Improvements
- Added support for multi-arch image build #496
- retry cordon + drain if fail, keep lock #486
- Added pre- and post-reboot-node-labels #541, #553
- Use Go 1.17.x #523
Bugfixes
- strip unnecessary quotes for notify-url configurations #550
Build and Testing
- ci: always use the latest golang patch version #548
Helm chart
- helm: ensure kured on 1.24 gets the correct toleration #539, #543, #562
- adding value containerSecurityContext to helm chart #521
Documentation
Notable dependency updates
- Update k8s dependencies to 0.23.6 #552, #569
- github.com/prometheus/common from 0.32.1 to 0.34.0
- github.com/prometheus/client_golang from 1.12.1 to 1.12.2
- github.com/spf13/viper from 1.10.1 to 1.12.0 (#565)
- github.com/containrrr/shoutrrr from 0.5.2 to 0.6.0 (#570)
- github.com/stretchr/testify from 1.7.1 to 1.7.2 (#571)
- guyarb/golang-test-annoations from 0.5.0 to 0.5.1
- gotest.tools/v3 from 3.1.0 to 3.2.0
- alpine from 3.15.3 to 3.16.0
Kubernetes Version Compatibility
The daemon image contains a 1.23.x k8s.io/{client-go,kubectl} for the purposes of maintaining the lock and draining worker nodes. Kubernetes aims to provide forwards & backwards compatibility of one minor version between client and server, so this should work on 1.22.x, 1.23.x and 1.24.x
Thanks a lot to everyone who contributed to kured since 1.9.2. Commits from @atighineanu, @Garnaalkroket, @losil, @davideshay, @liger1978, @elchenberg, @jackfrancis, @ckotzbauer