Follow this guide to install Knative components on a platform of your choice.
To get started with Knative, you need a Kubernetes cluster. If you aren't sure which Kubernetes platform is right for you, see Picking the Right Solution.
We provide information for installing Knative on Google Kubernetes Engine, IBM Cloud Kubernetes Service, IBM Cloud Private, Azure Kubernetes Service, Minikube, OpenShift and Pivotal Container Service clusters.
Knative depends on an Ingress/Gateway which is capable of routing requests to Knative Services.
Currently, two options exist which provide this functionality: Istio, the Envoy-based Service Mesh, and Gloo, the Envoy-based API Gateway.
Install with Gloo: Gloo functions as a lightweight gateway for Knative. Choose this option if you don't require service mesh in your cluster and want a lighter-weight alternative to Istio. Note that the Knative Eventing component is not supported by Gloo at this time.
Istio is a popular service mesh that includes a Knative-compatible ingress. Choose this option if you wish to use Istio service mesh features. You will also need to choose this installation option if you wish to use the Knative Eventing component, which currently depends on Istio.
There are several options when installing Knative:
-
Comprehensive install -- Comes with the default versions of all Knative components as well as a set of observability plugins. Quickest option for setup.
-
Limited install -- Installs a subset of Knative components.
-
Custom install -- Takes longer, but allows you to choose exactly which components and oberservability plugins to install.
For new users, we recommend the comprehensive install to get you up and running quickly.
Follow these step-by-step guides for setting up Kubernetes and installing Knative components.
Comprehensive install guides
The guides below show you how to create a Kubernetes cluster with the right specs for Knative on your platform of choice, then walk through installing all available Knative components and a set of observability plugins.
- Knative Install on Azure Kubernetes Service
- Knative Install on Gardener
- Knative Install on Google Kubernetes Engine
- Knative Install on IBM Cloud Kubernetes Service
- Knative Install on IBM Cloud Private
- Knative Install on Minikube
- Knative Install on Pivotal Container Service
If you already have a Kubernetes cluster you're comfortable installing alpha software on, use the following guide to install all Knative components:
Limited install guides
The guides below install some of the available Knative components, without all available observability plugins, to minimize the disk space used for install.
- Knative Install on Docker for Mac
- Knative Install on OpenShift
- Knative Install on OpenShift via Operator
Custom install guide
To choose which components and observability plugins to install, follow the custom install guide:
Note: If need to set up a Kubernetes cluster with the correct specifications to run Knative, you can follow any of the install instructions through the creation of the cluster, then follow the Performing a Custom Knative Installation guide.
Observability install guide
Follow this guide to install and set up the available observability plugins on a Knative cluster.
Now you're ready to deploy an app:
-
Follow the step-by-step Getting Started with Knative App Deployment guide.
-
View the available sample apps and deploy one of your choosing.
-
Walk through the Google codelab, Using Knative to deploy serverless applications to Kubernetes.
After your Knative installation is running, you can set up a custom domain with a static IP address to be able to use Knative for publicly available services and set up an Istio IP range for outbound network access:
- Assign a static IP address
- Configure a custom domain
- Configure outbound network access
- Configuring HTTPS with a custom certificate
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License.