piraeus

Piraeus DRBD 存储

补充说明

Piraeus Operator 在 Kubernetes 上管理 DRBD 复制存储,提供高可用块设备、快照、扩容和跨节点复制。它适合数据库、消息队列等需要低延迟块存储的有状态服务。

核心概念:DRBDCluster、StorageClass、PersistentVolumeClaim、resource group 和 replica。数据在多个节点同步复制,Pod 漂移后可以重新挂载。

语法

安装:

helm repo add piraeus-charts https://piraeus.io/helm-charts/
helm install piraeus-operator piraeus-charts/piraeus \
  --namespace piraeus-system --create-namespace
kubectl -n piraeus-system get pods

创建 StorageClass:

kubectl apply -f - <<'EOF'
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: piraeus
provisioner: linstor.csi.linbit.com
parameters:
  autoPlace: "3"
  storagePool: "pool"
reclaimPolicy: Retain
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer
EOF

创建 PVC:

kubectl apply -f - <<'EOF'
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: data
  namespace: demo
spec:
  accessModes: [ReadWriteOnce]
  storageClassName: piraeus
  resources:
    requests:
      storage: 10Gi
EOF
kubectl get pvc -n demo

查看 DRBD 资源:

kubectl get drbdclusters -A
kubectl get pvc -A
kubectl -n piraeus-system logs deploy/piraeus-operator -f

扩容:

kubectl patch pvc data -n demo \
  -p '{"spec":{"resources":{"requests":{"storage":"20Gi"}}}}'

注意

相关命令

参考链接