[Knative] 使用 quickstart 安装 Knative

使用 quickstart 安装 Knative

本主题介绍如何使用 Knative quickstart 插件在本地快速安装部署 Knative Serving 和 Knative Eventing 。

该插件在本地 Kubernetes 集群上快速安装预配置的 Knative 部署。

警告

Knative `quickstart` 环境仅供实验使用。有关生产环境就绪安装,请参阅基于 YAML 的安装或 Knative Operator 安装。

在你开始之前

在开始使用 Knative quickstart 部署之前,您必须安装:

  • kind(Docker 中的 Kubernetes )或 minikube,使您能够使用 Docker 容器节点运行本地 Kubernetes 集群。

  • Kubernetes CLI (kubectl) 对 Kubernetes 集群运行命令。您可以使用 kubectl 部署应用程序、检查和管理集群资源以及查看日志。

  • Knative CLI (kn) v0.25 或更高版本。有关说明,请参阅下一节。

  • 您需要至少 3 个 CPU 和 3 GB 的 RAM 才能创建集群。

安装 Knative CLI

Knative CLI (kn) 为创建 Knative 资源(例如 Knative Service 服务和 Event Source事件源)提供了一个快速简单的操作界面,无需直接创建或修改 YAML 文件。

kn CLI 还简化了其他复杂的完成过程,例如自动缩放和流量拆分。

使用 Homebrew

执行以下操作之一:

要使用 Homebrew 安装 kn,请运行以下命令:

1
brew install kn

要将现有的 kn 安装升级到最新版本,请运行以下命令:

1
brew upgrade kn

疑问 使用 Homebrew 升级 kn 时遇到问题?

如果您在使用 Homebrew 升级时遇到问题,可能是由于 CLI 仓库的更改导致 master 分支重命名为 main。 通过运行以下命令解决此问题:

1
2
3
brew tap --repair
brew update
brew upgrade kn

通过运行以下命令验证插件是否正常工作:

1
kn version

期望输出

1
2
3
4
5
6
7
8
9
Version:      v1.3.1
Build Date: 2022-03-11 18:43:10
Git Revision: a591c0c0
Supported APIs:
* Serving
serving.knative.dev/v1 (knative-serving v1.3.0)
* Eventing
sources.knative.dev/v1 (knative-eventing v1.3.0)
eventing.knative.dev/v1 (knative-eventing v1.3.0)

使用二进制

您可以通过下载系统适用的可执行二进制文件并将其放在系统路径 PATH 中来安装 kn。 请注意,您需要 kn v0.25 或更高版本。

  1. kn 发布页面 https://github.com/knative/client/releases下载适用于您系统的二进制文件。

  2. 通过运行以下命令将二进制文件重命名为 kn 并使其可执行:

1
2
mv <path-to-binary-file> kn
chmod +x kn

其中 <path-to-binary-file> 是您在上一步中下载的二进制文件的路径,例如 kn-darwin-amd64kn-linux-amd64

通过运行以下命令将可执行二进制文件移动到 PATH 上的目录:

1
mv kn /usr/local/bin

使用 Go

  1. 检出 kn 客户端仓库:
1
2
3
git clone https://github.com/knative/client.git

cd client/
  1. 构建可执行二进制文件:
1
hack/build.sh -f
  1. 将 kn 移动到您的系统路径 PATH 中,并验证 kn 命令是否正常工作。 例如:
1
2
3
mv kn /usr/local/bin

kn version

使用容器镜像

最新发布容器镜像链接 https://gcr.io/knative-releases/knative.dev/client/cmd/kn

您可以从容器镜像运行 kn。 例如:

1
docker run --rm -v "$HOME/.kube/config:/root/.kube/config" gcr.io/knative-releases/knative.dev/client/cmd/kn:latest service list

注意

从容器镜像运行 `kn` 不会将二进制文件放在永久路径上。 每次要使用 `kn` 时都必须重复上一步命令。

安装 Knative quickstart 插件

首先,安装 Knative quickstart 插件:

使用 Homebrew

执行以下操作之一:

要使用 Homebrew 安装 quickstart 插件,请运行以下命令:

1
brew install knative-sandbox/kn-plugins/quickstart

要将现有的 quickstart 升级到最新版本,请运行以下命令:

1
brew upgrade knative-sandbox/kn-plugins/quickstart

使用二进制

kn-plugin-quickstart 快速开始发布页面 https://github.com/knative-sandbox/kn-plugin-quickstart/releases下载适用于您系统的可执行二进制文件。
将可执行二进制文件移动到 PATH 上的目录,例如 /usr/local/bin

1
2
mv <path-to-binary-file> kn
chmod +x kn

其中 <path-to-binary-file> 是您在上一步中下载的二进制文件的路径,例如 kn-quickstart-darwin-amd64kn-quickstart-linux-amd64

验证插件是否正常工作,例如:

1
kn quickstart --help

使用 Go

检出 kn-plugin-quickstart 仓库:

1
2
git clone https://github.com/knative-sandbox/kn-plugin-quickstart.git
cd kn-plugin-quickstart/

构建可执行二进制文件:

1
hack/build.sh

将生成的可执行二进制文件移动到 PATH 上的目录:

1
mv kn-quickstart /usr/local/bin

验证插件是否正常工作,例如:

1
kn quickstart --help

期望输出

