What is kured (KUbernetes REboot Daemon)?
mainkured is a Kubernetes DaemonSet designed to perform safe, automatic node reboots. It triggers reboots when the underlying operating system's package management system indicates a reboot is required.
Core Functionality:
- Sentinel Monitoring: Watches for reboot sentinel files (e.g.,
/var/run/reboot-required) or the successful execution of a sentinel command. - Concurrency Control: Uses a lock in the Kubernetes API server to ensure that only one node reboots at a time, preventing cluster-wide downtime.
- Node Lifecycle Management: Automatically cordons and drains worker nodes before a reboot and uncordons them once the node is back online.
- Reboot Deferral: Can be configured to defer reboots if active Prometheus alerts are present or if specific selected pods are running.