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

    fluvio cluster check

    -h, --help    Prints help information

Example usage:

$ fluvio cluster check
Running pre-startup checks...
✅ ok: Kubernetes config is loadable
✅ ok: Supported kubernetes version is installed
✅ ok: Supported helm version is installed
✅ ok: Can create service
✅ ok: Can create customresourcedefinitions
✅ ok: Can create secret
✅ ok: Load balancer is up
✅ ok: 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.

Start a Fluvio cluster, locally or on Minikube

    fluvio cluster start [FLAGS] [OPTIONS]

        --develop                  use local image
        --sys                      installing sys
        --local                    install local spu/sc(custom)
        --tls                      Whether to use TLS
            Whether to skip pre-install checks, defaults to false

            Tries to setup necessary environment for cluster startup

    -h, --help                     Prints help information

        --chart-version <chart-version>
            k8: use specific chart version [default: 0.6.0-beta.1]

        --image-version <image-version>
            k8: use specific image version

        --registry <registry>
            k8: use custom docker registry

        --namespace <namespace>
            k8 [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

        --cloud <cloud>
            k8 [default: minikube]

        --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]
        --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>

Example usage:

To start a cluster on Minikube:

$ fluvio cluster start
✅ ok: Kubernetes config is loadable
✅ ok: Supported helm version is installed
✅ ok: Load balancer is up
✅ ok: Fixed: Missing Fluvio system charts.
✅ ok: Previous fluvio installation not found
Waiting up to 120 seconds for Fluvio cluster version check...
Successfully installed Fluvio!

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

$ fluvio cluster start --local
Performing pre-flight checks
✅ ok: Supported helm version is installed
✅ ok: Supported kubernetes version is installed
✅ ok: Kubernetes config is loadable
✅ ok: Fluvio system charts are installed

fluvio cluster delete

Deletes a Fluvio cluster and all data associated with it.

Delete a Fluvio cluster from the local machine or Minikube

    fluvio cluster delete [FLAGS] [OPTIONS]

        --no-wait    don't wait for clean up
        --local      Remove local spu/sc(custom) fluvio installation
        --sys        Remove fluvio system chart
    -h, --help       Prints help information

        --namespace <namespace>     [default: default]
        --name <name>               [default: fluvio]

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 [FLAGS] [OPTIONS]

        --custom    Whether to list only custom SPUs
    -h, --help      Prints help information

    -O, --output <type>    Output [default: table]  [possible values: table,
                           yaml, json]

Example usage:

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