Added a documentation on how to install Simplyblock on a Talos-based Kubernetes cluster#408
Added a documentation on how to install Simplyblock on a Talos-based Kubernetes cluster#408noctarius wants to merge 7 commits intosiderolabs:mainfrom
Conversation
…Kubernetes cluster
There was a problem hiding this comment.
Pull request overview
Adds a new Kubernetes CSI guide documenting how to install Simplyblock (control plane, storage plane, and CSI driver) on a Talos-based Kubernetes cluster, and wires it into the docs navigation so it appears in the CSI section.
Changes:
- Added a new MDX guide:
simplyblock-storage.mdxcovering preparation (kernel modules, hugepages, namespace) and installation/cleanup steps. - Updated docs navigation (
public/docs.jsonandkubernetes-guides.yaml) to include the new guide under CSI.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
| public/kubernetes-guides/csi/simplyblock-storage.mdx | New Talos-focused Simplyblock installation guide (control plane, storage plane, CSI, cleanup, references). |
| public/docs.json | Adds the Simplyblock guide route to the CSI navigation list. |
| kubernetes-guides.yaml | Adds the Simplyblock guide to the CSI pages list for the docs navigation. |
Comments suppressed due to low confidence (2)
public/kubernetes-guides/csi/simplyblock-storage.mdx:16
- The product name is capitalized inconsistently in this paragraph ("Simplyblock" vs "simplyblock"). For clarity and consistency across the docs, use a single capitalization for the product name (and keep the lowercase form only for things that are explicitly named that way, such as namespaces or CLI flags).
Simplyblock is a highly versatile storage platform that can be deployed on Kubernetes and other platforms. That means that not all components must be installed on Talos. In this guide, we will focus on a full installation of simplyblock into Talos. For all options, see the [simplyblock documentation](https://docs.simplyblock.io/latest/).
public/kubernetes-guides/csi/simplyblock-storage.mdx:235
- The cleanup section uninstalls a release named
simplyblock, but the install sections reference/selectrelease=simplyblock-csiand currently don't clearly define the release name. Once the install commands are fixed, please ensure the uninstall command matches the actual release name users will have installed (and consider uninstalling both CSI and any controller release if applicable).
Uninstall the storage plane and CSI driver chart:
```bash
helm uninstall simplyblock -n simplyblock
</details>
---
💡 <a href="/siderolabs/docs/new/main?filename=.github/instructions/*.instructions.md" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Add Copilot custom instructions</a> for smarter, more guided reviews. <a href="https://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Learn how to get started</a>.
| Simplyblock requires pre-reserved huge pages and expects the `hugepages-2Mi` pool (2 MiB page size). | ||
| The required amount depends on your planned storage-node sizing (for example, CPU count, number of volumes, and expected provisioned capacity per node), so decide the target huge page memory first, then convert it into page count. | ||
|
|
||
| After installing the control plane, run this command from the admin control pod to calculate the required huge pages on the host: |
There was a problem hiding this comment.
Do you mean the Kubernetes control plane or the simplyblock control plane? The sbctl command won't be available on Talos.
There was a problem hiding this comment.
This is the simplyblock control plane and sbctl will be available in the simplyblock control plane node. But you're right, this isn't clear yet. Let me move the cp installation before the reconfiguration for the storage plane. Great catch!
|
A couple questions because I'm not familiar with simplyblock.
|
|
…lane to the storage plane installation
An example talos patch would be helpful. Knowing you need to have a separate nvme drive for this will be good to call out for people trying to run it in home labs |
|
There is no patch required. Simplyblock will either use all free NVMe devices or whatever is configured in the helm parameters. The requirement for additional NVMe devices has been added in the latest commit :) |
| pip install sbctl --upgrade | ||
| ``` | ||
|
|
||
| Find the Helm chart bundled with `sbctl`, then deploy the control plane: |
There was a problem hiding this comment.
Just curious, do you have plans to publish the helm chart instead of distributing it with the cli?
| Create `simplyblock-namespace.yaml`: | ||
|
|
||
| ```yaml | ||
| apiVersion: v1 |
There was a problem hiding this comment.
If possible we like to use heredocs so they're 1 line copy/pastable
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Namespace
metadata:
name: simplyblock
labels:
pod-security.kubernetes.io/enforce: privileged
pod-security.kubernetes.io/enforce-version: latest
pod-security.kubernetes.io/audit: privileged
pod-security.kubernetes.io/audit-version: latest
pod-security.kubernetes.io/warn: privileged
pod-security.kubernetes.io/warn-version: latest
EOF
| Label Talos nodes that should run simplyblock storage nodes: | ||
|
|
||
| ```bash | ||
| kubectl label nodes <NODE_NAME> ^\ |
There was a problem hiding this comment.
is the ^ on this line a mistake?
| CLUSTER_SECRET="<SECRET>" | ||
| CNTR_ADDR="<CONTROL-PLANE-ADDR>" | ||
| POOL_NAME="<POOL-NAME>" | ||
|
|
There was a problem hiding this comment.
nit: separate these two code blocks so variables can be exported together and the second code block can be copy/pasted without modification
| CLUSTER_SECRET="<SECRET>" | ||
| CNTR_ADDR="<CONTROL-PLANE-ADDR>" | ||
| POOL_NAME="<POOL-NAME>" | ||
|
|
There was a problem hiding this comment.
nit: separate variables as it's own code block
This pull request adds a documentation page to explain how simplyblock storage clusters can be installed (fully hypercoverged) into a Talos Kubernetes cluster.
It follows the existing Ceph / Rook style and has a short explanation of the three different simplyblock components that can be installed.