mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-10-11 00:37:52 +02:00
Deployment to Kubernetes: document DaemonSet + hostPath volume servers
1 parent
4fd357c970
commit
716489eafd
1 file changed
+42
@@ -58,6 +58,48 @@ spec:
|
||||
|
||||
For more details, see the [IAM Support](https://github.com/seaweedfs/seaweedfs-operator/blob/master/IAM_SUPPORT.md) documentation in the operator repository.
|
||||
|
||||
## Bare-metal volume servers (DaemonSet + node-local disks)
|
||||
|
||||
By default the Operator runs volume servers as a `StatefulSet` backed by
|
||||
dynamically-provisioned `PersistentVolumeClaim`s. On bare-metal / on-prem
|
||||
clusters you often instead want **one volume server per node, writing directly
|
||||
to that node's physical disks**. Set `volume.kind: DaemonSet` and list the
|
||||
node-local directories in `volume.hostPath`:
|
||||
|
||||
```yaml
|
||||
apiVersion: seaweed.seaweedfs.com/v1
|
||||
kind: Seaweed
|
||||
metadata:
|
||||
name: seaweed1
|
||||
spec:
|
||||
image: chrislusf/seaweedfs:latest
|
||||
master:
|
||||
replicas: 3
|
||||
volume:
|
||||
kind: DaemonSet # one volume server per matching node (replicas is ignored)
|
||||
hostPath: # node-local data dirs, one per physical disk
|
||||
- path: /mnt/disks/ssd0
|
||||
maxVolumeCount: 100
|
||||
- path: /mnt/disks/ssd1
|
||||
nodeSelector: # restrict to labelled storage nodes
|
||||
seaweedfs.com/storage: "true"
|
||||
tolerations:
|
||||
- key: seaweedfs.com/storage
|
||||
operator: Exists
|
||||
effect: NoSchedule
|
||||
filer:
|
||||
replicas: 1
|
||||
```
|
||||
|
||||
Each `hostPath` entry is mounted at `/data<index>` and passed to
|
||||
`weed volume -dir`, so a single server can span several disks; the optional
|
||||
`maxVolumeCount` caps volumes per directory. `hostPath` is required in
|
||||
DaemonSet mode (DaemonSets cannot use `volumeClaimTemplates`), but it also
|
||||
works with the default `StatefulSet` — pair it with node anti-affinity so two
|
||||
replicas never share a host directory. For rack/datacenter-aware placement
|
||||
across multiple volume groups, see
|
||||
[Topology Support](https://github.com/seaweedfs/seaweedfs-operator/blob/master/TOPOLOGY_SUPPORT.md).
|
||||
|
||||
## Declarative Buckets and IAM
|
||||
|
||||
Besides provisioning the cluster itself, the Operator can manage S3 buckets,
|
||||
|
||||
Reference in new issue
Block a user