Knative 极致 Serverless 体验|学习笔记(一)

简介: 快速学习 Knative 极致 Serverless 体验

开发者学堂课程【通过 Knative 轻松实现应用 Serverless 化交付Knative 极致 Serverless 体验】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/753/detail/13226


Knative 极致 Serverless 体验

 

主要内容

一、目录

二、Serverless 重要性

三、Serverless 特征

四、弹性和按实例数发布的矛盾

五、在 K8s 之上的应用编排抽象

六、Knative 是什么


 

一、目录

会从以下四个方面展开进行介绍

1.为什么需要 Knative

2.Knative Serving 简介

3. Knative 和云的完美融合

4.动手实践

 

二、Serverless 重要性

image.png

Gartner 认为 Serverless 将在2019-2022年成熟,预计到2020将超过20%企业使用 Serverless 计算服务

Forrester 报告显示49%的公司正在使用或在未来1年内将使用 Serverless 计算

O'Reilly Serverless Survey 2019 1500名受访者的调研结果显示40%的受访者所在公司已经在使用 Serverless 技术,超过三分之二的受访者认为他们的组织对Serverless 的采用至少大部分是成功的

Serverless 已经是万众期待,未来可期的状态

serverless 是万众期待的,各种调查报告显示,企业级开发者已经在使用 servlet,构建线上服务,而且比例还在不断增加,在大趋势下,可以看一下演进方向,起初企业上云都是基于VMs方式来使用云资源,企业线上服务都是通过 laas 等工具部署在 VMs 中的,直接启动应用导致线上服务对 vms 环境配置有很强的依赖,伴随着容器技术的崛起,开始通过容器方式在 VM 中部署应用,但如果是十几或者几十个应用需要部署,那就需要在成百上千的 vm 中,快速部署升级应用,这是一件非常令人头痛的事情,而 kubemetes 很好的解决了这件事情,所以现在大多数人通过kubemetes 使用云资源,随着 kubemetes 的流行,各大云厂商都提供了serverless kubemetes 服务,用户无需维护 kubemetes 集群,即可直接通过kubemetes 使用云的能力。

 

三、Serverless 特征

1.按需使用,自动弹性

按需使用云资源,当用量上涨的时候,自动扩容,用量下降的时候自动缩容,所以需要自动弹性的能力

2.灰度发布

要能支持多产品管理,应用升级的时候,可以使用多种灰度发布策略上线新的版本

3.流量管理

流量管理能够管理南北流量,可以按照流量百分比对不同版本进行灰度

4.负载均衡、服务发现

应用弹性过程中自动增加,或者减少,流量管理需要具备负载均衡和服务发现的能力

Gateway (网关)

多个应用在同一个集群中,需要接入层网管,对多个应用进行同一个应用的不同版本进行流量的管理

随着 knative 和云原生技术的崛起,能想到的第一个是是否可以直接在kubemetes上面部署 serverless 应用,下面看一下如果要在原生的 kubemetes 部署 serverless 应用需要做到什么。

 

四、弹性和按实例数发布的矛盾

image.png

首先需要一个 Deployment 来管理 cloud,通过 service 对外包服务,和实现服务能力,应用有重大变更,新版本发布时,可能需要暂停观察,在观察确认没有问题之后,再继续增加灰度的比例,这时候就需要两个 deployment 才能做到,V1代表旧的版本,灰度的时候减少实例数。v2代表新的版本,灰度的时候增加实例数。HP代表弹性能力,每一个 Deployment 都有一个 HP 弹性管理配置,这里面是存在冲突的,假如 V1deployment 有三个 pod,灰度的时候升级一个POD的到V2,此时实例是6/3的流量达到 V2版本以上,但当业务高峰来临时,如果两个版本都配置了apv,那么 V2会同时扩容,最终v2的数量就不是最初设定的1/3比例了,所以传统Deployment发布的实例数和弹性配置天然是冲突的。而如果按照流量比例进行灰度,就不会有这种问题,如果按照流量比例进行灰度的话,可能需要引入 Istio 能力。

image.png

引入 Istio 进行组件,Istio 除了管理同一个应用的流量灰度,还能对不同的应用进行流量管理,这看起来很不错但其实在仔细分析以后,它存在如下几个问题,首先如果是在原生上面进行创建的话,需要做这些资源的管控,Deployment servicehpaingressIstio包括 virtual service gateway 都是需要的,这些资源是每个应用独一份,但是多个应用的话,就要有多份的配置。这些资源散落在kbs内,根本无法体现出应用的概念,另外管理起来也是非常繁琐。

 

五、在K8s之上的应用编排抽象

image.png

1.现状

●用户使用云正在向面向服务的方式转变,弹性越来越重要

●通过 k8s API 实现服务全生命周期管理比较复杂

●需要面向 Serverless 应用的抽象,而不是面向底层资源的抽象

2.提出问题?

如何才能让用户以及上层 PaaS 平台以面向服务的方式使用云的能力?

