MacOS Installation

 

Install Fluvio CLI

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
 

Required Packages for Local Fluvio cluster

  1. Docker
  2. Minikube
  3. Kubectl
  4. Helm

If you have docker, kubectl, helm, and minikube already set up, then continue to steps for running a local Fluvio cluster.

 

Install Docker

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).

 

Install Minikube

Minikube is a tool for running a local Kubernetes cluster

Install 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

Start a Kubernetes cluster locally with minikube by running the following in a terminal window:

$ minikube start
 

Install Kubectl

kubectl is the Kubernetes command-line tool. It is used to run commands against Kubernetes clusters.

Install 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.

 

Install Helm

Helm is the package manager for Kubernetes.

Install 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.

 

Start Fluvio cluster

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!
 

Verify cluster is running

We can verify that our Fluvio components are running with kubectl

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
 

Hello, Fluvio!

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 greetings topic:

$ 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.

 

Related Topics



If you run into any problems along the way, make sure to check out our troubleshooting page to find a fix.