The Fluvio CLI (command-line interface) is an all-in-one tool for setting up, interacting, and managing with Fluvio clusters.
Install the Fluvio CLI by running the following command:
curl -fsS https://packages.fluvio.io/v1/install.sh | bash
If you have
minikube already set up, then continue to steps for running a local Fluvio cluster.
Docker is a container engine which is used by Minikube to run a local Kubernetes cluster.
Download and install Docker Desktop for Mac. Select the version that matches your chipset (Intel or Apple).
Minikube is a tool for running a local Kubernetes cluster
minikube with the Brew Package Manager by running the following in a terminal window:
$ brew install minikube
Or follow the instructions at the Minikube installation page to download and install
minikube on MacOS.
Start a Kubernetes cluster locally with minikube by running the following in a terminal window:
$ minikube start
kubectl is the Kubernetes command-line tool. It is used to run commands against Kubernetes clusters.
kubectl with the Brew Package Manager by running the following in a terminal window:
$ brew install kubectl
Or follow the instructions at the kubectl installation page and follow the instructions to download and install
kubectl on MacOS.
Helm is the package manager for Kubernetes.
helm with the Brew Package Manager by running the following in a terminal window:
$ brew install helm
Or follow the instructions at the helm installation page and follow the instructions to download and install
helm on MacOS.
You can start a Fluvio cluster by running
fluvio cluster start.
If this is your first time starting a cluster in your session, be prepared to enter your password.
$ fluvio cluster start ✅ ok: Kubernetes config is loadable ✅ ok: Supported helm version is installed ✅ ok: Fluvio system charts are installed ✅ ok: Previous fluvio installation not found Waiting up to 120 seconds for Fluvio cluster version check... Successfully installed Fluvio!
We can verify that our Fluvio components are running with
All Fluvio pods in the
default namespace should be running.
$ kubectl get po NAME READY STATUS RESTARTS AGE fluvio-sc-695cfb4cf5-89lss 1/1 Running 0 15s fluvio-spg-main-0 1/1 Running 0 9s
You can check that everything worked by listing out the cluster’s SPUs:
$ fluvio cluster spu list ID NAME STATUS TYPE RACK PUBLIC PRIVATE 0 main-0 Online "managed" - 192.168.99.103:31314 fluvio-spg-main-0.fluvio-spg-main:9006
The public address of the cluster’s SPU should match the IP from
minikube ip and the NodePort for the
fluvio-spu-main-0 kubernetes service.
$ minikube ip 192.168.99.103
$ kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE fluvio-sc-internal ClusterIP 10.99.183.216 <none> 9004/TCP 58s fluvio-sc-public NodePort 10.109.6.50 <none> 9003:30763/TCP 58s fluvio-spg-main ClusterIP None <none> 9005/TCP,9006/TCP 52s fluvio-spu-main-0 NodePort 10.100.254.17 <none> 9005:31314/TCP 52s kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 15h
Congratulations, you’ve successfully installed Fluvio on your local machine!
Let’s use the Fluvio CLI to play with some basic functionality.
The first thing we need to do is create a topic.
$ fluvio topic create greetings topic "greetings" created
Now that we have a topic, we can produce some messages!
Use the following command to send a message to the
$ echo "Hello, Fluvio" | fluvio produce greetings Ok!
Finally, we can consume messages back from the topic
$ fluvio consume greetings -B -d Hello, Fluvio
Way to go! You’re well on your way to writing real-time distributed apps with Fluvio!
Next, check out our Tutorials page to see real-world examples of Fluvio in action.
If you run into any problems along the way, make sure to check out our troubleshooting page to find a fix.