Fluvio Cluster

The fluvio cluster family of commands is used to install and manage your own Fluvio cluster. The two primary forms of self-hosted cluster are Kubernetes (e.g. via Minikube) and Local clusters, both of which can be automatically set up by cluster commands. Please make sure you have followed the getting started guide and installed all the necessary dependencies before attempting to install your own cluster.

 

fluvio cluster check

This command is used to check whether you have all the required dependencies installed correctly. If this runs and returns successfully, you should be all set to start a Fluvio cluster.

Check that all requirements for cluster startup are met.

This command is useful to check if user has all the required dependencies and permissions to run fluvio on the current Kubernetes context.

It is not intended to be used in scenarios where user does not have access to Kubernetes resources (eg. Cloud)

Usage: fluvio cluster check [OPTIONS]

Options:
      --fix
          Attempt to fix recoverable errors

  -h, --help
          Print help (see a summary with '-h')
 

Example usage:

$ fluvio cluster check
Running pre-startup checks...
     ✅ Kubernetes config is loadable
     ✅ Supported kubernetes version is installed
     ✅ Supported helm version is installed
     ✅ Can create service
     ✅ Can create customresourcedefinitions
     ✅ Can create secret
     ✅ Fluvio system charts are installed
🎉 All checks passed!
You may proceed with cluster startup
next: run `fluvio cluster start`
 

fluvio cluster start

This command is used to start your own Fluvio cluster, with all the machinery needed to receive, process, and serve streaming messages.

There are two main variations of this command. The default variation is invoked simply by fluvio cluster start. This will install Fluvio to a Kubernetes cluster, typically Minikube. The other variation is fluvio cluster start --local, which will start the cluster components as plain processes on your local machine.

Install Fluvio cluster

Usage: fluvio cluster start [OPTIONS]

Options:
      --develop
          use local image
      --chart-version <CHART_VERSION>
          k8: use specific chart version
      --image-version <IMAGE_VERSION>
          k8: use specific image version
      --registry <REGISTRY>
          k8: use custom docker registry
      --namespace <NAMESPACE>
          k8 namespace [default: default]
      --group-name <GROUP_NAME>
          k8 [default: main]
      --install-name <INSTALL_NAME>
          helm chart installation name [default: fluvio]
      --chart-location <CHART_LOCATION>
          Local path to a helm chart to install
      --chart-values <CHART_VALUES>
          chart values
      --use-k8-port-forwarding
          Uses port forwarding for connecting to SC during install
      --use-cluster-ip
          Uses port forwarding for connecting to SC during install
      --tls-client-secret-name <TLS_CLIENT_SECRET_NAME>
          TLS: Client secret name while adding to Kubernetes [default: fluvio-client-tls]
      --tls-server-secret-name <TLS_SERVER_SECRET_NAME>
          TLS: Server secret name while adding to Kubernetes [default: fluvio-tls]
      --spu-storage-size <SPU_STORAGE_SIZE>
          set spu storage size [default: 10]
      --skip-profile-creation
          
      --spu <SPU>
          number of SPU [default: 1]
      --rust-log <RUST_LOG>
          RUST_LOG options
      --log-dir <LOG_DIR>
          log dir [default: /usr/local/var/log/fluvio]
      --sys-only
          installing/upgrade sys only
      --tls
          Whether to use TLS
      --domain <DOMAIN>
          TLS: domain
      --ca-cert <CA_CERT>
          TLS: ca cert
      --client-cert <CLIENT_CERT>
          TLS: client cert
      --client-key <CLIENT_KEY>
          TLS: client key
      --server-cert <SERVER_CERT>
          TLS: path to server certificate
      --server-key <SERVER_KEY>
          TLS: path to server private key
      --authorization-config-map <AUTHORIZATION_CONFIG_MAP>
          
      --skip-checks
          Whether to skip pre-install checks, defaults to false
      --setup
          Tries to setup necessary environment for cluster startup
      --proxy-addr <PROXY_ADDR>
          Proxy address
      --service-type <SERVICE_TYPE>
          Service Type
      --local
          install local spu/sc
      --local-k8
          install local spu/sc with metadata stored in K8s
      --k8
          install on K8s
      --read-only <config path>
          Start SC in read only mode
  -h, --help
          Print help
 

Example usage:

To start a cluster on Minikube:

$ fluvio cluster start
📝 Running pre-flight checks
     ✅ Kubernetes config is loadable
     ✅ Supported helm version is installed
     ✅ Fixed: Missing Fluvio system charts.
     ✅ Previous fluvio installation not found
🛠️  Installing Fluvio
     ✅ Fluvio app chart has been installed
🔎 Found SC service addr: 172.19.0.2:30814
👤 Profile set
🤖 SPU group launched (1)
     ✅ All SPUs confirmed
🎯 Successfully installed Fluvio!

To start a cluster locally (as processes on your machine):

$ fluvio cluster start --local
📝 Running pre-flight checks
     ✅ Supported helm version is installed
     ✅ Supported kubernetes version is installed
     ✅ Kubernetes config is loadable
     ✅ Fixed: Missing Fluvio system charts.
🖥️  SC Launched
🤖 SPU group launched (1)
👤 Profile set
🎯 Successfully installed Fluvio!
 

fluvio cluster delete

Deletes a Fluvio cluster and all data associated with it.

Uninstall a Fluvio cluster

Usage: fluvio cluster delete [OPTIONS]

Options:
      --namespace <Kubernetes namespace>  
      --k8                                Remove only k8 fluvio installation
      --sys                               Remove system chart only
  -h, --help                              Print help
 

Example usage:

To uninstall Fluvio from Kubernetes (e.g. Minikube):

$ fluvio cluster delete

To uninstall Fluvio from your local machine:

$ fluvio cluster delete --local
 

fluvio cluster spu list

This command shows details about the active SPUs in your cluster. It is mostly useful for checking on the status of individual SPUs to see whether they are still online, and which addresses they live at.

List all SPUs known by this cluster (managed AND custom)

fluvio cluster spu list [OPTIONS]

Options:
      --custom         Whether to list only custom SPUs
  -O, --output <type>  Output [default: table] [possible values: table, yaml, json]
  -h, --help           Print help
 

Example usage:

$ fluvio cluster spu list
 ID    NAME             STATUS  TYPE      RACK  PUBLIC          PRIVATE
 5001  custom-spu-5001  Online  "custom"   -    localhost:9010  localhost:9011