Knative 架构解析

本文涉及的产品
函数计算FC,每月15万CU 3个月
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 【2月更文挑战第29天】Knative作为构建无服务器产品的基础设施,建立在Kubernetes和Istio之上,提供从源代码到服务的编排、流量管理、自动扩缩容和事件绑定等功能,分为Build、Eventing和Serving三个模块,旨在确保编程模型的可移植性。

CNCF针对无服务器计算的定义为:无服务器计算是指一种构建和运行不需要服务器管理的应用程序的理念。它描述了一个更细粒度的部署模型,即将以一个或多个功能方式提供的应用程序上载到平台,然后执行、扩缩容及计费,以响应当前所需的确切要求。

一个理想的无服务器平台至少需要以下几个方面:

  • 构建和运行应用程序,需要一个用来构建和运行应用程序的平台。是的,Kubernetes就是当前最为合适的新应用程序服务器。
  • 没有服务器管理,不需要专用的应用程序服务器管理。在Kubernetes之上,所有应用程序都通过Kubernetes Deployment和Service进行容器化和部署。
  • 根据确切的需求执行、扩缩容及计费,根据业务的需求配置以及扩容缩容的比率,Kubernetes提供了自动扩容与缩容能力,并可以根据使用量计费。


毫无疑问,Kubernetes目前无法为无服务器平台提供所有的功能。在Kubernetes基础之上,无服务器技术栈需要以下原语能力的补充:

  • Build:需要一种“源代码到容器”的机制,来简化部署。
  • Routing:灵活简便的路由能力;支持各种灰度发布的能力。
  • Event Building:可插拔的事件源接入能力。
  • Auto Scaling:灵活的自动扩缩容能力,支持自动收缩,从0个到1个实例,从1个到N个实例,再回到0个实例。
  • Observability:提供可观察性能力,具备完善的跟踪、监控和日志记录能力。
  • Invocation:可插拔的调用器,让开发人员可以使用简单、符合已有语言习惯的交付代码逻辑。再往上,就是无服务器不同产品的能力,它可以复用Kubernetes的基础能力和上述无服务器原语能力,而不需要去重复发明轮子,同时也保证了可移植性。


Knative是构建多种无服务器产品的基础设施,并且会确保它们之间编程模型的可移植性。Knative是建立在Kubernetes和Istio平台之上的,使用Kubernetes提供的容器管理能力(Deployment、Service和pod等),以及Istio提供的网络管理功能(VirtualService、DestinationRule和IngressGateway等)。


Knative项目下的每个组件都尝试使用一些常见的模式,并提供一套业界验证过的基于Kubernetes的最佳实践。Knative组件专注于解决许多烦琐但有挑战的一些任务,例如:如何快速部署弹性容器,以及如下操作:

  • 在Kubernetes上如何实现从源代码到服务URL的编排流程。
  • 使用蓝/绿部署实现流量的路由和管理。
  • 根据需求自动扩缩容以及调整工作负载大小。
  • 将运行服务绑定到事件生态系统中。


Knative的开发人员可以使用熟悉的习语、语言和框架来部署任何工作负载,例如函数功能(Function)、应用程序(Application)或容器(Container)。Knative负责构建、部署和运行无服务器化的工作负载,包含三个模块:Build、Eventing、Serving。

这三个模块的功能和分工具体描述如下:

  • Build模块负责将源代码构建成容器,它基于Google的容器构建服务,提供了一个可插拔的构建模型,可扩展实现多种构建方法,Buildpacks就是Pivotal提供的一种构建容器模式。
  • Eventing模块实现函数发布和订阅事件流的能力,函数遵循CloudEvents规范来发送和接收事件,它也提供了可插拔的事件源和消息代理模型,轻松支持多种消息代理服务,如Kafka、Google Pub/Sub、RabbitMQ等。
  • Serving模块负责部署和运行无服务器化的函数负载,它支持的特性包括:函数的运行可由HTTP或Message请求驱动、弹性伸缩可至零,并可利用Istio实现集群内的路由分发以及进入集群的入口连接。


