mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-10-30 00:40:44 +01:00
Helm recipes: filer metadata on a claim through filer.data
enablePVC is ignored once filer.data is set, which the chart's defaults always do, so the recipes rendered a hostPath for the filer store. Claims now use the cluster default storage class instead of local-path. Claude-Session: https://claude.ai/code/session_014apMEkkquAtAYp89paTkAT
1 parent
5eb8ff8c1a
commit
1677e11d32
1 file changed
+15
-17
+15
-17
@@ -20,8 +20,7 @@ global:
|
||||
master:
|
||||
replicas: 3
|
||||
data:
|
||||
type: persistentVolumeClaim
|
||||
storageClass: local-path
|
||||
type: persistentVolumeClaim # the cluster's default storage class; add storageClass to pick one
|
||||
size: 1Gi
|
||||
|
||||
volume:
|
||||
@@ -29,15 +28,14 @@ volume:
|
||||
dataDirs:
|
||||
- name: data
|
||||
type: persistentVolumeClaim
|
||||
storageClass: local-path
|
||||
size: 500Gi
|
||||
maxVolumes: 0 # size the volume count from the disk
|
||||
|
||||
filer:
|
||||
replicas: 2
|
||||
enablePVC: true
|
||||
storageClass: local-path
|
||||
storage: 20Gi
|
||||
data:
|
||||
type: persistentVolumeClaim
|
||||
size: 20Gi
|
||||
|
||||
s3:
|
||||
enabled: true
|
||||
@@ -56,7 +54,8 @@ How the pieces fit:
|
||||
* `replicationPlacement` is three digits, `XYZ`: X extra copies in other data centers, Y in other racks of the same data center, Z on other servers of the same rack. Total copies are 1 + X + Y + Z, and you need at least that many volume servers in the matching places. Without rack or data center labels every volume server is in the same rack, so `001` needs two volume servers and `002` needs three. `enableReplication` sets both `master.defaultReplication` and `filer.defaultReplicaPlacement` to this value. See [[Replication]].
|
||||
* `volume.replicas` is the number of volume server pods, one per node with the chart's default anti-affinity. It is independent of the replication digits except for the minimum above.
|
||||
* `maxVolumes: 0` lets each volume server compute how many volumes fit on its disk. The chart's master defaults to 1000MB volumes (`master.volumeSizeLimitMB`); raise it to `30000` for large disks with few buckets, keep it small when you expect many buckets, since each bucket grows its own volumes.
|
||||
* Master data on a claim keeps the cluster identity when a master pod is rescheduled. The chart defaults to `hostPath`, which does not follow the pod.
|
||||
* Master and filer data on claims keep the cluster identity and the metadata when a pod is rescheduled. The chart defaults both to `hostPath`, which does not follow the pod. The older `filer.enablePVC` key is ignored once `filer.data` is set, so use `filer.data`.
|
||||
* Claims use the cluster's default storage class. Add `storageClass` under a `data` block or a `dataDirs` entry to choose another, for example `local-path` on k3s.
|
||||
* Two filers on the default LevelDB store [[sync with each other|Filer Store Replication]]. For three or more filers, or a lot of metadata, put the store in a database (next recipes).
|
||||
* `s3.enableAuth` with `s3.credentials` writes the identities into the S3 config secret; the `read` identity gets random keys unless you set it too. `createBuckets` runs once as a post-install hook.
|
||||
|
||||
@@ -72,7 +71,7 @@ Expose it with `s3.ingress` or a `LoadBalancer` under `s3.service.type`. Grow th
|
||||
|
||||
## Single node for development
|
||||
|
||||
One of everything, on the cluster's default storage class, no authentication.
|
||||
One of everything, no authentication.
|
||||
|
||||
```yaml
|
||||
master:
|
||||
@@ -88,8 +87,9 @@ volume:
|
||||
maxVolumes: 0
|
||||
|
||||
filer:
|
||||
enablePVC: true
|
||||
storage: 5Gi
|
||||
data:
|
||||
type: persistentVolumeClaim
|
||||
size: 5Gi
|
||||
|
||||
s3:
|
||||
enabled: true
|
||||
@@ -112,8 +112,7 @@ global:
|
||||
master:
|
||||
replicas: 3
|
||||
data:
|
||||
type: persistentVolumeClaim
|
||||
storageClass: local-path
|
||||
type: persistentVolumeClaim # the cluster's default storage class; add storageClass to pick one
|
||||
size: 1Gi
|
||||
|
||||
volume:
|
||||
@@ -121,15 +120,14 @@ volume:
|
||||
dataDirs:
|
||||
- name: data
|
||||
type: persistentVolumeClaim
|
||||
storageClass: local-path
|
||||
size: 500Gi
|
||||
maxVolumes: 0
|
||||
|
||||
filer:
|
||||
replicas: 2
|
||||
enablePVC: true
|
||||
storageClass: local-path
|
||||
storage: 20Gi
|
||||
data:
|
||||
type: persistentVolumeClaim
|
||||
size: 20Gi
|
||||
|
||||
s3:
|
||||
enabled: true
|
||||
@@ -180,7 +178,7 @@ s3:
|
||||
replicas: 3
|
||||
```
|
||||
|
||||
The filer creates its table on first start. `WEED_LEVELDB2_ENABLED` must be turned off, since the chart enables it by default and two enabled stores is an error. The filers no longer need a claim, so `enablePVC` can stay off.
|
||||
The filer creates its table on first start. `WEED_LEVELDB2_ENABLED` must be turned off, since the chart enables it by default and two enabled stores is an error. The filers no longer need a claim, so `filer.data` can stay at its default.
|
||||
|
||||
## Bare metal: node-local disks
|
||||
|
||||
|
||||
Reference in new issue
Block a user