Difficulty: Introduction
Estimated Time: 20 minutes

Riff on Kubernetes

(This draft tutorial is under construction. Contact me for questions: [email protected] November 2, 2018)


Riff The riff CLI helps developers build and run functions using Knative. It includes commands to install Knative in a Kubernetes cluster, and for managing functions, services, channels, and subscriptions.

  • Riff is the command line tool, CLI
  • Knative (pronounced kay-nay-tiv) extends Kubernetes to provide a set of middleware components that are essential to build modern, source-centric, and container-based applications that can run anywhere: on premises, in the cloud, or even in a third-party data center.
  • Istio is a service mesh for Kubernetes
  • Kubernetes is the container management system that targets a variety of cloud and data center resources. An operating system for your data center.

You will learn how:

  • to install Riff, Knative and Istio on Kubernetes
  • to install functions from the CLI interface

More about the Riff, Knative and Istio architecture is described in the Riff documentation.


Riff is ...

Lessons Learned

With these scenarios you have learned how:

  • todo
  • todo
  • todo


Don’t stop now! The next scenario will only take about 10 minutes to complete.


Step 1 of 4

Install Riff

As you see, your Kubernetes cluster based on Minikube is started now or will be available shortly. Verify it's ready for your use:

minikube version && minikube status

Riff is a command line interface for running functions on Knative on Kubernetes.

To install the command line install the binary

curl -Lo riff-linux-amd64.tgz https://github.com/projectriff/riff/releases/download/v0.1.3/riff-linux-amd64.tgz && tar xvzf riff-linux-amd64.tgz && sudo mv riff /usr/local/bin/

Verify Riff is available by checking the version:

riff version

Using the Riff CLI tool too initialize Knative. This will include initialization of the Istio service mesh and telemetry services.

riff system install --node-port

Watch the services start

watch -n 1 kubectl get pod --all-namespaces

Once started Ctrl-C.