You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@fluss.apache.org by "dreger1997 (via GitHub)" <gi...@apache.org> on 2025/09/11 13:15:42 UTC

[PR] First helm draft with statefulset tablet, coordinator, configmap and … [fluss]

dreger1997 opened a new pull request, #1685:
URL: https://github.com/apache/fluss/pull/1685

   …svc for coordinator and headless svc for tablet
   
   <!--
   *Thank you very much for contributing to Fluss - we are happy that you want to help us improve Fluss. To help the community review your contribution in the best possible way, please go through the checklist below, which will get the contribution into a shape in which it can be best reviewed.*
   
   ## Contribution Checklist
   
     - Make sure that the pull request corresponds to a [GitHub issue](https://github.com/apache/fluss/issues). Exceptions are made for typos in JavaDoc or documentation files, which need no issue.
   
     - Name the pull request in the format "[component] Title of the pull request", where *[component]* should be replaced by the name of the component being changed. Typically, this corresponds to the component label assigned to the issue (e.g., [kv], [log], [client], [flink]). Skip *[component]* if you are unsure about which is the best component.
   
     - Fill out the template below to describe the changes contributed by the pull request. That will give reviewers the context they need to do the review.
   
     - Make sure that the change passes the automated tests, i.e., `mvn clean verify` passes.
   
     - Each pull request should address only one issue, not mix up code from multiple issues.
   
   
   **(The sections below can be removed for hotfixes or typos)**
   -->
   
   ### Purpose
   
   <!-- Linking this pull request to the issue -->
   Linked issue: close #779
   
   <!-- What is the purpose of the change -->
   Creating a V1 Draft for Helm-charts with Apache Fluss and external Zookeeper
   
   ### Brief change log
   
   <!-- Please describe the changes made in this pull request and explain how they address the issue -->
   
   ### Tests
   
   <!-- List UT and IT cases to verify this change -->
   
   ### API and Format
   
   <!-- Does this change affect API or storage format -->
   
   ### Documentation
   
   <!-- Does this change introduce a new feature -->
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fluss.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [helm] Add a helm chart for Fluss #779 [fluss]

Posted by "swuferhong (via GitHub)" <gi...@apache.org>.
swuferhong commented on PR #1685:
URL: https://github.com/apache/fluss/pull/1685#issuecomment-3408781475

   Hi, @dreger1997  Could u change the helm-charts version to 0.8-SNAPSHOT. After that, I will merge this pr.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fluss.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [helm] Add a helm chart for Fluss #779 [fluss]

Posted by "dreger1997 (via GitHub)" <gi...@apache.org>.
dreger1997 commented on code in PR #1685:
URL: https://github.com/apache/fluss/pull/1685#discussion_r2428426219


##########
docker/helm/README.md:
##########
@@ -0,0 +1,72 @@
+
+# Fluss Helm Chart
+
+This chart deploys an Apache Fluss cluster on Kubernetes, following Helm best practices.
+It requires a Zookeeper ensemble to be running in the same Kubernetes cluster. In future releases, we may add support for an embedded Zookeeper cluster.
+
+
+## Requirements 
+
+| component                                                                      | version |
+| ------------------------------------------------------------------------------ | ------- |
+| [Docker](https://docs.docker.com/)                                             | v28.3.2 |
+| [Minikube](https://minikube.sigs.k8s.io/docs/)                                 | v1.36.0 |
+| [Kubernetes](https://kubernetes.io)                                            | v1.25.3 |
+| [Helm](https://helm.sh)                                                        | v3.18.6 |
+| [Apache Fluss](https://fluss.apache.org/docs/)                                 | v0.7.0  |
+
+A container image for Fluss is available on DockerHub as `fluss/fluss:0.7.0`. You can use it directly or build your own from this repo.
+
+## Overview
+
+It creates:
+- 1x CoordinatorServer as a StatefulSet with a headless Service (stable per‑pod DNS)
+- 3x TabletServers as a StatefulSet with a headless Service (stable per‑pod DNS)
+- ConfigMap for server.yaml (CoordinatorServer and TabletServers) to override default Fluss configuration
+- Optional PersistentVolumes for data directories
+
+## Quick start
+
+1) Default (Zookeeper available in-cluster):
+
+```bash
+helm install fluss ./fluss-helm
+```

Review Comment:
   just changed the namespace to use helm templating with .Release.Namespace so it's not necessary to change it when using a different namespace.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fluss.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [helm] Add a helm chart for Fluss #779 [fluss]

Posted by "swuferhong (via GitHub)" <gi...@apache.org>.
swuferhong commented on code in PR #1685:
URL: https://github.com/apache/fluss/pull/1685#discussion_r2425067999


##########
docker/helm/values.yaml:
##########
@@ -0,0 +1,44 @@
+# Default values for fluss.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+image:
+  repository: fluss/fluss
+  tag: "0.7.0"

Review Comment:
   Hi, @dreger1997. Even though it is not possible to download `0.8-SNAPSHOT` from remote repo, according to development standards, it's still required to use `0.8-SNAPSHOT`. During the release, this will be changed to `0.8.0`. Other projects are also managed in the same way. If users need to use the `0.8-SNAPSHOT` image, they need build it locally.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fluss.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [helm] Add a helm chart for Fluss #779 [fluss]

Posted by "swuferhong (via GitHub)" <gi...@apache.org>.
swuferhong commented on PR #1685:
URL: https://github.com/apache/fluss/pull/1685#issuecomment-3331374260

   @dreger1997 Pls adding license header for your new introduce yaml files.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fluss.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [helm] Add a helm chart for Fluss #779 [fluss]

Posted by "swuferhong (via GitHub)" <gi...@apache.org>.
swuferhong commented on PR #1685:
URL: https://github.com/apache/fluss/pull/1685#issuecomment-3322162178

   Hi, @dreger1997. If you have time. Can you rebase your branch to main?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fluss.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [helm] Add a helm chart for Fluss #779 [fluss]

Posted by "dreger1997 (via GitHub)" <gi...@apache.org>.
dreger1997 commented on code in PR #1685:
URL: https://github.com/apache/fluss/pull/1685#discussion_r2380101550


##########
docker/helm/values.yaml:
##########
@@ -0,0 +1,44 @@
+# Default values for fluss.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+image:

Review Comment:
   I think we do not need it as it takes it from the Docker Hub



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fluss.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [helm] Add a helm chart for Fluss #779 [fluss]

Posted by "swuferhong (via GitHub)" <gi...@apache.org>.
swuferhong commented on code in PR #1685:
URL: https://github.com/apache/fluss/pull/1685#discussion_r2377443521


##########
docker/helm/README.md:
##########
@@ -0,0 +1,13 @@
+
+# Fluss Helm Chart
+
+This chart deploys a Fluss cluster with a Coordinator and a StatefulSet of Tablets.

Review Comment:
   TabletServer



##########
docker/helm/Chart.yaml:
##########
@@ -0,0 +1,28 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+apiVersion: v2
+name: fluss
+description: A Helm chart for Kubernetes to deploy Apache Fluss Coordinator and Tablet servers
+appVersion: "0.7.0"

Review Comment:
   0.8-SNAPSHOT



##########
docker/helm/templates/sts-coordinator.yaml:
##########
@@ -0,0 +1,77 @@
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+  name: coordinator-server
+  labels:
+  {{- include "fluss.labels" . | nindent 4 }}
+spec:
+  serviceName: coordinator-server-hs
+  replicas: 1 # can only be 1 for now
+  selector:
+    matchLabels:
+      {{- include "fluss.selectorLabels" . | nindent 6 }}
+      app.kubernetes.io/component: coordinator
+  template:
+    metadata:
+      labels:
+        {{- include "fluss.selectorLabels" . | nindent 8 }}
+        app.kubernetes.io/component: coordinator
+    spec:
+      containers:
+        - name: {{ .Chart.Name }}-coordinator
+          image: "{{.Values.image.repository}}:{{ .Values.image.tag }}"
+          imagePullPolicy: {{ .Values.image.pullPolicy }}
+          env:
+            - name: POD_NAME
+              valueFrom: 
+                fieldRef: 
+                  fieldPath: metadata.name 
+            - name: POD_IP
+              valueFrom: 
+                fieldRef: 
+                  fieldPath: status.podIP
+            - name: POD_NAMESPACE
+              valueFrom: 
+                fieldRef: 
+                  fieldPath: metadata.namespace
+            - name: NODE_IP
+              valueFrom:
+                fieldRef:
+                  fieldPath: status.hostIP
+          command:
+            - "/bin/sh"
+            - "-c"
+            - |
+              export FLUSS_SERVER_ID=${POD_NAME##*-} && \
+              cp /opt/conf/server.yaml $FLUSS_HOME/conf && \
+
+              echo "" >> $FLUSS_HOME/conf/server.yaml && \
+              echo "tablet-server.id: ${FLUSS_SERVER_ID}" >> $FLUSS_HOME/conf/server.yaml && \
+              echo "bind.listeners: INTERNAL://0.0.0.0:{{ .Values.appConfig.internalPort }}, CLIENT://0.0.0.0:{{ .Values.appConfig.externalPort }}" >> $FLUSS_HOME/conf/server.yaml && \
+              echo "advertised.listeners: CLIENT://coordinator-server-${FLUSS_SERVER_ID}.coordinator-server-hs.default.svc.cluster.local:{{ .Values.appConfig.externalPort }}" >> $FLUSS_HOME/conf/server.yaml && \
+
+              bin/coordinator-server.sh start-foreground
+          # advertised.listeners: CLIENT://$(POD_NAME).fluss-tablet-hs.default.svc.cluster.local:9124

Review Comment:
   need or not?



##########
docker/helm/templates/sts-coordinator.yaml:
##########
@@ -0,0 +1,77 @@
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+  name: coordinator-server
+  labels:
+  {{- include "fluss.labels" . | nindent 4 }}
+spec:
+  serviceName: coordinator-server-hs
+  replicas: 1 # can only be 1 for now
+  selector:
+    matchLabels:
+      {{- include "fluss.selectorLabels" . | nindent 6 }}
+      app.kubernetes.io/component: coordinator
+  template:
+    metadata:
+      labels:
+        {{- include "fluss.selectorLabels" . | nindent 8 }}
+        app.kubernetes.io/component: coordinator
+    spec:
+      containers:
+        - name: {{ .Chart.Name }}-coordinator
+          image: "{{.Values.image.repository}}:{{ .Values.image.tag }}"

Review Comment:
   Do we need to add `{{.Values.image.registry}}`, and change this to `{{.Values.image.registry}}/{{.Values.image.repository}}:{{ .Values.image.tag }}`



##########
docker/helm/README.md:
##########
@@ -0,0 +1,13 @@
+
+# Fluss Helm Chart
+
+This chart deploys a Fluss cluster with a Coordinator and a StatefulSet of Tablets.
+It requires a Zookeeper ensemble to be running in the same Kubernetes cluster.
+
+
+To start Zookeeper use
+helm install zk bitnami/zookeeper \
+  --set replicaCount=3 \
+  --set auth.enabled=false \
+  --set persistence.size=5Gi
+

Review Comment:
   We need to add more contents in Readme to introduce how to build a fluss cluster and operate by fluss in helm charts



##########
docker/helm/values.yaml:
##########
@@ -0,0 +1,44 @@
+# Default values for fluss.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+image:

Review Comment:
   Do we need to add `image:registry`?



##########
docker/helm/Chart.yaml:
##########
@@ -0,0 +1,28 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+apiVersion: v2
+name: fluss
+description: A Helm chart for Kubernetes to deploy Apache Fluss Coordinator and Tablet servers

Review Comment:
   TabletServers



##########
docker/helm/templates/sts-tablet.yaml:
##########
@@ -0,0 +1,77 @@
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+  name: tablet-server
+  labels:
+  {{- include "fluss.labels" . | nindent 4 }}
+spec:
+  serviceName: tablet-server-hs
+  replicas: 3
+  selector:
+    matchLabels:
+      {{- include "fluss.selectorLabels" . | nindent 6 }}
+      app.kubernetes.io/component: tablet
+  template:
+    metadata:
+      labels:
+        {{- include "fluss.selectorLabels" . | nindent 8 }}
+        app.kubernetes.io/component: tablet
+    spec:
+      containers:
+        - name: {{ .Chart.Name }}-tablet
+          image: "{{.Values.image.repository}}:{{ .Values.image.tag }}"

Review Comment:
   Ditto.  Do we need to add {{.Values.image.registry}}, and change this to {{.Values.image.registry}}/{{.Values.image.repository}}:{{ .Values.image.tag }}



##########
docker/helm/templates/sts-tablet.yaml:
##########
@@ -0,0 +1,77 @@
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+  name: tablet-server
+  labels:
+  {{- include "fluss.labels" . | nindent 4 }}
+spec:
+  serviceName: tablet-server-hs
+  replicas: 3
+  selector:
+    matchLabels:
+      {{- include "fluss.selectorLabels" . | nindent 6 }}
+      app.kubernetes.io/component: tablet
+  template:
+    metadata:
+      labels:
+        {{- include "fluss.selectorLabels" . | nindent 8 }}
+        app.kubernetes.io/component: tablet
+    spec:
+      containers:
+        - name: {{ .Chart.Name }}-tablet
+          image: "{{.Values.image.repository}}:{{ .Values.image.tag }}"
+          imagePullPolicy: {{ .Values.image.pullPolicy }}
+          env:
+            - name: POD_NAME
+              valueFrom: 
+                fieldRef: 
+                  fieldPath: metadata.name 
+            - name: POD_IP
+              valueFrom: 
+                fieldRef: 
+                  fieldPath: status.podIP
+            - name: POD_NAMESPACE
+              valueFrom: 
+                fieldRef: 
+                  fieldPath: metadata.namespace
+          command:
+            - "/bin/sh"
+            - "-c"
+            - |
+              export FLUSS_SERVER_ID=${POD_NAME##*-} && \
+              cp /opt/conf/server.yaml $FLUSS_HOME/conf && \
+              export PORT=$((9125 + ${FLUSS_SERVER_ID})) && \
+              echo "" >> $FLUSS_HOME/conf/server.yaml && \
+              echo "tablet-server.id: ${FLUSS_SERVER_ID}" >> $FLUSS_HOME/conf/server.yaml && \
+              echo "bind.listeners: INTERNAL://${POD_IP}:{{ .Values.appConfig.internalPort }}, CLIENT://0.0.0.0:{{ .Values.appConfig.externalPort }}" >> $FLUSS_HOME/conf/server.yaml && \
+              echo "advertised.listeners: CLIENT://tablet-server-${FLUSS_SERVER_ID}.tablet-server-hs.default.svc.cluster.local:{{ .Values.appConfig.externalPort }}" >> $FLUSS_HOME/conf/server.yaml && \
+              bin/tablet-server.sh start-foreground
+          # advertised.listeners: CLIENT://$(POD_NAME).fluss-tablet-hs.default.svc.cluster.local:9124

Review Comment:
   ditto. Need or not?



##########
docker/helm/values.yaml:
##########
@@ -0,0 +1,44 @@
+# Default values for fluss.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+image:
+  repository: fluss/fluss
+  tag: "0.7.0"

Review Comment:
   0.8-SNAPSHOT



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fluss.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [helm] Add a helm chart for Fluss #779 [fluss]

Posted by "dreger1997 (via GitHub)" <gi...@apache.org>.
dreger1997 commented on code in PR #1685:
URL: https://github.com/apache/fluss/pull/1685#discussion_r2426155492


##########
docker/helm/README.md:
##########
@@ -0,0 +1,72 @@
+
+# Fluss Helm Chart
+
+This chart deploys an Apache Fluss cluster on Kubernetes, following Helm best practices.
+It requires a Zookeeper ensemble to be running in the same Kubernetes cluster. In future releases, we may add support for an embedded Zookeeper cluster.
+
+
+## Requirements 
+
+| component                                                                      | version |
+| ------------------------------------------------------------------------------ | ------- |
+| [Docker](https://docs.docker.com/)                                             | v28.3.2 |
+| [Minikube](https://minikube.sigs.k8s.io/docs/)                                 | v1.36.0 |
+| [Kubernetes](https://kubernetes.io)                                            | v1.25.3 |
+| [Helm](https://helm.sh)                                                        | v3.18.6 |
+| [Apache Fluss](https://fluss.apache.org/docs/)                                 | v0.7.0  |
+
+A container image for Fluss is available on DockerHub as `fluss/fluss:0.7.0`. You can use it directly or build your own from this repo.
+
+## Overview
+
+It creates:
+- 1x CoordinatorServer as a StatefulSet with a headless Service (stable per‑pod DNS)
+- 3x TabletServers as a StatefulSet with a headless Service (stable per‑pod DNS)
+- ConfigMap for server.yaml (CoordinatorServer and TabletServers) to override default Fluss configuration
+- Optional PersistentVolumes for data directories
+
+## Quick start
+
+1) Default (Zookeeper available in-cluster):
+
+```bash
+helm install fluss ./fluss-helm
+```

Review Comment:
   Namespace is default, you are right needs to be added in the docs that value should be modified
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fluss.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [helm] Add a helm chart for Fluss #779 [fluss]

Posted by "swuferhong (via GitHub)" <gi...@apache.org>.
swuferhong merged PR #1685:
URL: https://github.com/apache/fluss/pull/1685


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fluss.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [helm] Add a helm chart for Fluss #779 [fluss]

Posted by "swuferhong (via GitHub)" <gi...@apache.org>.
swuferhong commented on code in PR #1685:
URL: https://github.com/apache/fluss/pull/1685#discussion_r2415760834


##########
docker/helm/README.md:
##########
@@ -0,0 +1,72 @@
+
+# Fluss Helm Chart
+
+This chart deploys an Apache Fluss cluster on Kubernetes, following Helm best practices.
+It requires a Zookeeper ensemble to be running in the same Kubernetes cluster. In future releases, we may add support for an embedded Zookeeper cluster.
+
+
+## Requirements 
+
+| component                                                                      | version |
+| ------------------------------------------------------------------------------ | ------- |
+| [Docker](https://docs.docker.com/)                                             | v28.3.2 |
+| [Minikube](https://minikube.sigs.k8s.io/docs/)                                 | v1.36.0 |
+| [Kubernetes](https://kubernetes.io)                                            | v1.25.3 |
+| [Helm](https://helm.sh)                                                        | v3.18.6 |
+| [Apache Fluss](https://fluss.apache.org/docs/)                                 | v0.7.0  |
+
+A container image for Fluss is available on DockerHub as `fluss/fluss:0.7.0`. You can use it directly or build your own from this repo.
+
+## Overview
+
+It creates:
+- 1x CoordinatorServer as a StatefulSet with a headless Service (stable per‑pod DNS)
+- 3x TabletServers as a StatefulSet with a headless Service (stable per‑pod DNS)
+- ConfigMap for server.yaml (CoordinatorServer and TabletServers) to override default Fluss configuration
+- Optional PersistentVolumes for data directories
+
+## Quick start
+
+1) Default (Zookeeper available in-cluster):
+
+```bash
+helm install fluss ./fluss-helm
+```
+
+2) ZooKeeper deployment:
+
+To start Zookeeper use Bitnami’s chart or your own deployment. Example with Bitnami’s chart:
+
+```bash
+helm repo add bitnami https://charts.bitnami.com/bitnami
+helm repo update
+helm install zk bitnami/zookeeper \
+  --set replicaCount=3 \
+  --set auth.enabled=false \
+  --set persistence.size=5Gi
+```

Review Comment:
   `helm install zk` first? Otherwise, Fluss cannot normal startup.



##########
docker/helm/README.md:
##########
@@ -0,0 +1,72 @@
+
+# Fluss Helm Chart
+
+This chart deploys an Apache Fluss cluster on Kubernetes, following Helm best practices.
+It requires a Zookeeper ensemble to be running in the same Kubernetes cluster. In future releases, we may add support for an embedded Zookeeper cluster.
+
+
+## Requirements 
+
+| component                                                                      | version |
+| ------------------------------------------------------------------------------ | ------- |
+| [Docker](https://docs.docker.com/)                                             | v28.3.2 |
+| [Minikube](https://minikube.sigs.k8s.io/docs/)                                 | v1.36.0 |
+| [Kubernetes](https://kubernetes.io)                                            | v1.25.3 |
+| [Helm](https://helm.sh)                                                        | v3.18.6 |
+| [Apache Fluss](https://fluss.apache.org/docs/)                                 | v0.7.0  |
+
+A container image for Fluss is available on DockerHub as `fluss/fluss:0.7.0`. You can use it directly or build your own from this repo.
+
+## Overview
+
+It creates:
+- 1x CoordinatorServer as a StatefulSet with a headless Service (stable per‑pod DNS)
+- 3x TabletServers as a StatefulSet with a headless Service (stable per‑pod DNS)
+- ConfigMap for server.yaml (CoordinatorServer and TabletServers) to override default Fluss configuration
+- Optional PersistentVolumes for data directories
+
+## Quick start
+
+1) Default (Zookeeper available in-cluster):
+
+```bash
+helm install fluss ./fluss-helm
+```

Review Comment:
   Do we need to specify the namespace? If not, the Zookeeper address may need to be modified.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fluss.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [helm] Add a helm chart for Fluss #779 [fluss]

Posted by "dreger1997 (via GitHub)" <gi...@apache.org>.
dreger1997 commented on code in PR #1685:
URL: https://github.com/apache/fluss/pull/1685#discussion_r2380102766


##########
docker/helm/values.yaml:
##########
@@ -0,0 +1,44 @@
+# Default values for fluss.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+image:
+  repository: fluss/fluss
+  tag: "0.7.0"

Review Comment:
   https://hub.docker.com/r/fluss/fluss the latest Fluss image is 0.7



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fluss.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [helm] Add a helm chart for Fluss #779 [fluss]

Posted by "dreger1997 (via GitHub)" <gi...@apache.org>.
dreger1997 commented on code in PR #1685:
URL: https://github.com/apache/fluss/pull/1685#discussion_r2426156978


##########
docker/helm/README.md:
##########
@@ -0,0 +1,72 @@
+
+# Fluss Helm Chart
+
+This chart deploys an Apache Fluss cluster on Kubernetes, following Helm best practices.
+It requires a Zookeeper ensemble to be running in the same Kubernetes cluster. In future releases, we may add support for an embedded Zookeeper cluster.
+
+
+## Requirements 
+
+| component                                                                      | version |
+| ------------------------------------------------------------------------------ | ------- |
+| [Docker](https://docs.docker.com/)                                             | v28.3.2 |
+| [Minikube](https://minikube.sigs.k8s.io/docs/)                                 | v1.36.0 |
+| [Kubernetes](https://kubernetes.io)                                            | v1.25.3 |
+| [Helm](https://helm.sh)                                                        | v3.18.6 |
+| [Apache Fluss](https://fluss.apache.org/docs/)                                 | v0.7.0  |
+
+A container image for Fluss is available on DockerHub as `fluss/fluss:0.7.0`. You can use it directly or build your own from this repo.
+
+## Overview
+
+It creates:
+- 1x CoordinatorServer as a StatefulSet with a headless Service (stable per‑pod DNS)
+- 3x TabletServers as a StatefulSet with a headless Service (stable per‑pod DNS)
+- ConfigMap for server.yaml (CoordinatorServer and TabletServers) to override default Fluss configuration
+- Optional PersistentVolumes for data directories
+
+## Quick start
+
+1) Default (Zookeeper available in-cluster):
+
+```bash
+helm install fluss ./fluss-helm
+```
+
+2) ZooKeeper deployment:
+
+To start Zookeeper use Bitnami’s chart or your own deployment. Example with Bitnami’s chart:
+
+```bash
+helm repo add bitnami https://charts.bitnami.com/bitnami
+helm repo update
+helm install zk bitnami/zookeeper \
+  --set replicaCount=3 \
+  --set auth.enabled=false \
+  --set persistence.size=5Gi
+```

Review Comment:
   Yes, but in the case zk is already installed then we do not need it. But I'll make it more clear



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fluss.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [helm] Add a helm chart for Fluss #779 [fluss]

Posted by "dreger1997 (via GitHub)" <gi...@apache.org>.
dreger1997 commented on code in PR #1685:
URL: https://github.com/apache/fluss/pull/1685#discussion_r2380103383


##########
docker/helm/templates/sts-tablet.yaml:
##########
@@ -0,0 +1,77 @@
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+  name: tablet-server
+  labels:
+  {{- include "fluss.labels" . | nindent 4 }}
+spec:
+  serviceName: tablet-server-hs
+  replicas: 3
+  selector:
+    matchLabels:
+      {{- include "fluss.selectorLabels" . | nindent 6 }}
+      app.kubernetes.io/component: tablet
+  template:
+    metadata:
+      labels:
+        {{- include "fluss.selectorLabels" . | nindent 8 }}
+        app.kubernetes.io/component: tablet
+    spec:
+      containers:
+        - name: {{ .Chart.Name }}-tablet
+          image: "{{.Values.image.repository}}:{{ .Values.image.tag }}"

Review Comment:
   see my comment below to the registry



##########
docker/helm/templates/sts-tablet.yaml:
##########
@@ -0,0 +1,77 @@
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+  name: tablet-server
+  labels:
+  {{- include "fluss.labels" . | nindent 4 }}
+spec:
+  serviceName: tablet-server-hs
+  replicas: 3
+  selector:
+    matchLabels:
+      {{- include "fluss.selectorLabels" . | nindent 6 }}
+      app.kubernetes.io/component: tablet
+  template:
+    metadata:
+      labels:
+        {{- include "fluss.selectorLabels" . | nindent 8 }}
+        app.kubernetes.io/component: tablet
+    spec:
+      containers:
+        - name: {{ .Chart.Name }}-tablet
+          image: "{{.Values.image.repository}}:{{ .Values.image.tag }}"
+          imagePullPolicy: {{ .Values.image.pullPolicy }}
+          env:
+            - name: POD_NAME
+              valueFrom: 
+                fieldRef: 
+                  fieldPath: metadata.name 
+            - name: POD_IP
+              valueFrom: 
+                fieldRef: 
+                  fieldPath: status.podIP
+            - name: POD_NAMESPACE
+              valueFrom: 
+                fieldRef: 
+                  fieldPath: metadata.namespace
+          command:
+            - "/bin/sh"
+            - "-c"
+            - |
+              export FLUSS_SERVER_ID=${POD_NAME##*-} && \
+              cp /opt/conf/server.yaml $FLUSS_HOME/conf && \
+              export PORT=$((9125 + ${FLUSS_SERVER_ID})) && \
+              echo "" >> $FLUSS_HOME/conf/server.yaml && \
+              echo "tablet-server.id: ${FLUSS_SERVER_ID}" >> $FLUSS_HOME/conf/server.yaml && \
+              echo "bind.listeners: INTERNAL://${POD_IP}:{{ .Values.appConfig.internalPort }}, CLIENT://0.0.0.0:{{ .Values.appConfig.externalPort }}" >> $FLUSS_HOME/conf/server.yaml && \
+              echo "advertised.listeners: CLIENT://tablet-server-${FLUSS_SERVER_ID}.tablet-server-hs.default.svc.cluster.local:{{ .Values.appConfig.externalPort }}" >> $FLUSS_HOME/conf/server.yaml && \
+              bin/tablet-server.sh start-foreground
+          # advertised.listeners: CLIENT://$(POD_NAME).fluss-tablet-hs.default.svc.cluster.local:9124

Review Comment:
   cleaned it up



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fluss.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [helm] Add a helm chart for Fluss #779 [fluss]

Posted by "dreger1997 (via GitHub)" <gi...@apache.org>.
dreger1997 commented on PR #1685:
URL: https://github.com/apache/fluss/pull/1685#issuecomment-3325475352

   > Hi, @dreger1997. If you have time. Can you rebase your branch to main?
   
   Done


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fluss.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org