从零自建FaaS平台(1): Knative

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: Knative是一款基于Kubernetes的Serverless框架。其目标是制定云原生、跨平台的Serverless编排标准。Knative通过整合容器构建(或者函数)、工作负载管理(动态扩缩)以及事件模型这三者来实现的这一Serverless标准。

Knative简介

Knative是一款基于Kubernetes的Serverless框架。其目标是制定云原生、跨平台的Serverless编排标准。Knative通过整合容器构建(或者函数)、工作负载管理(动态扩缩)以及事件模型这三者来实现的这一Serverless标准。

在Knative体系架构下各个角色的协作关系:

  • DevelopersServerless服务的开发人员可以直接使用原生的Kubernetes API基于Knative部署Serverless服务。
  • Contributors主要是指社区的贡献者。
  • OperatorsKnative可以被集成到支持的环境中,例如,云厂商,或者企业内部。目前Knative是基于Kubernetes来实现的,有Kubernetes的地方就可以部署Knative。
  • Users终端用户通过Istio网关访问服务,或者通过事件系统触发Knative中的Serverless服务。

作为一个通用的Serverless框架,Knative由三个核心组件组成:

  • Tekton:提供从源码到镜像的通用构建能力。Tekton组件主要负责从代码仓库获取源码并编译成镜像和推送到镜像仓库。并且所有这些操作都是在Kubernetes Pod中进行的。
  • Eventing:提供了事件的接入、触发等一整套事件管理的能力。Eventing组件针对Serverless事件驱动模式做了一套完整的设计。包括外部事件源的接入、事件注册和订阅、以及对事件的过滤等功能。事件模型可以有效的解耦生产者和消费者的依赖关系。生产者可以在消费者启动之前产生事件,消费者也可以在生产者启动之前监听事件。
  • Serving:管理Serverless工作负载,可以和事件很好的结合并且提供了基于请求驱动的自动扩缩的能力,而且在没有服务需要处理的时候可以缩容到零个实例。Serving组件的职责是管理工作负载以对外提供服务。Knative Serving组件最重要的特性就是自动伸缩的能力,目前伸缩边界无限制。Serving还具有灰度发布能力。

Knative部署

本文将会以在阿里云上部署Kantive服务为例,详细说明如何部署Knative相关服务:

首先,登陆到容器服务管理控制台:

如没有集群,可以先选择创建集群:

创建集群过程比较缓慢,耐心等待集群创建完成:

进入集群之后,选择左侧的应用,选择Knative,并且选择一键部署:

Knative安装完成,可以看到我们的核心组件已经处于已部署状态:

至此,我们完成了Knative的部署。

体验测试

首先我们需要创建一个EIP,并且绑定到我们的API Server服务上:

完成之后,我们选择左侧应用中的Kantive,并且选择服务管理,最后选择“使用模板创建“:

创建完成之后,我们可以看到:

此时,我们可以查看详情:

我们在本地设置Host:

101.200.87.158 helloworld-go.default.example.com

然后再浏览器中打开:

至此,我们在Knative上,完成了一个简单的Serverless应用的部署。我们还可以通过CloudShell进行集群的管理等,在集群列表,选择集群,通过CloudShell进行管理:

此时,我们可以通过CloudShell管理我们的集群,包括我们的Knative应用等:

例如执行:

kubectl get knative

可以看到我们刚部署的Knative应用

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
1月前
|
人工智能 Serverless API
在函数计算上部署专属的Agent平台
Agent及Agent平台的相关概念和应用价值已经在《智能体(Agent)平台介绍》 文章进行了介绍,接下来我们要进行实际的操作,在阿里云函数计算上快速获取专属的Agent平台-AgentCraft
83261 7
在函数计算上部署专属的Agent平台
|
30天前
|
运维 数据挖掘 Serverless
阿里云Elasticsearch Serverless助力某电商平台公司实现商品订单数据的实时写入查询
某电商平台公司采用阿里云Elasticsearch Serverless解决方案,实现商品、订单和其他关键信息的写入和查询的实时响应。
230 1
|
1月前
|
人工智能 Serverless API
AI 绘画平台难开发,难变现?试试 Stable Diffusion API Serverless 版解决方案
AI 绘画平台难开发,难变现?试试 Stable Diffusion API Serverless 版解决方案
8554 132
|
1月前
|
人工智能 Serverless API
AI 绘画平台难开发,难变现?试试 Stable Diffusion API Serverless 版解决方案
AI 绘画平台难开发,难变现?试试 Stable Diffusion API Serverless 版解决方案
|
1月前
|
人工智能 Serverless API
AI 绘画平台难开发,难变现?试试 Stable Diffusion API Serverless 版解决方案
为了帮助用户高效率、低成本应对企业级复杂场景,函数计算团队正式推出 Stable Diffusion API Serverless 版解决方案,通过使用该方案,用户可以充分利用 Stable Diffusion +Serverless 技术优势快速开发上线 AI 绘画应用,期待为广大开发者 AI 绘画创业及变现提供思路。
87401 4
|
1月前
|
机器学习/深度学习 运维 安全
阿里云 ACK One Serverless Argo 助力深势科技构建高效任务平台
阿里云 ACK One Serverless Argo 助力深势科技构建高效任务平台
101277 8
|
1月前
|
前端开发 JavaScript 小程序
亚马逊云科技 Build On -Serverless低代码平台初体验-快速完成vue前端订单小程序
亚马逊云科技 Build On -Serverless低代码平台初体验-快速完成vue前端订单小程序
63 0
|
1天前
|
运维 前端开发 Serverless
函数计算产品使用问题之wordpress应用模板在什么地方
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
17天前
|
运维 中间件 Serverless
Serverless 应用引擎产品使用合集之是否可以去掉Access-Control-Expose-Headers
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
17天前
|
消息中间件 Serverless PyTorch
Serverless 应用引擎产品使用合集之FC内网访问VPC内的资源不通是什么导致的
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。

热门文章

最新文章