Getting Started with Knative
Before you begin
Warning
Knative Quickstart Environments are for experimentation use only. For production installation, see our Administrator’s Guide
Before you can get started with a Knative Quickstart deployment you must install kind, the Kubernetes CLI, and the Knative CLI.
Install Kind (Kubernetes in Docker)
You can use kind (Kubernetes in Docker) to run a local Kubernetes cluster with Docker container nodes.
Install the Kubernetes CLI
The Kubernetes CLI (kubectl), allows you to run commands against Kubernetes clusters. You can use kubectl
to deploy applications, inspect and manage cluster resources, and view logs.
Install the Knative CLI
The Knative CLI (kn
) provides a quick and easy interface for creating Knative resources, such as Knative Services and Event Sources, without the need to create or modify YAML files directly.
kn
also simplifies completion of otherwise complex procedures such as autoscaling and traffic splitting.
Installing the kn
CLI
Using Homebrew
For macOS, you can install kn
by using Homebrew.
brew install knative/client/kn
Note: Quickstart requires kn
version 0.25 or later. To upgrade an existing install to the latest version, run brew upgrade kn
.
Using a binary
You can install kn
by downloading the executable binary for your system and placing it in the system path. Note that you will need kn
version 0.25 or later.
Download the binary for your system from the kn release page.
Rename the binary to
kn
and make it executable by running the commands:mv <path-to-binary-file> kn
chmod +x kn
Where
<path-to-binary-file>
is the path to the binary file you downloaded in the previous step, for example,kn-darwin-amd64
orkn-linux-amd64
.Move the executable binary file to a directory on your PATH by running the command:
mv kn /usr/local/bin
Verify that the plugin is working by running the command:
kn version
Using Go
Check out the
kn
client repository:git clone https://github.com/knative/client.git
cd client/
Build an executable binary:
hack/build.sh -f
Move
kn
into your system path, and verify thatkn
commands are working properly. For example:kn version
Using a container image
Links to images are available here:
You can run kn
from a container image. For example:
docker run --rm -v "$HOME/.kube/config:/root/.kube/config" gcr.io/knative-releases/knative.dev/client/cmd/kn:latest service list
Note
Running kn
from a container image does not place the binary on a permanent path. This procedure must be repeated each time you want to use kn
.
Having issues upgrading kn
?
If you are having issues upgrading using Homebrew, it may be due to a change to a CLI
repository, where master
branch was renamed to main
. If so, run
brew tap --repair
brew update
brew upgrade kn
to resolve the issue.
Install the Knative “Quickstart” environment
You can get started with a local deployment of Knative by using the Knative quickstart
plugin.
Installing the quickstart
plugin
Using Homebrew
For macOS, you can install the quickstart
plugin by using Homebrew.
brew install knative-sandbox/kn-plugins/quickstart
Using a binary
You can install the quickstart
plugin by downloading the executable binary for your system and placing it on your PATH
(for example, in /usr/local/bin
).
A link to the latest stable binary release is available on the quickstart release page.
Using Go
Check out the
kn-plugin-quickstart
repository:git clone https://github.com/knative-sandbox/kn-plugin-quickstart.git
cd kn-plugin-quickstart/
Build an executable binary:
hack/build.sh
Move the executable binary file to a directory on your
PATH
:mv kn-quickstart /usr/local/bin
Verify that the plugin is working, for example:
kn quickstart --help
The quickstart
plugin completes the following functions:
- Checks if you have kind installed, and creates a cluster called
knative
. - Installs Knative Serving with Kourier as the default networking layer, and nip.io as the DNS.
- Installs Knative Eventing and creates an in-memory Broker and Channel implementation.
Install Knative and Kubernetes on a local Docker Daemon using kn quickstart
kn quickstart kind
Having issues with Kind?
We’ve found that some users (specifically Linux) may have trouble with Docker and, subsequently, Kind. Though this tutorial assumes you have Kind installed, you can easily follow along with a different installation.
We have provide an alternative Quickstart on minikube
here: https://github.com/csantanapr/knative-minikube
Installing may take a few minutes. After the plugin is finished, check to make sure you have a Cluster called knative
Verify Installation
kind get clusters