有幸参加了 KubeCon 2019 上海大会,并参加了 Knative 及 Serverless 相关的几场分享会,收获满满。这里简单介绍一下各个演讲主题的主要内容。详细的演讲主题文档可以在KubeCon官方获取:https://kccncosschn19chi.sched.com/2019-06-25/overview
Knative 及 Serverless 相关会议
加速:无服务器平台中的冷启动优化
时间:上午11:00~11:35
该主题主要从 4 个方面介绍了 Serverless Cloud Function 中如何优化函数服务的冷启动问题。
- 轻量级VM:基于QEMU构建更轻量级VM,预置VPC路由信息,基于VM模板生产VM/容器实例。
- 代码缓存:两级缓存Function代码。1. 节点缓存;2. Zone(机房)缓存
- 实例预热:1. 通过算法预先扩容实例;2. 提前加载函数依赖
- VPC 网络加载:通过在代码创建时(而不是代码运行时),创建网络代理,提前申请ENI, 缩短函数运行时网络绑定耗时。
利用 Knative 发展深度学习平台
时间:上午11:45~12:20
该主题主要介绍了如何利用 Knative 重构了深度学习平台。
- 利用 Tektoncd-pipeline(接下来会替换 Knative Build) 替换原有的镜像构建方式,通过 Task 构建镜像
利用 Knative 的 Route 进行流量调配,满足灰度发布等需求。利用极致弹性能力实现自动扩容。
- 自定义autoscale。可自定义 autoscale, 满足不同的弹性策略使用场景
- 处理冷启动问题。1. 升级 istio, 解决sidecar注入延迟。2. 提前拉镜像。3. activeror接收到请求时,就提前进行扩容处理。
- 资源层面,通过 Virtual Kubelet 构建资源池,满足 serverless 按需分配资源需求。
- 提到了Knative 与 Edge。实现边缘端极致弹性。
- 利用 Knative Eventing 构建基于事件的业务处理。
Knative Serving 内部介绍
时间:下午 13:35~14:10
从灰度发布场景出发,对比Kubernetes中的实现方式,由浅入深,介绍了 Knative Serving 中 Service、Configuration、Route、Revision 角色的作用。最后介绍如何通过 Knatvie Serving中实现灰度发布。
CNCF CloudEvents 项目:迈向无服务器互操作的一步
时间:下午14:20~14:55
来自 IBM的Davis 介绍了CloudEvents的诞生及发展,以及 CloudEvents 协议内容。通过 CloudEvents 统一了事件的标准,并且促进系统直接跨平台的集成。
最后演示了一个基于 CloudEvents 事件驱动的动画 Demo,不同的 Coffee 屋供应商可以基于统一的事件模型进行驱动,体现事件的互操作系。很有意思。
通过 Knative 和 Apache Camel 构建云集成应用
时间:下午15:05~15:45
该主题主要介绍了如何将Apache Camel 与Knative结合使用的场景。通过Camel-K事件源接入Camel,接收消息事件进行处理
CNCF 无服务器工作组:我们要发展到哪里
时间:下午16:00 ~16:30
来自 IBM的Davis 继上面的CloudEvents演讲之后继续分享了无服务器工作组接下来的发展方向。针对事件处理的缺乏编排方式,接下来构建 Workflow 工作流(Event 事件编排)是无服务器工作组的方向。如下图 Workflow 处理流程:
在无服务器平台 Apache OpenWhisk 上创建物联网应用
时间:16:45 ~17:20
最后听了一场关于无服务器平台与物联网结合的场景,来自IBM的演讲嘉宾分享了开源的Serverless平台Apache OpenWhisk如何与物联网进行结合。
- 处理数据格式。通过 OpenWhisk 进行数据格式转换、过滤清洗等
- 数据存储后的处理。通过 OpenWhisk 事件驱动调用服务进行处理(如数据分析、机器学习等)
- 流数据检测。对检测到的异常事件进行告警等
- 边缘计算上的Serverless能力。这部分还在探索中,如针对跨云端和边缘的业务进行统一事件驱动的能力
感想
从本次 KubeCon 会议上 Serverless 及 Knative 的议题及观众来看,关于无服务器(Serverless) 标准的制定、实际场景的应用以及未来的发展正在引起更多的关注,而作为 CNCF 标准 Serverless 编排——Knative,也开始初露锋芒。相信接下来会有更多的企业及用户参与到 Serverless 的探索与实践。