开发者学堂课程【Serverless 容器从入门到精通: Serverless Kubernetes:Knative 的极致 Serverless 体验】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/646/detail/10733
Knative 的极致 Serverless 体验
内容简介
一、 为什么需要 Knative
二、 Knative Serving 简介
三、 Knative 和云的完美融合
一、 为什么需要 Knative
1. Serverless 万众期待
1) Gartner 认为 Serverless 将在2019-2022 年成熟,预计到 2020 将超过 20% 企业使用 Serverless 计算服务;
2) Forrester 报告显示49%的公司正在使用或在未来1年内将使用 Serverless 计算;
3) O'Reilly Serverless Survey 2019 1500 名受访者的调研结果显示 40% 的受访者所在公司已经在使用 Serverless 技术,超过三分之二的受访者认为他们的组织对Serverless 的采用至少大部分是成功的;
4) Serverless 已经是万众期待,未来可期的状态。
2. 弹性和按实例数发布的矛盾
Pod-N 是基于实例数的灰度策略和弹性之间的冲突。
1. 引入流量管理网关
关心的资源(N 个应用的话数量都乘以N):
Deployment*2(部署应用)、Service、hpa*2、Ingress(接入 Istio 和Gateway)、Istio、VirtualService、Gateway、
1. 在 K8s 之上的应用编排抽象
1) 现状
用户使用云正在向面向服务的方式转变,弹性越来越重要;
通过 k8s API 实现服务全生命周期管理比较复杂;
需要面向 Serverless 应用的抽象而不是面向底层资源的抽象
2) 提出问题?
如何才能让用户以及上层 PaaS 平台以面向服务的方式使用云的能力?
2. Knative 是什么
Kubernetes-based platform to build, deploy, and manage modern serverless workloads.
基于 Kubernetes 平台,用于构建、部署和管理现代 Serverless 工作负载
二、 Knative Serving 简介
1. Knative Serving 架构
1) Service
对应用 Serverless 编排的抽象,通过 Service 管理应用的生命周期
2) Configuration
当前期望状态的配置。每次更新 Service 就会更新 Configuration
3) Revision
Service的每次更新都会创建一个快照,一个快照就是一个Revision
4) Route
将请求路由到 Revision,并可以向不同的 Revision 转发不同比例的流量
1. Autoscaler 详解
1. 平台成本和复杂度
1) Gateway 成本
2) Controller 成本
3) 缩容到零的冷启动问题
三、 Knative 和云的完美融合
1. Gateway 和云的融合
1) 降成本:减少了十几个组件,大大降低运维成本和 laaS 成本
2) 更稳定:SLB 云产品服务更稳定、可靠性更高,易用性也更好
2. 管控组件下沉
1) 开箱即用:用户直接使用 Serverless Framework,不需要自己安装
2) 免运维、低成本:Knative 组件和 K8s 集群进行融合,用户没有运维负担,也无需承担额外的资源成本
3) 高管控:所有组件都在管控端部署,升级和迭代更容易
3. 弹性效率&成本
效率与成本成正比
1. 优雅的保留实例
1) 免冷启动:通过保留规格消除了从0到1的30秒冷启动时间
2) 成本可控:突发性能实例成本比标准规格实例降低40%的成本,如果和 Spot 实例结合还能再进一步降低成本