Serverless 工程实践 | 零基础上手 Knative 应用

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: Knative 是一款基于 Kubernetes 的 Serverless 框架。其目标是制定云原生、跨平台的 Serverless 编排标准。

前言:Knative 是一款基于 Kubernetes 的 Serverless 框架。其目标是制定云原生、跨平台的 Serverless 编排标准。


Knative 介绍


Knative 通过整合容器构建(或者函数)、工作负载管理(动态扩缩)以及事件模型这三者实现其 Serverless 标准。


在 Knative 体系架构下,各角色的协作关系如下图所示。


  • 开发者是指 Serverless 服务的开发人员可以直接使用原生 Kubernetes API 基于 Knative 部署 Serverless 服务。
  • 贡献者主要是指社区的贡献者。
  • Knative 可以被集成到支持的环境中,例如云厂商或者企业内部。目前,Knative 是基于Kubernetes来实现的,所以可以认为有 Kubernetes 的地方就可以部署 Knative。
  • 用户指终端用户,其通过Istio网关访问服务或者事件系统触发 Knative 中的 Serverless 服务。
  • 作为一个通用的 Serverless 框架,Knative 由 3 个核心组件组成。
  • Tekton:提供从源码到镜像的通用构建能力。Tekton 组件主要负责从代码仓库获取源码并编译成镜像,推送到镜像仓库。所有这些操作都是在 Kubernetes Pod 中进行的。
  • Eventing:提供事件的接入、触发等一整套事件管理能力。Eventing 组件针对 Serverless 事件驱动模式做了一套完整的设计,包括外部事件源的接入、事件注册、订阅以及事件过滤等功能。事件模型可以有效地解耦生产者和消费者的依赖关系。生产者可以在消费者启动之前生成事件,消费者也可以在生产者启动之前监听事件。


1.png

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


  • Serving:管理 Serverless 工作负载,可以和事件很好地结合,并且提供了基于请求驱动的自动伸缩能力,而且在没有服务需要处理的时候可以缩容到零。Serving 组件的职责是管理工作负载以对外提供服务。Serving 组件最重要的特性就是自动伸缩的能力。目前,其伸缩边界无限制。Serving 还具有灰度发布能力。


Knative 部署


本文将会以在阿里云部署 Kantive 服务为例,详细说明如何部署 Knative 相关服务。首先,登录到容器服务管理控制台,如图所示。


2.png

阿里云容器服务管理控制台


如没有集群,可以先选择创建集群,如下图所示。


3.png

配置与创建集群


创建集群比较缓慢,耐心等待集群创建完成,成功之后如图所示。

4.png

集群创建成功示意图


进入集群之后,选择左侧的“应用”,找到 “Knative” 并点击“一键部署”,如图所示。


5.png

创建 Knative 应用


稍等片刻,Knative 安装完成之后,可以看到核心组件已经处于“已部署”状态,如图所示。


6.png

Knative 应用部署完成


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


体验测试


首先需要创建一个 EIP,并将其绑定到 API Server 服务上,如下图所示。


7.png

图为 API Server 绑定 EIP


完成之后,进行 Serverless 应用的测试。选择应用中的 “Kantive 应用”,并且在服务管理中选择“使用模板创建”,如图所示。


8.png

快速创建示例应用


创建完成之后,可以看到控制台已经出现一个 Serverless 应用,如图所示。


9.png

示例应用创建成功


此时,我们可以点击应用名称查看该应用的详情,如下图所示。


10.png

查看示例应用详情


为了便于测试,可以在本地设置 Host:


101.200.87.158 helloworld-go.default.example.com


设置完成之后,在浏览器中打开系统分配的域名,可以看到已经输出预期的结果,如图所示。


11.png

浏览器测试示例应用


至此,我们完成了一个基于 Knative 的 Serverless 应用的部署和测试。


此时,我们还可以通过 CloudShell 进行集群的管理等。在集群列表页面,选择通过 CloudShell 进行管理,如图所示。


12.png

集群管理列表


通过 CloudShell 管理已创建的集群,如图所示。


