Install Knative using quickstart¶
Following this quickstart tutorial provides you with a simplified, local Knative installation by using the Knative quickstart
plugin.
Before you begin¶
Warning
Knative quickstart
environments are for experimentation use only.
For a production ready installation, see the YAML-based installation
or the Knative Operator installation.
Before you can get started with a Knative quickstart
deployment you must install:
-
kind (Kubernetes in Docker) or minikube to enable you to run a local Kubernetes cluster with Docker container nodes.
-
The Kubernetes CLI (
kubectl
) to run commands against Kubernetes clusters. You can usekubectl
to deploy applications, inspect and manage cluster resources, and view logs. -
The Knative CLI (
kn
). For instructions, see the next section. -
You need to have a minimum of 3 CPUs and 3 GB of RAM available for the cluster to be created.
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.
The kn
CLI also simplifies completion of otherwise complex procedures such as autoscaling and traffic splitting.
Do one of the following:
-
To install
kn
by using Homebrew, run the command (Usebrew upgrade
instead if you are upgrading from a previous version):brew install knative/client/kn
Having issues upgrading
kn
using Homebrew?If you are having issues upgrading using Homebrew, it might be due to a change to a CLI repository where the
master
branch was renamed tomain
. Resolve this issue by running the command:brew uninstall kn brew untap knative/client --force brew install knative/client/kn
You can install kn
by downloading the executable binary for your system and placing it in the system path.
-
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
kn
commands are working properly. For example:kn version
-
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 the executable binary file to a directory on your
PATH
by running the command:mv kn /usr/local/bin
-
Verify that
kn
commands are working properly. For example:kn version
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
.
Install the Knative quickstart plugin¶
To get started, install the Knative quickstart
plugin:
Do one of the following:
-
To install the
quickstart
plugin by using Homebrew, run the command (Usebrew upgrade
instead if you are upgrading from a previous version):brew install knative-extensions/kn-plugins/quickstart
-
Download the binary for your system from the
quickstart
release page. -
Rename the file to remove the OS and architecture information. For example, rename
kn-quickstart-amd64
tokn-quickstart
. -
Make the plugin executable. For example,
chmod +x kn-quickstart
. -
Move the executable binary file to a directory on your
PATH
by running the command:mv kn-quickstart /usr/local/bin
-
Verify that the plugin is working by running the command:
kn quickstart --help
-
Check out the
kn-plugin-quickstart
repository:git clone https://github.com/knative-extensions/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
by running the command:mv kn-quickstart /usr/local/bin
-
Verify that the plugin is working by running the command:
kn quickstart --help
Run the Knative quickstart plugin¶
The quickstart
plugin completes the following functions:
- Checks if you have the selected Kubernetes instance installed
- Creates a cluster called
knative
- Installs Knative Serving with Kourier as the default networking layer, and sslip.io as the DNS
- Installs Knative Eventing and creates an in-memory Broker and Channel implementation
To get a local deployment of Knative, run the quickstart
plugin:
-
Install Knative and Kubernetes using kind by running:
kn quickstart kind
Note
Quickstart uses Port 80, and it will fail to install if any other services are bound on that port. If you have a service using Port 80, you'll need to stop it before using Quickstart. To check if another service is using Port 80:
netstat -tnlp | grep 80
-
After the plugin is finished, verify you have a cluster called
knative
:kind get clusters
-
Install Knative and Kubernetes in a minikube instance by running:
Note
The minikube cluster will be created with 3 GB of RAM. You can change to a different value not lower than 3 GB by setting a memory config in minikube. For example,
minikube config set memory 4096
will use 4 GB of RAM.kn quickstart minikube
-
The output of the previous command asked you to run minikube tunnel. Run the following command to start the process in a secondary terminal window, then return to the primary window and press enter to continue:
The tunnel must continue to run in a terminal window any time you are using your Knativeminikube tunnel --profile knative
quickstart
environment.The tunnel command is required because it allows your cluster to access Knative ingress service as a LoadBalancer from your host computer.
Note
To terminate the tunnel process and clean up network routes, enter
Ctrl-C
. For more information about theminikube tunnel
command, see the minikube documentation. -
After the plugin is finished, verify you have a cluster called
knative
:minikube profile list
Next steps¶
- Learn how to deploy your first Service in the Knative tutorial.
- Try out Knative code samples.
- See the Knative Serving and Knative Eventing guides.