Serverless 需要的是面向,应用的管理动作,比如进行托管、升级和灰度发布、流量管理以及弹性等能力,而 kubemetes 提供的使用抽象,所以 kubemetes 和之间少了一层应用编排抽象,knative 就是在 kubemetes 上的 serverless 应用编排框架,除了 knative 以外,也设计了好几款 fast,一些编排框架,但是这些框架没有统一的标准,每一套框架都有自己的一套规范,而且和 kubemetes API 不兼容,不兼容的 API 就会造成可复用性性不强。核心标准就是 kubemetes API 标准,knative 管理的 serverless 应用,保持 kubemetes API 领域不变,而和kubemetes API 有更好的兼容性,这也是 knative 特质所在。

 

六、Knative 是什么

Kubernetes-based platform to build, deploy,and manage modern serverless workloads.

基于 Kubernetes 平台,用于构建、部署和管理现代 Serverless 工作负载

Knative 主要是在 Kubernetes 提供通用的 serverless 编排调度服务,给上层的serverless 应用提供面向应用层的原子操作,并且通过 kubemetes 原生API暴露服务 API,保持和 kubemetes 生态的完美融合。

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
9天前
|
人工智能 自然语言处理 Shell
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
本教程指导用户在开源AI助手Clawdbot中集成阿里云百炼API,涵盖安装Clawdbot、获取百炼API Key、配置环境变量与模型参数、验证调用等完整流程,支持Qwen3-max thinking (Qwen3-Max-2026-01-23)/Qwen - Plus等主流模型,助力本地化智能自动化。
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
|
5天前
|
人工智能 机器人 Linux
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI智能体,支持飞书等多平台对接。本教程手把手教你Linux下部署,实现数据私有、系统控制、网页浏览与代码编写,全程保姆级操作,240字内搞定专属AI助手搭建!
4112 13
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
|
7天前
|
人工智能 JavaScript 应用服务中间件
零门槛部署本地AI助手:Windows系统Moltbot(Clawdbot)保姆级教程
Moltbot(原Clawdbot)是一款功能全面的智能体AI助手,不仅能通过聊天互动响应需求,还具备“动手”和“跑腿”能力——“手”可读写本地文件、执行代码、操控命令行,“脚”能联网搜索、访问网页并分析内容,“大脑”则可接入Qwen、OpenAI等云端API,或利用本地GPU运行模型。本教程专为Windows系统用户打造,从环境搭建到问题排查,详细拆解全流程,即使无技术基础也能顺利部署本地AI助理。
6812 14
|
5天前
|
存储 人工智能 机器人
OpenClaw是什么?阿里云OpenClaw(原Clawdbot/Moltbot)一键部署官方教程参考
OpenClaw是什么?OpenClaw(原Clawdbot/Moltbot)是一款实用的个人AI助理,能够24小时响应指令并执行任务,如处理文件、查询信息、自动化协同等。阿里云推出的OpenClaw一键部署方案,简化了复杂配置流程,用户无需专业技术储备,即可快速在轻量应用服务器上启用该服务,打造专属AI助理。本文将详细拆解部署全流程、进阶功能配置及常见问题解决方案,确保不改变原意且无营销表述。
4378 5
|
4天前
|
人工智能 安全 机器人
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI助手,支持钉钉、飞书等多平台接入。本教程手把手指导Linux下部署与钉钉机器人对接,涵盖环境配置、模型选择(如Qwen)、权限设置及调试,助你快速打造私有、安全、高权限的专属AI助理。(239字)
3148 8
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
|
7天前
|
人工智能 JavaScript API
零门槛部署本地 AI 助手:Clawdbot/Meltbot 部署深度保姆级教程
Clawdbot(Moltbot)是一款智能体AI助手,具备“手”(读写文件、执行代码)、“脚”(联网搜索、分析网页)和“脑”(接入Qwen/OpenAI等API或本地GPU模型)。本指南详解Windows下从Node.js环境搭建、一键安装到Token配置的全流程,助你快速部署本地AI助理。(239字)
4467 21
|
13天前
|
人工智能 API 开发者
Claude Code 国内保姆级使用指南:实测 GLM-4.7 与 Claude Opus 4.5 全方案解
Claude Code是Anthropic推出的编程AI代理工具。2026年国内开发者可通过配置`ANTHROPIC_BASE_URL`实现本地化接入:①极速平替——用Qwen Code v0.5.0或GLM-4.7,毫秒响应,适合日常编码;②满血原版——经灵芽API中转调用Claude Opus 4.5,胜任复杂架构与深度推理。
8134 12
|
3天前
|
人工智能 机器人 Linux
OpenClaw(Clawdbot、Moltbot)汉化版部署教程指南(零门槛)
OpenClaw作为2026年GitHub上增长最快的开源项目之一,一周内Stars从7800飙升至12万+,其核心优势在于打破传统聊天机器人的局限,能真正执行读写文件、运行脚本、浏览器自动化等实操任务。但原版全英文界面对中文用户存在上手门槛,汉化版通过覆盖命令行(CLI)与网页控制台(Dashboard)核心模块,解决了语言障碍,同时保持与官方版本的实时同步,确保新功能最快1小时内可用。本文将详细拆解汉化版OpenClaw的搭建流程,涵盖本地安装、Docker部署、服务器远程访问等场景,同时提供环境适配、问题排查与国内应用集成方案,助力中文用户高效搭建专属AI助手。
2112 4

热门文章

最新文章

相关产品

  • 函数计算