• 函数即服务(FaaS)
  • 平台即服务(PaaS)
  • 无服务器架构(serverless)
  • 路由(routing)
  • 事件(eventing)
  • build(构建)

什么是Knative??

Knative的目标

Knative 的目标是在基于 Kubernetes 之上为整个开发生命周期提供帮助 。

具体实现

  • 作为开发人员能够以你想要的语言和以你想要的方式来编写代码
  • 其次帮助你构建和打包应用程序
  • 最后帮助你运行和伸缩应用程序

关键组件

  • build(构建)你的应用程序
1
通过灵活的插件化的构建系统将用户源代码构建成容器。目前已经支持多个构建系统,比如 Google 的 Kaniko,它无需运行 Docker daemon 就可以在 Kubernetes 集群上构建容器镜像。
  • serving(服务)为其提供流量
1
基于负载自动伸缩,包括在没有负载时缩减到零。允许你为多个修订版本(revision)应用创建流量策略,从而能够通过 URL 轻松路由到目标应用程序。
  • event(事件)确保应用程序能够轻松地生产和消费。
1
使得生产和消费事件变得容易。抽象出事件源,并允许操作人员使用自己选择的消息传递层。

综上所述:Knative是一个可以让Kubernetes更好用,扩展性更好的轮子

一些新的概念

无服务器架构(serverless)

划重点
  • 以前需要编写大型/单一应用程序,现在只需要编写通过事件来调用小型/单一用途的函数即可
  • 对于托管服务来说,意味着只需要为活跃期间的计算付费,而不是一台7×24小时运行的虚拟机付费。
  • 代码在需要时就运行,不需要时就停止。
Kubernetes遇到的问题
  • 如何保证一致性
  • 谁负责给所有东西打补丁
  • 如何根据需求伸缩
  • 如何实现零停机部署
  • 如何管理多个事件类型一致性
  • 如何定义事件源和目标

    Knative 构建在 Kubernetes 的基础上,并为构建和部署无服务器架构(serverless)和基于事件驱动的应用程序提供了一致的标准模式。Knative 减少了这种新的软件开发方法所产生的开销,同时还把路由(routing)和事件(eventing)的复杂性抽象出来

Knative组件学习

Serving(服务)

【1】简书主页·share猿
【2】掘金主页·share猿

【3】Knative入门——构建基于 Kubernetes 的现代化Serverless应用


扫描以下公众号关注小猿↓↓↓↓↓↓↓↓



更多资讯请在简书、微博、今日头条、掘金、CSDN都可以通过搜索“Share猿”找到小猿哦!!!