adamant-kite-43734
04/28/2026, 8:14 PMhappy-cat-90847
04/28/2026, 8:15 PMhappy-cat-90847
04/28/2026, 8:17 PMthousands-advantage-10804
04/28/2026, 8:27 PMhappy-cat-90847
04/29/2026, 1:52 PMthousands-advantage-10804
04/29/2026, 1:58 PMhappy-cat-90847
04/29/2026, 2:03 PMthousands-advantage-10804
04/29/2026, 2:08 PMfew-ability-69534
04/29/2026, 3:21 PMhappy-cat-90847
04/29/2026, 3:30 PMhappy-cat-90847
04/29/2026, 3:31 PM# vi kustomization.yaml
apiVersion: <http://kustomize.config.k8s.io/v1beta1|kustomize.config.k8s.io/v1beta1>
kind: Kustomization
namespace: linbit-sds
resources:
- <https://charts.linstor.io/static/v2.10.4.yaml>
generatorOptions:
disableNameSuffixHash: true
secretGenerator:
- name: drbdio-pull-secret
type: <http://kubernetes.io/dockerconfigjson|kubernetes.io/dockerconfigjson>
literals:
- .dockerconfigjson={"auths":{"<http://drbd.io|drbd.io>":{"username":"<mailto:email@user.com|email@user.com>","password":"yourPassword"}}}happy-cat-90847
04/29/2026, 3:31 PMhappy-cat-90847
04/29/2026, 3:32 PMhappy-cat-90847
04/29/2026, 3:32 PM# vi loader.yaml
apiVersion: <http://piraeus.io/v1|piraeus.io/v1>
kind: LinstorSatelliteConfiguration
metadata:
name: harvester-loader-override
spec:
podTemplate:
spec:
volumes:
- name: usr-src
emptyDir: { }
hostPath:
$patch: delete
initContainers:
- name: kernel-header-copy
image: <http://registry.opensuse.org/isv/rancher/harvester/os/v1.8/main/baseos-headers|registry.opensuse.org/isv/rancher/harvester/os/v1.8/main/baseos-headers>
args:
- cp
- -avt
- /container/usr/src
- /usr/src/linux/
volumeMounts:
- name: usr-src
mountPath: /container/usr/src
securityContext:
privileged: true
- name: drbd-module-loader
command:
- sh
- -exc
- |
cp /entry.sh /usr/src/
cp /drbd.tar.gz /usr/src/
volumeMounts:
- name: usr-src
mountPath: /usr/src
securityContext:
privileged: true
- name: drbd-module-loader-from-source
image: <http://registry.suse.com/bci/bci-sle16-kernel-module-devel:16.0|registry.suse.com/bci/bci-sle16-kernel-module-devel:16.0>
args:
- sh
- -exc
- |
cp /usr/src/drbd.tar.gz /drbd.tar.gz
/usr/src/entry.sh
env:
- name: LB_HOW
value: compile
- name: KDIR
value: /usr/src/linux/
volumeMounts:
- name: lib-modules
mountPath: /lib/modules
readOnly: true
- name: usr-src
mountPath: /usr/src
readOnly: true
securityContext:
privileged: truehappy-cat-90847
04/29/2026, 3:32 PMhappy-cat-90847
04/29/2026, 3:33 PMkubectl create -f - <<EOF
apiVersion: <http://piraeus.io/v1|piraeus.io/v1>
kind: LinstorCluster
metadata:
name: linstorcluster
spec: {}
EOFhappy-cat-90847
04/29/2026, 3:34 PMapiVersion: <http://piraeus.io/v1|piraeus.io/v1>
kind: LinstorSatelliteConfiguration
metadata:
name: storage-ampere-1
spec:
nodeSelector:
<http://kubernetes.io/hostname|kubernetes.io/hostname>: ampere-1
storagePools:
- name: vg1-thin
lvmThinPool:
volumeGroup: vg1
thinPool: thin
source:
hostDevices:
- /dev/nvme1n1
---
apiVersion: <http://piraeus.io/v1|piraeus.io/v1>
kind: LinstorSatelliteConfiguration
metadata:
name: storage-ampere-2
spec:
nodeSelector:
<http://kubernetes.io/hostname|kubernetes.io/hostname>: ampere-2
storagePools:
- name: vg1-thin
lvmThinPool:
volumeGroup: vg1
thinPool: thin
source:
hostDevices:
- /dev/nvme3n1
---
apiVersion: <http://piraeus.io/v1|piraeus.io/v1>
kind: LinstorSatelliteConfiguration
metadata:
name: storage-ampere-3
spec:
nodeSelector:
<http://kubernetes.io/hostname|kubernetes.io/hostname>: ampere-3
storagePools:
- name: vg1-thin
lvmThinPool:
volumeGroup: vg1
thinPool: thin
source:
hostDevices:
- /dev/nvme1n1happy-cat-90847
04/29/2026, 3:34 PM/dev/sda as the available disk.
apiVersion: <http://piraeus.io/v1|piraeus.io/v1>
kind: LinstorSatelliteConfiguration
metadata:
name: storage-satellites
spec:
storagePools:
- name: vg1-thin
lvmThinPool:
volumeGroup: vg1
thinPool: thin
source:
hostDevices:
- /dev/sdahappy-cat-90847
04/29/2026, 3:35 PMapiVersion: <http://storage.k8s.io/v1|storage.k8s.io/v1>
kind: StorageClass
metadata:
# The name used to identify this StorageClass.
name: linstor-thin
# The name used to match this StorageClass with a provisioner.
# <http://linstor.csi.linbit.com|linstor.csi.linbit.com> is the name that the LINSTOR CSI plugin uses to identify itself
provisioner: <http://linstor.csi.linbit.com|linstor.csi.linbit.com>
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
parameters:
# LINSTOR will provision volumes from the drbdpool storage pool configured
# On the satellite nodes in the LINSTOR cluster specified in the plugin's deployment
storagePool: "vg1-thin"
resourceGroup: "linstor-thin"
# Setting a fstype is required for "fsGroup" permissions to work correctly.
# Currently supported: xfs/ext4
<http://csi.storage.k8s.io/fstype|csi.storage.k8s.io/fstype>: xfs
<http://linstor.csi.linbit.com/placementCount|linstor.csi.linbit.com/placementCount>: "2"happy-cat-90847
04/29/2026, 3:35 PM# kubectl exec deploy/linstor-controller -n linbit-sds -- linstor storage-pool list
# kubectl exec deploy/linstor-controller -n linbit-sds -- linstor resource list-volumeshappy-cat-90847
04/29/2026, 3:36 PMthousands-advantage-10804
04/29/2026, 3:37 PM