swuferhong commented on code in PR #1862: URL: https://github.com/apache/fluss/pull/1862#discussion_r2464215572
########## website/docs/install-deploy/deploying-with-helm.md: ########## @@ -0,0 +1,405 @@ +--- +title: "Deploying with Helm Charts" +sidebar_position: 5 +--- + +# Deploying with Helm Charts + +This page provides instructions for deploying a Fluss cluster on Kubernetes using Helm charts. The chart creates a distributed streaming storage system with CoordinatorServer and TabletServer components. + +## Prerequisites + +Before installing the Fluss Helm chart, ensure you have: + +- Kubernetes +- Helm +- A running ZooKeeper ensemble (required for coordination) +- Sufficient cluster resources for the deployment +- **For Local Development**: Minikube and Docker (see [Local Development with Minikube](#local-development-with-minikube)) + +## Supported Versions + +| Component | Minimum Version | Recommended Version | +|-----------|----------------|-------------------| +| [Kubernetes](https://kubernetes.io) | v1.19+ | v1.25+ | +| [Helm](https://helm.sh) | v3.8.0+ | v3.18.6+ | +| [ZooKeeper](https://zookeeper.apache.org) | v3.6+ | v3.8+ | +| [Apache Fluss](https://fluss.apache.org/docs/) (Container Image) | v0.8-SNAPSHOT | v0.8-SNAPSHOT | Review Comment: Use variable `$FLUSS_VERSION$` instead of `v0.8-SNAPSHOT` ########## website/docs/install-deploy/deploying-with-helm.md: ########## @@ -0,0 +1,405 @@ +--- +title: "Deploying with Helm Charts" +sidebar_position: 5 +--- + +# Deploying with Helm Charts + +This page provides instructions for deploying a Fluss cluster on Kubernetes using Helm charts. The chart creates a distributed streaming storage system with CoordinatorServer and TabletServer components. + +## Prerequisites + +Before installing the Fluss Helm chart, ensure you have: + +- Kubernetes +- Helm +- A running ZooKeeper ensemble (required for coordination) +- Sufficient cluster resources for the deployment +- **For Local Development**: Minikube and Docker (see [Local Development with Minikube](#local-development-with-minikube)) Review Comment: This link `#local-development-with-minikube` cannot Jump to the correct dist. ########## website/docs/install-deploy/deploying-with-helm.md: ########## @@ -0,0 +1,405 @@ +--- +title: "Deploying with Helm Charts" +sidebar_position: 5 +--- + +# Deploying with Helm Charts + +This page provides instructions for deploying a Fluss cluster on Kubernetes using Helm charts. The chart creates a distributed streaming storage system with CoordinatorServer and TabletServer components. + +## Prerequisites + +Before installing the Fluss Helm chart, ensure you have: + +- Kubernetes +- Helm +- A running ZooKeeper ensemble (required for coordination) +- Sufficient cluster resources for the deployment +- **For Local Development**: Minikube and Docker (see [Local Development with Minikube](#local-development-with-minikube)) + +## Supported Versions + +| Component | Minimum Version | Recommended Version | +|-----------|----------------|-------------------| +| [Kubernetes](https://kubernetes.io) | v1.19+ | v1.25+ | +| [Helm](https://helm.sh) | v3.8.0+ | v3.18.6+ | +| [ZooKeeper](https://zookeeper.apache.org) | v3.6+ | v3.8+ | +| [Apache Fluss](https://fluss.apache.org/docs/) (Container Image) | v0.8-SNAPSHOT | v0.8-SNAPSHOT | +| [Minikube](https://minikube.sigs.k8s.io) (Local Development) | v1.25+ | v1.32+ | +| [Docker](https://docs.docker.com/) (Local Development) | v20.10+ | v24.0+ | + +## Installation + +### Running Fluss locally with Minikube + +For local testing and development, you can deploy Fluss on Minikube. This is ideal for development, testing, and learning purposes. + +#### Prerequisites + +- Docker container runtime +- At least 4GB RAM available for Minikube +- At least 2 CPU cores available + +#### Start Minikube + +```bash +# Start Minikube with recommended settings for Fluss +minikube start + +# Verify cluster is ready +kubectl cluster-info +``` + +#### Configure Docker Environment (Optional) + +To build images directly in Minikube you need to configure the Docker CLI to use Minikube's internal Docker daemon: + +```bash +# Configure shell to use Minikube's Docker daemon +eval $(minikube docker-env) +``` + +To build custom images please refer to [Custom Image Configuration](#custom-image-configuration) + +### Installing the chart on a cluster + +This installation process is generally working for a distributed Kubernetes cluster or a Minikube setup. + +### Step 1: Deploy ZooKeeper (Optional if ZooKeeper is existing) + +To start Zookeeper use Bitnami’s chart or your own deployment. If you have an existing Zookeeper cluster, you can skip this step. Example with Bitnami’s chart: + +```bash +# Add Bitnami repository +helm repo add bitnami https://charts.bitnami.com/bitnami +helm repo update + +# Deploy ZooKeeper +helm install zk bitnami/zookeeper +``` +### Step 2: Deploy Fluss + +#### Install from Helm repo + +```bash +# TODO: Add chart to Helm repo. +helm repo add fluss https://charts.fluss.apache.org +helm repo update +helm install helm-repo/fluss +``` + +#### Install from Local Chart + +```bash +helm install fluss ./docker/helm +``` + +#### Install with Custom Values + +You can customize the installation by providing your own `values.yaml` file or setting individual parameters via the `--set` flag. Using a custom values file: + +```bash +helm install fluss ./docker/helm -f my-values.yaml +``` + +Or for example to change the ZooKeeper address via the `--set` flag: + +```bash +helm install fluss ./docker/helm \ + --set configurationOverrides.zookeeper.address=<my-zk-cluster>:2181 +``` + +### Cleanup + +```bash +# Uninstall Fluss +helm uninstall fluss + +# Uninstall ZooKeeper +helm uninstall zk + +# Delete PVCs +kubectl delete pvc -l app.kubernetes.io/name=fluss + +# Stop Minikube +minikube stop + +# Delete Minikube cluster +minikube delete +``` + +## Architecture Overview + +The Fluss Helm chart deploys the following Kubernetes resources: + +### Core Components +- **CoordinatorServer**: 1x StatefulSet with Headless Service for cluster coordination +- **TabletServer**: 3x StatefulSet with Headless Service for data storage and processing +- **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 +# Check pod status +kubectl get pods -l app.kubernetes.io/name=fluss + +# Check services +kubectl get svc -l app.kubernetes.io/name=fluss + +# View logs +kubectl logs -l app.kubernetes.io/component=coordinator +kubectl logs -l app.kubernetes.io/component=tablet +``` + +## Configuration Parameters + +The following table lists the configurable parameters of the Fluss chart and their default values. + +### Global Parameters + +| Parameter | Description | Default | +|-----------|-------------|---------| +| `nameOverride` | Override the name of the chart | `""` | +| `fullnameOverride` | Override the full name of the resources | `""` | + +### Image Parameters + +| Parameter | Description | Default | +|-----------|-------------|---------| +| `image.registry` | Container image registry | `""` | +| `image.repository` | Container image repository | `fluss` | +| `image.tag` | Container image tag | `0.8-SNAPSHOT` | Review Comment: ditto. Use variable `$FLUSS_VERSION$` instead of `v0.8-SNAPSHOT` ########## website/docs/install-deploy/deploying-with-helm.md: ########## @@ -0,0 +1,405 @@ +--- +title: "Deploying with Helm Charts" +sidebar_position: 5 +--- + +# Deploying with Helm Charts + +This page provides instructions for deploying a Fluss cluster on Kubernetes using Helm charts. The chart creates a distributed streaming storage system with CoordinatorServer and TabletServer components. + +## Prerequisites + +Before installing the Fluss Helm chart, ensure you have: + +- Kubernetes +- Helm +- A running ZooKeeper ensemble (required for coordination) +- Sufficient cluster resources for the deployment +- **For Local Development**: Minikube and Docker (see [Local Development with Minikube](#local-development-with-minikube)) + +## Supported Versions + +| Component | Minimum Version | Recommended Version | +|-----------|----------------|-------------------| +| [Kubernetes](https://kubernetes.io) | v1.19+ | v1.25+ | +| [Helm](https://helm.sh) | v3.8.0+ | v3.18.6+ | +| [ZooKeeper](https://zookeeper.apache.org) | v3.6+ | v3.8+ | +| [Apache Fluss](https://fluss.apache.org/docs/) (Container Image) | v0.8-SNAPSHOT | v0.8-SNAPSHOT | +| [Minikube](https://minikube.sigs.k8s.io) (Local Development) | v1.25+ | v1.32+ | +| [Docker](https://docs.docker.com/) (Local Development) | v20.10+ | v24.0+ | + +## Installation + +### Running Fluss locally with Minikube + +For local testing and development, you can deploy Fluss on Minikube. This is ideal for development, testing, and learning purposes. + +#### Prerequisites + +- Docker container runtime +- At least 4GB RAM available for Minikube +- At least 2 CPU cores available + +#### Start Minikube + +```bash +# Start Minikube with recommended settings for Fluss +minikube start + +# Verify cluster is ready +kubectl cluster-info +``` + +#### Configure Docker Environment (Optional) + +To build images directly in Minikube you need to configure the Docker CLI to use Minikube's internal Docker daemon: + +```bash +# Configure shell to use Minikube's Docker daemon +eval $(minikube docker-env) +``` + +To build custom images please refer to [Custom Image Configuration](#custom-image-configuration) Review Comment: ditto. This link `#custom-image-configuration` cannot Jump to the correct dist. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
