CNTRLPLANE-3363: Add KMS plugin health reporter design#2005
CNTRLPLANE-3363: Add KMS plugin health reporter design#2005ibihim wants to merge 1 commit intoopenshift:masterfrom
Conversation
|
@ibihim: This pull request references CNTRLPLANE-3363 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
- Per-node health reporter sidecar publishes one advisory KMSHealthReporter_<nodeName> condition on the apiserver operator CR. - Aggregator controller reads those conditions and emits a single KMSPluginsDegraded rollup; library-go's StatusSyncer routes the _Degraded suffix into the ClusterOperator's Degraded condition. - Message format: one key=value line per probed plugin (keyID, status, lastChecked, optional trailing detail). - Risks: stale reporter conditions, orphaned conditions on KMS disable, cold-start window.
bb85f9a to
b719627
Compare
|
@ibihim: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
What
A health reporter sidecar runs alongside every API server pod replica when KMS is enabled. It probes the colocated KMS plugin(s) and writes a single advisory
KMSHealthReporter_<nodeName>condition per node on the apiserver operator CR.Why
Exposes plugin health state through the operator CRs and onward into the
ClusterOperator'sDegradedcondition, so a misbehaving KMS plugin is visible inoc get corather than silently waiting until KAS encryption fails.Supports future key rotation: per-plugin
keyIDin the reporter's Message lets a rotation controller verify all nodes agree on the active key before initiating rotation.