[Serverless Knative] Knative Docs - Getting Started with Knative
Getting Started with Knative
Before you begin
Warning
Knative Quickstart Environments are for experimentation use only. For production installation, see our Installing Guide - https://knative.dev/docs/install/
Before you can get started with a Knative Quickstart deployment you must install kind
, the Kubernetes CLI kubectl
, and the Knative CLI kn
.
Prepare local Kubernetes cluster
You can use kind
- https://kind.sigs.k8s.io/docs/user/quick-start (Kubernetes in Docker) or minikube
- https://minikube.sigs.k8s.io/docs/start/ 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
.
1 | brew install 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 - https://github.com/knative/client/releases.
- Download the binary for your system from the
-
- Rename the binary to
kn
and make it executable by running the commands:
- Rename the binary to
1 | mv <path-to-binary-file> kn |
Where <path-to-binary-file>
is the path to the binary file you downloaded in the previous step, for example, kn-darwin-amd64
or kn-linux-amd64
.
-
- Move the executable binary file to a directory on your
PATH
by running the command:
- Move the executable binary file to a directory on your
1 | mv kn /usr/local/bin |
-
- Verify that the plugin is working by running the command:
1 | kn version |
Using Go
-
- Check out the
kn
client repository:
- Check out the
1 | git clone https://github.com/knative/client.git |
Build an executable binary:
1 | hack/build.sh -f |
Move kn into your system path, and verify that kn commands are working properly. For example:
1 | kn version |
Using a container image
Links to images are available here:
Latest release - https://gcr.io/knative-releases/knative.dev/client/cmd/kn
You can run kn
from a container image. For example:
1 | 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?
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.
1 | 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 - https://github.com/knative-sandbox/kn-plugin-quickstart/releases.
Using Go
-
- Check out the kn-plugin-quickstart repository:
1 | git clone https://github.com/knative-sandbox/kn-plugin-quickstart.git |
-
- Build an executable binary:
1 | hack/build.sh |
-
- Move the executable binary file to a directory on your
PATH
:
- Move the executable binary file to a directory on your
1 | mv kn-quickstart /usr/local/bin |
-
- Verify that the plugin is working, for example:
1 | kn quickstart --help |
The quickstart
plugin completes the following functions:
-
Checks if you have the selected Kubernetes instance installed, and creates a cluster called
knative
. -
Installs
Knative Serving
withKourier
as the default networking layer, andnip.io
as the DNS. -
Installs
Knative Eventing
and creates an in-memory Broker and Channel implementation.
Install Knative and Kubernetes locally
Using kind
Install Knative and Kubernetes on a local Docker daemon by running:
1 | kn quickstart kind |
After the plugin is finished, verify you have a cluster called knative
:
1 | kind get clusters |
Using minikube
1 | kn quickstart minikube |
After the plugin is finished, verify you have a cluster called knative:
1 | minikube profile list |
References
[1] Knative Quickstart - Knative - https://knative.dev/docs/getting-started/
[2] Home - Knative - https://knative.dev/docs/
[3] Installing Guide - https://knative.dev/docs/install/
[4] kind – Quick Start - https://kind.sigs.k8s.io/docs/user/quick-start
[5] minikube start | minikube - https://minikube.sigs.k8s.io/docs/start/
[6] Overview of kubectl | Kubernetes - https://kubernetes.io/docs/reference/kubectl/overview/
[7] The Missing Package Manager for macOS (or Linux) — Homebrew - https://brew.sh/
[8] Releases · knative/client - https://github.com/knative/client/releases
[9] quickstart
release page - https://github.com/knative-sandbox/kn-plugin-quickstart/releases