[Feature] When various host actions occur, I want kill the k8s node so it doesn't interfere with the incumbent workload
- Dominant language
- Rust
- Stars
- 22
- Forks
- 3
- Avg merge
- 17h 51m
- Merged PRs (30d)
- 10
Description
### Description of Problem
In addition to polling for processes, there are other interesting host-based signals that should trigger k8s node death.
1. If the host is the passive side of an active/passive HA configuration using pacemaker or veritas, we would want to trigger node death as part of the failover process, similar to STONITH node fencing, so that our k8s node exits as the host becomes "active". Monitoring for a process is insufficient, as the clustered service may always be running -- just not accepting load.
2. We could hook into DBUS and shut down the k8s node when a user logs in and creates a new session
3. etc..
These require the ability to trigger node death from outside of the k8s-managed node.
### Potential Solutions
Perhaps, in addition to polling for processes, the kill service could read from a pipe on the host filesystem (/run/5spot/kill). Whenever we want to trigger node death from the host, just write to the pipe.
Contributor guide
Research direction
No files or tests are named. Start by locating the existing kill service and its process-polling path, then review how an external host signal could reach it through the proposed /run/5spot/kill pipe. Done should be defined as reliably triggering node death from a host action without disrupting the incumbent workload.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- devops, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 42/100