2020 年 7 月 30 日至 8 月 1 日,由 Cloud Native Computing Foundation (CNCF) 主办的云原生技术大会 Cloud Native + Open Source Virtual Summit China 2020 首次于线上召开。
阿里巴巴在大会上为全球企业和开发者分享了 27 场实践经验、行业趋势和技术演讲,我们筛选了其中 13 场有代表性的演讲重新编排成书,旨在将阿里巴巴云原生之路上宝贵的经验、理念和思想,提供给广大正在或准备踏上云原生之旅的开发者一些切实有用的参考。
如何下载此书?
关注阿里巴巴云原生,后台回复 “蓝皮书” 即可下载,或点击链接下载电子书:https://developer.aliyun.com/topic/download?id=835
你为什么要读这本书?
本书整合自阿里巴巴在 KubeCon 2020 峰会上经典演讲,分析真实的技术案例,发现问题,理清思路,解决问题,总结方法,把自我成长和专业精进的技术养料,回馈给广大云原生开发者。本书包含 3 个系列,阿里云原生实践,阿里新技术方案及阿里开源贡献,共 13 篇文章。每篇文章都凝结着阿里巴巴云原生落地实践的宝贵经验和面对困惑的解决方法,相信能够在最短的时间内,帮助你全面了解阿里巴巴云原生实践经验,踏上最适合自己的云原生之路。
(本书目录一览)
书中精彩干货集锦
1. 云原生 - 数字经济技术创新基石
【作者】
阿里云容器服务负责人 易立
【简介】
2020 年疫情席卷全球,云原生计算在各个领域帮助企业与政府组织和疫情赛跑。阿里云通过弹性算力和数据服务助力疫情防控和复工复产,也帮助企业通过数字经济共克时艰。可以见到,实体经济与数字经济的融合发展已经成大势所趋。本文将介绍阿里云提供通过开源云原生技术与开放云原生产品,帮助企业提升应变能力,拥抱数字经济发展的新机遇。
2. Kubernetes + OAM :让开发者更简单
【作者】
阿里云容器平台资深技术专家 李响
【简介】
如何提升 Kubernetes 的用户体验、降低 Kubernetes 的使用门槛和复杂度,已经成为了云原生社区最亟待解决的一道难题。本文将基于阿里巴巴大规模的 Kubernetes 集群中的真实案例,分享我们如何使用开放应用程序模型(OAM)构建出了具有互操作性和可重用性的标准化应用管理平台,最终有效的打破了应用管理层中的“孤岛”,在大大节约了人力成本的同时,为用户带来更好的使用体验。
3. Alluxio 助力 Kubernetes,加速云端深度学习
【作者】
阿里云高级技术专家 车漾
Alluxio 创始成员,开源社区副总裁 范斌
【简介】
采用公有云 + Kubernetes 使得算力的扩展非常简单和高效,但由于云上计算和存储分离给数据密集型应用带来了新的挑战。从云上访问对象存储或本地 HDFS 都有很大的延时,这反而拖慢了云上的大规模数据运算。其中一个重要原因是传统大数据场景最常用数据本地性优势,已经不复存在。
Alluxio 用缓存的方式,将数据带到计算端,通过更好的数据本地性提升计算效率。但是如何将 Alluxio 和 Kubernetes 相结合,加速云上的大规模机器学习和在线数据分析,依然需要很多的探索。本文将分享我们在 Kubernetes 上通过 Alluxio 加速机器学习场景的实践,以及我们未来的规划。
4. 在大规模 Kubernetes 集群上实现高 SLO 的方法
【作者】
蚂蚁金服技术专家 姚菁华
蚂蚁金服高级开发工程师 范康
【简介】
随着 Kubernetes 集群的规模和复杂性的增加,集群越来越难以保证高效率,低延迟的交付 pod。本文将介绍以下重点:
• 分享蚂蚁金服在设计 SLO 架构和实现高服务水平目标的方法和经验;
• 如何引入适当的指标来衡量 Kubernetes 集群是否健康;
• 如何设计实现分析平台来采集计算有效的衡量指标;
• 如何设计实现分析平台以提供便捷的 pod 交付链路诊断信息;
• 展示如何将人工经验沉淀到自愈系统,以自动化修复已知问题。
5. Knative Serverless 架构分析
【作者】
阿里云技术专家 牛秋霖(冬岛)
【简介】
各种调查报告显示企业及开发者使用 Serverless 构建线上服务的比例不断增加,在此趋势下,深入探究 Serverless 架构成为必修课。Serverless 应用需要的是面向应用的管理动作,比如应用托管、升级、回滚、灰度发布、流量管理以及弹性等功能。而 Kubernetes 提供的是 IaaS 的使用抽象。所以 Kubernetes 和 Serverless 应用之间少了一层应用编排的抽象。Knative 正是建立在 Kubernetes 之上的 Serverless 应用编排框架,本文将深入浅出为大家解析该架构。
6. 托管式服务网格:多种类型计算服务统一管理的基础设施
【作者】
阿里云高级技术专家,服务网格 ASM 技术负责人 王夕宁
【简介】
服务网格是一种用于将应用服务之间通信管理从其业务逻辑中抽象出来的基础设施层,可提供应用程序级网络管理。作为统一的应用通信基础设施,服务网格 ASM 具备统一的柔性架构,可以支持多种类型的计算基础设施上的工作负载,无论这些服务是运行在阿里云 Kubernetes 服务还是用户自建 IDC 中的 Kubernetes 集群之上。
此外,许多客户正在将其应用程序从旧系统迁移到云中。网格扩展在此其中扮演着重要的角色,它将 Kubernetes 服务和其他在虚拟机或物理机上运行的服务集成到服务网格中。本文将讨论服务网格技术如何提供此类功能。在这里,您可以了解到如何轻松地将一个 Kubernetes 集群添加到网格中、以及如何进行统一的流量管理、统一的服务安全管理。并在最后提出了一种基于 WebAssembly 技术的统一扩展方式。
- 云原生应用通信基础架构
- 服务网格 ASM 的柔性架构
- 统一的流量管理
- 统一的服务安全管理
- 基于 WebAssembly 的统一扩展方式
7. KubeNode:阿里巴巴云原生容器基础设施运维实践
【作者】
阿里云技术专家 周涛
【简介】
阿里巴巴经济体规模巨大,资源池机器规模几十万台,基于 Kubernetes 架构,我们构建了一套云原生化的节点运维技术架构 KubeNode,实现了从节点创建导入、节点组件和内核升级部署、节点自愈、节点度量等全生命周期的运维能力,本文将分享如何通过建设面向终态架构,实现节点不可变基础设施,大幅提升自动运维的效率,并保证基础环境高度的一致性和稳定性。
8. 一种基于硬多租的大数据 Serverless 解决方案
【作者】
阿里云开发工程师 庄清惠
阿里云技术专家 胡子千
【简介】
随着 Kubernetes 的不断成熟,大数据向 Kubernetes 迁移已经成为了一种趋势。由于大数据应用本身的复杂性,目前大数据 on Kubenetes 通常采用 operator + crd 的方式,以独占集群的视角来管理计算任务。独占集群的任务管理模式使得在构建 Saas 服务时,大数据应用对 Kubenetes 集群的隔离要求与 Kubenetes 集群的利用率成为了难以调和的矛盾。
为了解决这些问题,我们设计了一种新的多租户 Kubernetes 架构。该基础架构基于 virtualcluster 技术(已开源)来实现控制平面隔离,基于 kata 安全容器、云存储技术以及一种新的多租户网络技术来实现数据平面隔离。本文将分享的要点如下:
- 阿里云实时计算服务在 Serverless 领域的最新实践成果,如何结合 virtualcluster 和 多租网络技术提供更有竞争力的解决方案;
- virtualcluster 如何实现完整的 Kubernetes 控制面多租和集群利用率提升;
- 在基于云环境的 vpc 网络和安全容器基础上如何构建多租 Kubernetes 的服务发现能力。
9. Kubernetes 异常配置检测的 DSL 框架
【作者】
阿里云容器服务技术专家 邓隽
阿里云容器服务开发工程师 顾静
【简介】
随着 Kubernetes 社区的不断演进,新功能层出不穷,集群升级成为很多客户都要面临的问题。如何提供稳定的集群升级功能成为各云厂商十分棘手的问题。针对该问题,本文将介绍一种用于检测 Kubernetes 异常配置的 DSL 框架,该框架功能特点如下:
- 可以通过添加或修改 DSL 来定制集群检查而无需编码;
- 可以根据需求自行组合需要检查的配置项,同时也可指定配置项的检查方式;
- 该DSL框架具有很强的通用性,适用于不同 Kubernetes 版本和不同的 Kubernetes 产品,也可用于多种集群检查,如集群异常配置检测,异常节点检测,集群安全检查,集群升级检查,集群组件检查等;
- DSL 框架由报告生成器和报告执行器组成,报告生成器允许用户自由组合要检测的配置,报告执行器根据用户 DSL 中定义的检查方式执行检查;
- 该框架兼容各种数据源和数据采集方式,可以基于 OpenKruise 发布检测任务,也可以与 NPD 一起使用。
10. Serverless Kubernetes - 理想、现实和未来
【作者】
阿里云高级技术专家 张维
【简介】
Kubernetes 已经广泛应用于云上应用部署,然而管理 Kubernetes 集群仍然充满挑战,需要关注集群创建、容量规划、安全更新、性能调优等运维工作。新的 “Serverless Kubernetes” 或者 “Nodeless Kubernetes” 范式开始出现,消除了节点和集群管理的负担,使运行云上容器变得更加简单、敏捷和充满弹性,以让用户更加关注在应用本身而非底层基础设施的管理。
- 介绍 “Serverless Kubernetes” 背后的一些技术,比如 Virtual Kubelet、AWS EKS on Fargate 和 Alibaba Cloud Serverless Kubernetes;
- 分享构建兼容可扩展的 Serverless Kubernetes 架构的经验和细节,以及如何克服其中的一些技术挑战;
- 对未来架构演进的思考。
11. 云原生操作系统的诞生与进化
【作者】
阿里云技术专家 张翼飞
【简介】
Serverless 服务中「弹性」是个重要的特征,「实例创建效率」会很大程度上影响弹性体验,如何提升实例创建效率是个持续且重要的挑战。本文基于在阿里云 Serverless 产品中的实践经验,分享如何提升实例创建效率,要点如下:
- 基于 Kubernetes 的 Serverless 产品的技术实现概述
- 实例创建流程各个阶段分析
- 介绍提升实例创建效率的解决方案
- 展望二级调度场景下实例创建效率的方案
12. 面向 SLO 的资源估计调度以优化利用率
【作者】
阿里云技术专家 余英豪
阿里云技术专家 王双
【简介】
越来越多的企业级应用正通过上云解放生产力。如何支持不同类型负载的差异化 SLO,同时保证高效的资源利用,是 Kubernetes 生态体系这一事实上的云上操作系统面临的一大挑战。本文将分享在阿里巴巴的生产集群中混部电商和机器学习作业等业务的实战经验,并总结关键的能力增强,包括:
- 上报集群实时和预估资源水位的数据链路;
- 基于SLO差异化的动态超卖调度来充分利用”已分配但尚未使用“的资源;
最后,分享整个 SLO 差异化调度体系带来的降本增效收益。
13. Dragonfly:在云原生高效、安全的进行镜像分发
【作者】
阿里云开发工程师 刘裕惺
阿里云高级开发工程师 傅伟
【简介】
如何高效、安全地分发镜像成为云原生时代企业面临的新挑战。Dragonfly 是一个基于 P2P 的智能容器镜像分发系统,它为云原生场景提供了一个本地镜像分发解决方案。在本讲座中,您可以了解 Dragonfly 是如何在数据中心快速交付镜像,讨论当前 OCI 镜像规范的问题,深入到全新的镜像服务框架。
“ 阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的公众号。”