This is an automated email from the ASF dual-hosted git repository.
yunhong pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fluss.git
The following commit(s) were added to refs/heads/main by this push:
new ff3cab9dd [helm] Add `tabletServer.count` configuration option (#2456)
ff3cab9dd is described below
commit ff3cab9ddb27a116867bd2394a61506b269d0510
Author: Muhammet Orazov <[email protected]>
AuthorDate: Tue Feb 3 04:17:09 2026 +0100
[helm] Add `tabletServer.count` configuration option (#2456)
* [helm] Add `tablet.numberOfReplicas` configuration option
* [helm] Move storage values to coordinator and tablet sections
---
helm/templates/sts-coordinator.yaml | 26 +++++++-------
helm/templates/sts-tablet.yaml | 26 +++++++-------
helm/values.yaml | 17 ++++++---
website/docs/install-deploy/deploying-with-helm.md | 40 ++++++++++++++++------
4 files changed, 69 insertions(+), 40 deletions(-)
diff --git a/helm/templates/sts-coordinator.yaml
b/helm/templates/sts-coordinator.yaml
index bc37d22b5..62591561c 100644
--- a/helm/templates/sts-coordinator.yaml
+++ b/helm/templates/sts-coordinator.yaml
@@ -24,7 +24,7 @@ metadata:
{{- include "fluss.labels" . | nindent 4 }}
spec:
serviceName: coordinator-server-hs
- replicas: 1 # can only be 1 for now
+ replicas: {{ .Values.coordinator.numberOfReplicas }}
selector:
matchLabels:
{{- include "fluss.selectorLabels" . | nindent 6 }}
@@ -44,16 +44,16 @@ spec:
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: POD_NAME
- valueFrom:
- fieldRef:
- fieldPath: metadata.name
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
- name: POD_IP
- valueFrom:
- fieldRef:
+ valueFrom:
+ fieldRef:
fieldPath: status.podIP
- name: POD_NAMESPACE
- valueFrom:
- fieldRef:
+ valueFrom:
+ fieldRef:
fieldPath: metadata.namespace
- name: NODE_IP
valueFrom:
@@ -96,11 +96,11 @@ spec:
- name: fluss-conf
configMap:
name: fluss-conf-file
- {{- if not .Values.persistence.enabled }}
+ {{- if not .Values.coordinator.storage.enabled }}
- name: data
emptyDir: {}
{{- end }}
- {{- if .Values.persistence.enabled }}
+ {{- if .Values.coordinator.storage.enabled }}
volumeClaimTemplates:
- metadata:
name: data
@@ -108,6 +108,6 @@ spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
- storage: {{ .Values.persistence.size }}
- storageClassName: {{ .Values.persistence.storageClass }}
- {{- end}}
\ No newline at end of file
+ storage: {{ .Values.coordinator.storage.size }}
+ storageClassName: {{ .Values.coordinator.storage.storageClass }}
+ {{- end}}
diff --git a/helm/templates/sts-tablet.yaml b/helm/templates/sts-tablet.yaml
index f13dce9b1..db7830750 100644
--- a/helm/templates/sts-tablet.yaml
+++ b/helm/templates/sts-tablet.yaml
@@ -24,7 +24,7 @@ metadata:
{{- include "fluss.labels" . | nindent 4 }}
spec:
serviceName: tablet-server-hs
- replicas: 3
+ replicas: {{ .Values.tablet.numberOfReplicas }}
selector:
matchLabels:
{{- include "fluss.selectorLabels" . | nindent 6 }}
@@ -44,16 +44,16 @@ spec:
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: POD_NAME
- valueFrom:
- fieldRef:
- fieldPath: metadata.name
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
- name: POD_IP
- valueFrom:
- fieldRef:
+ valueFrom:
+ fieldRef:
fieldPath: status.podIP
- name: POD_NAMESPACE
- valueFrom:
- fieldRef:
+ valueFrom:
+ fieldRef:
fieldPath: metadata.namespace
command:
- "/bin/sh"
@@ -92,11 +92,11 @@ spec:
- name: fluss-conf
configMap:
name: fluss-conf-file
- {{- if not .Values.persistence.enabled }}
+ {{- if not .Values.tablet.storage.enabled }}
- name: data
emptyDir: {}
{{- end }}
- {{- if .Values.persistence.enabled }}
+ {{- if .Values.tablet.storage.enabled }}
volumeClaimTemplates:
- metadata:
name: data
@@ -104,6 +104,6 @@ spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
- storage: {{ .Values.persistence.size }}
- storageClassName: {{ .Values.persistence.storageClass }}
- {{- end}}
\ No newline at end of file
+ storage: {{ .Values.tablet.storage.size }}
+ storageClassName: {{ .Values.tablet.storage.storageClass }}
+ {{- end}}
diff --git a/helm/values.yaml b/helm/values.yaml
index 9cf4b9329..120ca1dfb 100644
--- a/helm/values.yaml
+++ b/helm/values.yaml
@@ -42,10 +42,19 @@ configurationOverrides:
data.dir: /tmp/fluss/data
internal.listener.name: INTERNAL
-persistence:
- enabled: false
- size: 1Gi
- storageClass:
+tablet:
+ numberOfReplicas: 3
+ storage:
+ enabled: false
+ size: 1Gi
+ storageClass:
+
+coordinator:
+ numberOfReplicas: 1
+ storage:
+ enabled: false
+ size: 1Gi
+ storageClass:
resources: {}
# We usually recommend not to specify default resources and to leave this as
a conscious
diff --git a/website/docs/install-deploy/deploying-with-helm.md
b/website/docs/install-deploy/deploying-with-helm.md
index a33134363..ba80fd83b 100644
--- a/website/docs/install-deploy/deploying-with-helm.md
+++ b/website/docs/install-deploy/deploying-with-helm.md
@@ -141,10 +141,6 @@ The Fluss Helm chart deploys the following Kubernetes
resources:
- **ConfigMap**: Configuration management for `server.yaml` settings
- **Services**: Headless services providing stable pod DNS names
-### Optional Components
-- **PersistentVolumes**: Data persistence when `persistence.enabled=true`
-
-
### Step 3: Verify Installation
```bash
@@ -199,13 +195,22 @@ The following table lists the configurable parameters of
the Fluss chart and the
| `configurationOverrides.data.dir` | Local data directory | `/tmp/fluss/data`
|
| `configurationOverrides.internal.listener.name` | Internal listener name |
`INTERNAL` |
-### Persistence Parameters
+### Tablet Server Parameters
+
+| Parameter | Description | Default |
+|-----------|-------------|---------|
+| `tablet.numberOfReplicas` | Number of TabletServer replicas to deploy | `3` |
+
+### Storage Parameters
| Parameter | Description | Default |
|-----------|-------------|---------|
-| `persistence.enabled` | Enable persistent volume claims | `false` |
-| `persistence.size` | Persistent volume size | `1Gi` |
-| `persistence.storageClass` | Storage class name | `nil` (uses default) |
+| `coordinator.storage.enabled` | Enable persistent volume claims for
CoordinatorServer | `false` |
+| `coordinator.storage.size` | Coordinator persistent volume size | `1Gi` |
+| `coordinator.storage.storageClass` | Coordinator storage class name | `nil`
(uses default) |
+| `tablet.storage.enabled` | Enable persistent volume claims for TabletServer
| `false` |
+| `tablet.storage.size` | Tablet persistent volume size | `1Gi` |
+| `tablet.storage.storageClass` | Tablet storage class name | `nil` (uses
default) |
### Resource Parameters
@@ -254,7 +259,23 @@ configurationOverrides:
### Storage Configuration
-Configure different storage backends:
+Configure different storage volumes for coordinator or tablet pods:
+
+```yaml
+coordinator:
+ storage:
+ enabled: true
+ size: 5Gi
+ storageClass: fast-ssd
+
+tablet:
+ storage:
+ enabled: true
+ size: 20Gi
+ storageClass: fast-ssd
+```
+
+Configure remote storage:
```yaml
configurationOverrides:
@@ -405,4 +426,3 @@ kubectl get configmap fluss-conf-file -o yaml
# Get detailed pod information
kubectl get pods -o wide -l app.kubernetes.io/name=fluss
```
-