13.png

CloudShell 窗口


执行指令:


kubectl get knative


可以看到,刚部署的 Knative 应用,如图所示。


14.png

CloudShell 查看 Knative 应用


关于作者:刘宇(江昱)国防科技大学电子信息专业在读博士,阿里云 Serverless 产品经理,阿里云 Serverless 云布道师,CIO 学院特聘讲师。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
1月前
|
运维 监控 Serverless
揭秘云计算中的Serverless架构:优势、挑战与实践
揭秘云计算中的Serverless架构:优势、挑战与实践
|
3天前
|
人工智能 Serverless API
尽享红利,Serverless构建企业AI应用方案与实践
本次课程由阿里云云原生架构师计缘分享,主题为“尽享红利,Serverless构建企业AI应用方案与实践”。课程分为四个部分:1) Serverless技术价值,介绍其发展趋势及优势;2) Serverless函数计算与AI的结合,探讨两者融合的应用场景;3) Serverless函数计算AIGC应用方案,展示具体的技术实现和客户案例;4) 业务初期如何降低使用门槛,提供新用户权益和免费资源。通过这些内容,帮助企业和开发者快速构建高效、低成本的AI应用。
36 12
|
12天前
|
Serverless 开发工具 开发者
活动实践 | 西游再现,函数计算一键部署 Flux 超写实文生图模型部署
这些图片展示了阿里巴巴云开发者生态的多个方面,包括开发工具、技术文档、社区交流、培训认证等内容,旨在为开发者提供全方位的支持和服务。
|
12天前
|
存储 弹性计算 关系型数据库
活动实践 | 告别资源瓶颈,函数计算驱动多媒体文件处理测评
本方案介绍了一种高效处理文件的方法,适用于企业办公和社交媒体应用。通过阿里云的函数计算、对象存储OSS和轻量消息队列,实现文件的异步处理,如格式转换和水印添加,有效减轻了核心应用的负担,提高了业务稳定性和资源利用率。方案包括云服务器ECS、云数据库RDS、OSS存储等组件,支持快速部署和资源清理。
|
23天前
|
监控 Serverless 云计算
探索Serverless架构:开发实践与优化策略
本文深入探讨了Serverless架构的核心概念、开发实践及优化策略。Serverless让开发者无需管理服务器即可运行代码,具有成本效益、高可扩展性和提升开发效率等优势。文章还详细介绍了函数设计、安全性、监控及性能和成本优化的最佳实践。
|
28天前
|
弹性计算 算法 搜索推荐
活动实践 | 通过函数计算部署ComfyUI以实现一个AIGC图像生成系统
ComfyUI是基于节点工作流稳定扩散算法的新一代WebUI,支持高质量图像生成。用户可通过阿里云函数计算快速部署ComfyUI应用模板,实现个性化定制与高效服务。首次生成图像因冷启动需稍长时间,之后将显著加速。此外,ComfyUI允许自定义模型和插件,满足多样化创作需求。
|
28天前
|
弹性计算 自然语言处理 搜索推荐
活动实践 | 基于函数计算部署GPT-Sovits模型实现语音生成
通过阿里云函数计算部署GPT-Sovits模型,可快速实现个性化声音的文本转语音服务。仅需少量声音样本,即可生成高度仿真的语音。用户无需关注服务器维护与环境配置,享受按量付费及弹性伸缩的优势,轻松部署并体验高质量的语音合成服务。
|
1月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
88 1
|
3月前
|
人工智能 自然语言处理 Serverless
阿里云函数计算 x NVIDIA 加速企业 AI 应用落地
阿里云函数计算与 NVIDIA TensorRT/TensorRT-LLM 展开合作,通过结合阿里云的无缝计算体验和 NVIDIA 的高性能推理库,开发者能够以更低的成本、更高的效率完成复杂的 AI 任务,加速技术落地和应用创新。
175 13
|
4月前
|
Serverless API 异构计算
函数计算产品使用问题之修改SD模版应用的运行环境
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。

相关产品

  • 函数计算