Additional / missing Kubernetes topics - #200
Conversation
operator-cluster-operations.md covered six cluster actions, six node actions, a migration, and a five-phase drain on one page, at a depth that fit none of them. Split it into five pages and document each against the operator implementation: - cluster-actions.md: the spec.action mechanism, including that an action only counts as complete when observedGeneration matches, and that a set action suspends the periodic status sync - rolling-restart.md: the node-recycle action with its five phases, the idempotency skips, and resume-after-restart behavior - storage-node-actions.md: shutdown, restart, suspend, resume, the activeOpsRef lock, and how to find a StorageNode by name - migrating-a-storage-node.md: the four sub-phases (the page and the operator reference both claimed three), the DNS precondition in Preparing, and what Promoting re-points - removing-a-storage-node.md: the drain sub-phases, the pause on an unhealthy cluster, and the resume-on-failure path Pinned-volume behavior is written to match drainValidate: any pinned volume blocks the drain. Cross-links added from volume-migration.md and node-drain-coordination.md, which is where some of this content had been stranded. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The non-Kubernetes operations section covered five topics that had no Kubernetes counterpart, three of them backed by CRD fields that exist only on Kubernetes: - failure-domains.md: enableFailureDomains plus the two assignment fields, including that a group index of 0 passes schema validation but is dropped from the request, and that a missing assignment blocks the node-add with a FailureDomainMissing event - cluster-upgrade.md: the chart upgrade for operator, control plane and CSI driver, the three image fields and which consumer reads each, and the rolling restart that carries a new image to running nodes - node-affinity.md: enableNodeAffinity, why it is creation-only, and how it combines with the per-PVC placement annotations - replacing-a-storage-node.md: relocate versus retire-and-replace, and the add-before-remove ordering - path-loss-recovery.md: the node plugin's fabric repair and the opt-in pod restart, including the coordinated restart of pods that share an NVMe subsystem Also records a limitation found while checking the pool gap: capacityLimit, logicalVolumeMaxSize and qos are read when a StoragePool is created and never reconciled, so patching them is accepted and does nothing. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
🤖: Deployment available as https://docstest.simplyblock.io/additional-topics |
There was a problem hiding this comment.
Pull request overview
This PR expands and reorganizes the Kubernetes operations documentation by splitting a previously monolithic operator-operations page into focused topics (cluster actions, rolling restarts, storage-node operations, node replacement/removal, upgrades, failure domains, node affinity, and path-loss recovery), and adds cross-links between related workflows.
Changes:
- Adds multiple new operations pages covering cluster-wide actions and several node lifecycle workflows (restart, migrate, remove, replace, upgrade, and recovery).
- Replaces the removed “operator cluster operations” page with a set of dedicated pages and updates existing pages to link into them.
- Adds a warning clarifying which
StoragePoollimits are immutable after pool creation.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/kubernetes/operations/volume-migration.md | Adds a pointer to the dedicated storage-node removal workflow. |
| docs/kubernetes/operations/storage-node-actions.md | New page documenting in-place StorageNodeOps actions and how to track them. |
| docs/kubernetes/operations/rolling-restart.md | New page documenting the node-recycle rolling restart action and its phases. |
| docs/kubernetes/operations/replacing-a-storage-node.md | New page describing “relocate” vs “retire and replace” procedures. |
| docs/kubernetes/operations/removing-a-storage-node.md | New page detailing the drain/remove workflow, phases, and events. |
| docs/kubernetes/operations/path-loss-recovery.md | New page describing CSI path repair and optional pod auto-restart behavior. |
| docs/kubernetes/operations/operator-cluster-operations.md | Removes the old combined operator operations page. |
| docs/kubernetes/operations/node-drain-coordination.md | Clarifies the difference between temporary worker drains vs permanent node removal. |
| docs/kubernetes/operations/node-affinity.md | New page describing node affinity (data locality) and its interaction with volume placement and realignment. |
| docs/kubernetes/operations/migrating-a-storage-node.md | New page describing StorageNodeOps migration workflow, phases, and events. |
| docs/kubernetes/operations/failure-domains.md | New page documenting failure-domain enablement and worker assignment rules. |
| docs/kubernetes/operations/cluster-upgrade.md | New page documenting Helm upgrade + storage-plane image rollout sequence. |
| docs/kubernetes/operations/cluster-actions.md | New page documenting StorageCluster.spec.action lifecycle actions and status semantics. |
| docs/kubernetes/installation/k8s-storage-plane.md | Adds a warning that pool limits are read once and not reconciled after creation (except allowedNodes). |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
🤖: Deployment available as https://docstest.simplyblock.io/additional-topics |
- path-loss-recovery.md: the kubectl debug example used the busybox image, which ships no nvme binary, so the command could not work. Replaced with `sudo nvme list-subsys` on the worker, matching how reference/troubleshooting/simplyblock-csi.md already documents the same check. - removing-a-storage-node.md: the two blocking-volume bullets are term-definition items and now use the house `**Term:** Definition` form instead of carrying the term mid-sentence. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
🤖: Deployment available as https://docstest.simplyblock.io/additional-topics |
No description provided.