未来,通过Knative可以完成跨云单一平台的理想,任何支持Kubernetes地方,企业都可以在其间自由移动工作负载,选择在最适合的地方执行任务,这为企业提供了极大的控制灵活性,可以依照需求调整系统部署。

相关文章
|
6天前
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
21天前
|
XML Java 开发者
Spring底层架构核心概念解析
理解 Spring 框架的核心概念对于开发和维护 Spring 应用程序至关重要。IOC 和 AOP 是其两个关键特性,通过依赖注入和面向切面编程实现了高效的模块化和松耦合设计。Spring 容器管理着 Beans 的生命周期和配置,而核心模块为各种应用场景提供了丰富的功能支持。通过全面掌握这些核心概念,开发者可以更加高效地利用 Spring 框架开发企业级应用。
70 18
|
2月前
|
运维 监控 持续交付
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。
554 36
微服务架构解析:跨越传统架构的技术革命
|
9天前
|
传感器 监控 安全
智慧工地云平台的技术架构解析:微服务+Spring Cloud如何支撑海量数据?
慧工地解决方案依托AI、物联网和BIM技术,实现对施工现场的全方位、立体化管理。通过规范施工、减少安全隐患、节省人力、降低运营成本,提升工地管理的安全性、效率和精益度。该方案适用于大型建筑、基础设施、房地产开发等场景,具备微服务架构、大数据与AI分析、物联网设备联网、多端协同等创新点,推动建筑行业向数字化、智能化转型。未来将融合5G、区块链等技术,助力智慧城市建设。
|
2月前
|
存储 Linux API
深入探索Android系统架构:从内核到应用层的全面解析
本文旨在为读者提供一份详尽的Android系统架构分析,从底层的Linux内核到顶层的应用程序框架。我们将探讨Android系统的模块化设计、各层之间的交互机制以及它们如何共同协作以支持丰富多样的应用生态。通过本篇文章,开发者和爱好者可以更深入理解Android平台的工作原理,从而优化开发流程和提升应用性能。
|
3月前
|
弹性计算 持续交付 API
构建高效后端服务:微服务架构的深度解析与实践
在当今快速发展的软件行业中,构建高效、可扩展且易于维护的后端服务是每个技术团队的追求。本文将深入探讨微服务架构的核心概念、设计原则及其在实际项目中的应用,通过具体案例分析,展示如何利用微服务架构解决传统单体应用面临的挑战,提升系统的灵活性和响应速度。我们将从微服务的拆分策略、通信机制、服务发现、配置管理、以及持续集成/持续部署(CI/CD)等方面进行全面剖析,旨在为读者提供一套实用的微服务实施指南。
|
3月前
|
SQL 数据可视化 数据库
多维度解析低代码:从技术架构到插件生态
本文深入解析低代码平台,从技术架构到插件生态,探讨其在企业数字化转型中的作用。低代码平台通过图形化界面和模块化设计降低开发门槛,加速应用开发与部署,提高市场响应速度。文章重点分析开源低代码平台的优势,如透明架构、兼容性与扩展性、可定制化开发等,并详细介绍了核心技术架构、数据处理与功能模块、插件生态及数据可视化等方面,展示了低代码平台如何支持企业在数字化转型中实现更高灵活性和创新。
76 1
|
3月前
|
SQL 数据可视化 数据库
多维度解析低代码:从技术架构到插件生态
本文深入解析低代码平台,涵盖技术架构、插件生态及应用价值。重点介绍开源低代码平台的优势,如透明架构、兼容性与扩展性、可定制化开发,以及其在数据处理、功能模块、插件生态等方面的技术特点。文章还探讨了低代码平台的安全性、权限管理及未来技术趋势,强调其在企业数字化转型中的重要作用。
|
2月前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
3月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
83 3

热门文章

最新文章

推荐镜像

更多