1
2
3
4
5
6
7
8
9
10
11
12
Get up and running with a local Knative environment
Usage:
kn-quickstart [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
help Help about any command
kind Quickstart with Kind
minikube Quickstart with Minikube
version Prints the plugin version
Flags:
-h, --help help for kn-quickstart
Use "kn-quickstart [command] --help" for more information about a command.

运行 Knative 快速开始插件

quickstart 插件完成以下功能:

  • 检查您是否已经安装了选定版本的 Kubernetes 实例

  • 创建一个名为 knative 的集群

  • 安装 Knative Serving,Kourier 作为默认网络层,sslip.io 作为 DNS

  • 安装 Knative Eventing 并创建在内存中的 Broker 和 Channel 实现

要获得 Knative 的本地部署,请运行 quickstart 插件:

使用 kind

  1. 通过运行以下命令在本地 Docker 守护程序上安装 Knative 和 Kubernetes:
1
kn quickstart kind

期望输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
☸ Creating Kind cluster...
Creating cluster "knative" ...
✓ Ensuring node image (kindest/node:v1.23.3) 🖼
✓ Preparing nodes 📦
✓ Writing configuration 📜
✓ Starting control-plane 🕹️
✓ Installing CNI 🔌
✓ Installing StorageClass 💾
✓ Waiting ≤ 2m0s for control-plane = Ready ⏳
• Ready after 17s 💚
Set kubectl context to "kind-knative"
You can now use your cluster with:

kubectl cluster-info --context kind-knative

Not sure what to do next? 😅 Check out https://kind.sigs.k8s.io/docs/user/quick-start/

🍿 Installing Knative Serving v1.3.0 ...
CRDs installed...
Core installed...
Finished installing Knative Serving
🕸️ Installing Kourier networking layer v1.3.0 ...
Kourier installed...
Ingress patched...
Finished installing Kourier Networking layer
🕸 Configuring Kourier for Kind...
Kourier service installed...
Domain DNS set up...
Finished configuring Kourier
🔥 Installing Knative Eventing v1.3.0 ...
CRDs installed...
Core installed...
In-memory channel installed...
Mt-channel broker installed...
Example broker installed...
Finished installing Knative Eventing
🚀 Knative install took: 6m57s
🎉 Now have some fun with Serverless and Event Driven Apps!
  1. 安装插件完成后,验证您有一个名为 knative 的集群:
1
kind get clusters

期望输出

1
knative

使用 minikube

  1. 通过运行以下命令在 minikube 实例中安装 Knative 和 Kubernetes :

注释

minikube 集群将使用 6 GB 的 RAM 创建。 如果您没有足够的内存,您可以通过在此命令之前运行命令 `minikube config set memory 3078` 更改为不低于 3 GB 的其他值。
1
kn quickstart minikube
  1. 上一个命令的输出要求您运行 minikube 隧道。 运行以下命令以在单独的辅助终端窗口中启动隧道进程,然后返回主窗口并按 Enter 键继续:
1
minikube tunnel --profile knative

当您使用 Knative quickstart环境时,minikube tunnel 进程必须继续在单独的终端窗口中运行。

运行隧道进程是必需的,因为它允许您的集群作为 LoadBalancer 从您的主机访问 Knative 入口服务。

注意

要终止 `minikube tunnel` 进程并清理网络路由,请输入快捷键 `Ctrl-C`。 有关 `minikube tunnel` 命令的更多信息,请参阅 [minikube 文档 https://minikube.sigs.k8s.io/docs/handbook/accessing/#using-minikube-tunnel](https://minikube.sigs.k8s.io/docs/handbook/accessing/#using-minikube-tunnel)。
  1. 安装 quickstart 插件完成后,验证您有一个名为 knative 的集群:
1
minikube profile list

下一步

  • 在 Knative 教程中了解如何部署您的第一个 Service 服务。

  • 试用 Knative 代码示例。

  • 请参阅 Knative Serving 和 Knative Eventing 指南。

参考链接

[1] Install Knative using quickstart - Knative - https://knative.dev/docs/getting-started/quickstart-install/

[2] About YAML-based installation - Knative - https://knative.dev/docs/install/yaml-install/

[3] Installing using the Operator - Knative - https://knative.dev/docs/install/operator/knative-with-operators/

[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] Install Tools | Kubernetes - https://kubernetes.io/docs/tasks/tools/

[7] The Missing Package Manager for macOS (or Linux) — Homebrew - https://brew.sh/

[8] kn — Homebrew Formulae - https://formulae.brew.sh/formula/kn

[9] Releases · knative/client · GitHub - https://github.com/knative/client/releases

[10] GitHub - knative/client: Knative developer experience, docs, reference Knative CLI implementation - https://github.com/knative/client

[11] Images – Container Registry – Google Cloud Platform - https://console.cloud.google.com/gcr/images/knative-releases/GLOBAL/knative.dev/client/cmd/kn

[12] GitHub - knative-sandbox/homebrew-kn-plugins: Homebrew tap for holding all kn plugins that are released together with Knative. - https://github.com/knative-sandbox/homebrew-kn-plugins

[13] Accessing apps | minikube - https://minikube.sigs.k8s.io/docs/handbook/accessing/#using-minikube-tunnel

[14] Home - Knative - https://knative.dev/docs/


原文链接

Install Knative using quickstart Knative https://knative.dev/docs/install/quickstart-install/