跳到内容

安装 Knative

本页面为 Kubernetes 管理员提供了如何在现有 Kubernetes 集群上安装 Knative 的指导。Knative 有三个组件:Eventing、Serving 和 Functions。Serving 和 Eventing 安装在集群中。Functions 不安装在集群中,因为客户端 func CLI 工具将无状态函数构建和部署为标准容器。

Knative 安装假设您熟悉以下内容:

  • Kubernetes 和 Kubernetes 管理。
  • kubectl CLI 工具。您可以使用现有的 Kubernetes 管理工具(策略、配额等)来管理 Knative 工作负载。
  • 使用 cluster-admin 权限或同等权限在命名空间中的所有集群中安装软件和管理资源。有关权限的信息,请参阅 使用 RBAC 授权
  • 建议熟悉云原生计算基金会 (CNCF) 项目,例如 PrometheusIstioStrimzi,其中许多项目都可以与 Knative 一起使用。

您可以独立安装 Serving 和 Eventing 组件。您也可以随时添加和删除插件,以及可选的集成工具,这些工具涵盖可观察性、安全性和测试。插件在可扩展性部分进行描述。

安装路线图

使用下表确定您的安装方法。如果您目前只是想了解 Knative 功能,请安装快速入门。

快速入门 基于 YAML Knative Operator
目的 本地 生产 生产
Kubernetes 部署 本地,可以是 kindMinikube 现有 现有
硬件 3 个 CPU,3 GB 内存 一个节点
6 个 CPU,6 GB 内存,30 GB 磁盘存储。
多个节点
每个 2 个 CPU,4 GB 内存,20 GB 磁盘存储。
与基于 YAML 相同

支持的平台是 Linux、macOS 和 Windows。

Knative Operator 是一个自定义控制器,它扩展了 Kubernetes API 以安装 Knative 组件。有关基于 YAML 的安装和使用 Knative Operator 的安装的更多信息,请参阅YAML 和 Knative Operator 安装比较

根据您的安装方法,使用以下步骤安装 Knative

快速入门:

  1. 安装 CLI 工具
  2. 安装 Knative 快速入门插件

基于 YAML:

使用所有 YAML 文件安装。如果您使用 GitOps 工具(如 FluxArgoCD)应用已签入 Git 仓库的清单,此选项最有用。这是最低限度的方法,可让您对过程和资源定义进行精细控制。

  1. 安装 CLI 工具
  2. 安装一个或两个组件

Knative Operator:

使用 Knative Operator(作为清单或 Helm)安装,或者使用随 Knative Operator CLI 插件安装的 Knative Operator 安装。

  1. 安装 CLI 工具,包括 Knative Operator CLI 插件。
  2. 通过以下任一方式安装 Serving 和 Eventing 组件:

所有安装都需要支持的 Kubernetes 版本。提供的系统要求仅供参考。您的安装要求可能因您使用的插件组件而异。

有关商业 Knative 产品列表,请参阅 Knative 产品

YAML 和 Knative Operator 安装比较

您可以使用 Knative Operator 辅助或不辅助地使用 YAML 文件和其他资源安装 Knative。Knative Operator 允许您自动化应用、修补和自定义内容。

Knative Operator 简化了安装复杂性,并与 GitOps 方法兼容。它还将核心 Knative 应用程序定义与您进行的 ConfigMap 和其他更改分离开来。您可以通过使用 Knative CLI Operator 插件、Kubernetes 清单或 Helm 安装 Knative Operator。

以下是使用 YAML 或 Knative Operator 安装的注意事项:

基于 YAML 的安装 Knative Operator 安装
您可以准确地看到您得到什么。 您在更高级别指定选择。
您可以通过直接编辑来调整任何参数。 并非所有设置都已公开。
如果您进行了更改,则在升级时必须跟踪您更改了什么。 很容易将您的自定义项与基本安装分开。
由于 YAML 文件存储在 GitHub 仓库中,因此可以进行版本和审计控制。 使用命令行工具或清单管理自定义资源。

可扩展性

Knative 利用您集群上已安装的现有基础设施,并在类似组件之间提供面向开发人员的接口。Serving 和 Eventing 组件在同一集群中支持多个底层传输插件。Serving 支持具有可插拔网络入口路由的 pod;Eventing 支持具有可插拔消息传输(如 Kafka 和 RabbitMQ)的 pod。

对于 LLM 部署,请考虑 KServe 平台。KServe 是一个基于 Knative Serving 构建的 Kubernetes 原生模型服务平台,专为生产环境中的 LLM 部署而设计。

Knative 支持在初始安装后安装其他插件,因此您的初始选择不会限制您。例如,您可以在不丢失消息的情况下从一个消息传输或网络入口迁移到另一个。

网络插件

如果您没有满足要求的入口,Knative 提供了 net-kourier,这是一个默认的轻量级 HTTP 路由实现。插件包括:

消息插件

如果您还没有解决方案,Knative 提供了默认的轻量级内存消息实现。

集成插件

这些插件有助于 Knative 操作。

安装资源

使用以下链接维护您的安装。

我们使用分析和 cookie 来了解网站流量。有关您使用我们网站的信息会与 Google 共享以达到此目的。了解更多。