Skip to content

Additional / missing Kubernetes topics - #200

Merged
noctarius merged 3 commits into
mainfrom
additional-topics
Aug 22, 2026
Merged

Additional / missing Kubernetes topics#200
noctarius merged 3 commits into
mainfrom
additional-topics

Conversation

@noctarius

Copy link
Copy Markdown
Collaborator

No description provided.

noctarius and others added 2 commits August 22, 2026 14:26
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>
@noctarius noctarius self-assigned this Aug 22, 2026
Copilot AI lite review requested due to automatic review settings August 22, 2026 12:45
@noctarius noctarius changed the title Additional topics Additional / missing Kubernetes topics Aug 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🤖: Deployment available as https://docstest.simplyblock.io/additional-topics

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 StoragePool limits 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.

Comment thread docs/kubernetes/operations/path-loss-recovery.md Outdated
Comment thread docs/kubernetes/operations/removing-a-storage-node.md Outdated
@github-actions

Copy link
Copy Markdown
Contributor

🤖: 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>
@github-actions

Copy link
Copy Markdown
Contributor

🤖: Deployment available as https://docstest.simplyblock.io/additional-topics

@noctarius
noctarius merged commit cc2c7ab into main Aug 22, 2026
4 checks passed
@noctarius
noctarius deleted the additional-topics branch August 22, 2026 13:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants