Knative
基于 Kubernetes 的平台,用于构建、部署和管理现代无服务器工作负载。

对开发者友好的软件
Knative 提供了一组可重用的组件,专用于解决许多单调而棘手的任务,例如构建应用(从源代码到容器映像)、部署期间的流量路由和管理、自动扩缩工作负载,或者将正在运行的服务绑定到不断扩大的事件来源生态系统等工作流。Knative 将容器映像视为部署单元。因此,开发者可以使用他们熟悉的任何语言、框架或风格。

支持流行的开发模式
Knative 注重保留开发者习惯的模式。它支持常见的开发模式,如 GitOps、DockerOps、ManualOps,以及 Django、Ruby on Rails、Spring 等各种工具和框架。

两全其美:灵活性和可控性
Knative 旨在供您轻松嵌入现有构建工具链和持续集成/持续交付工具链。利用以 Kubernetes 为基础且可在任何位置、任何云和任何基础架构上运行的开源优先技术,企业可以自由地将工作负载转移到最适合的地方。这为客户提供了调整系统以适应其独特需求的灵活性和可控性。

按自己的方式运行无服务器工作负载
Knative 提供了一个开放式 API 和运行时环境,可让您选择在以下任何位置运行无服务器工作负载:Google Cloud 上的全代管式环境中、Google Kubernetes Engine (GKE) 上的 Anthos 中或者您自己的 Kubernetes 集群中。Knative 可让您先从 Cloud Run 轻松起步,然后迁移到 Cloud Run for Anthos;或者先在您自己的 Kubernetes 集群中运行,并在将来迁移到 Cloud Run。通过将 Knative 用作底层平台,您可以跨平台自由转移工作负载,同时显著降低转换费用。
Knative 组件
构建
通过灵活的可配置方法将源代码构建为容器
利用 Dockerfile 或已构建模板实现的可插入式方法
无需交叉编译,也无需使用本地构建工具
可利用缓存工件来加快构建速度
让您的组织可更好地利用空闲容量,提高资源效率
服务
更高级层的抽象化,对象模型更易于理解
基于 HTTP 请求的无缝自动扩缩
逐步推出新版本
自动集成网络和服务网格
可插入:连接您自己的日志记录和监控平台
事件
事件的全局订阅、传递和管理
使用高层级对象构建松散耦合的事件驱动系统
事件生成方和使用方之间采用声明式绑定
可从寥寥几个事件扩容到实时事件流
自定义事件流水线,与您自己的现有系统连接
Knative 能够帮助我们的开发者专注于构建业务逻辑,而无需耗费精力来构建底层平台功能,如构建、部署、自动扩缩、监控和可观测性。例如,我们用 Java/Vert.x 开发的 T-Mobile 店铺定位应用可以轻松借助 Knative 迁移到 GCP。我们很轻松便完成了这项迁移任务,因为 Knative 提供了许多平台层面的功能,无需我们的开发者自行构建。
— T-Mobile 主技术架构师 Ram Gopinathan

资源
社区资源

开始使用
使用 Knative 构建、部署和管理无服务器工作负载
按照 Cloud Run 快速入门中的说明轻松上手使用 Knative。如果您是想要提供 Knative 环境的运营人员,请参阅 GitHub 上提供的安装指南。