开发者学堂课程【玩转容器服务进阶课程:在 ACK 中如何使用容器优化的操作系统】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1079/detail/15866
在 ACK 中如何使用容器优化的操作系统
内容介绍
一、阿里巴巴 cloud Linux
二、优化场景介绍
三、实践
一、阿里巴巴 cloud Linux
1.容器场景下面临的挑战
本节课讲解在容器服务场景也就是在ACK场景下使用容器优化的操作系统阿里巴巴cloud Linux 也就是阿里云发布的 Linux 操作系统最新版
首先列出的是 CNCF 的调查报告,报告中做了一些市场调查的情况,用户对于在使用容器场景下感觉到比较难的一些点,最大的挑战第一点是复杂性,复杂性可能来自于容器本身也可能来自于整个软件的生态或者运维等等多种场景,第二个来自于容器场景下使用带来的习惯上的变更,后续还有安全存储监控等等相关的,本次课程讲解的是操作系统,这里面与操作系统相关的是五个点,第一个是复杂度在使用容器场景时可能面临,容器是部署在操作系统上的,操作系统能够帮助屏蔽掉底层硬件上的差异以及一些驱动等等比较复杂的底层逻辑帮助上层的容器提供良好的基础,所以操作系统与容器配合一个优势是能够让容器在操作系统上使用的更加便利,简单所以第一个与操作系统相关的是复杂度,
第二个提到了 storage,Networking,Servers smash 等等,与操作系统性能相关的,操作系统性能会非常相关容器的性能的表现,第三个是功能因为容器在云上场景是高速发展的过程,对于新功能的开发以及各种各样功能集成的情况是非常有依赖的,第四个点是服务支持在整个容器服务的过程中,对用户提供服务时会遇到问题或者与咨询相关的,对服务支持有很大要求,最后一点是可靠性,在使用容器场景容器可以解决非常非常多场景对用户的运维的复杂度,但是实际上因为容器本身对软件的叠加也对可靠性带来了一定的影响,所以这里将整个容器面临的挑战与操作系统相关的提炼成了这五个点,针对这些容器系统下使用操作系统的一些挑战,推荐在服务器场景下使用阿里巴巴 cloud Linu 为用户解决所面临的问题,将阿里巴巴 cloud Linux 能解决的问题提炼成了四个点,第一个点是开箱即用,是指刚才提到的复杂度进行解答的,因为操作系统在于容器结合的过程中需要帮助容器提供底层的软件技术设施的屏蔽,对于容器软件天然的集成配置安全的要求还有底层硬件的屏蔽甚至现在一些很宏大的架构例如 GPU,阿里云推出的神龙这种非常复杂的新的硬件场景下操作系统都要帮助容器底层屏蔽掉底层的这些逻辑,能够让用户在使用容器的时候仅仅需要关心自己容器的所需要关心的业务,使这些底层所负载的依赖能够完全的屏蔽掉,所以第一个体验的点是开箱即用阿里巴巴 cloud Linux 为ACK提供了开箱机用的操作系统环境,能够与 ACK 天然集成,支持ACK在阿里云全部场景,不论是 ECS,神龙,还是现在使用比较多的 GPU 计算甚至是NPU底层整个硬件未来的眼镜,像期待的实例八代的实例,阿里云现在当前推出的影片各种各样的场景全场景都可以提供支持,
第二个是与 ACK 可以联动做开发,技术的演进是刚刚提到的功能性自己定,在功能性方面阿里云自己的操作系统和容器服务相对有非常好联动的开发能够让整个操作系统和 ACK 功能的演进做无缝的演进,
最后一点是操作系统现在比较火热的像技术 EBPF,LUrun 这样新的技术在 ACK 场景下可以无缝的衔接使用,第二个点是阿里巴巴 cloud Linu 为 AC 容器的用户能够提供高稳定的运行环境,因为这个操作系统在阿里的内部是海量规模打磨的能够支持阿里云各种各样的云产品,双十一等超大规模的应用场景并且有阿里云海量的云产品做实践的备输,同时有阿里专业操作系统为用户提供操作系统的支持,不仅有容器团队为容器的全功能场景提供支持操作系统也会为整个操作系统和容器的衔接操作系统本身运维的能力提供支持,第三个点是高性能因为 ACK 存在非常多场景的联动包括现在所做操作系统的内核,运行库全站优化的支持都可以对容器的各种场景提供较好的性能,后续会展开讲解,最后一个点是免费的服务,阿里云上面使用阿里巴巴 cloud Linux可以为用户提供十年的超强周期支持,并且在用户使用过程中是天然的介入阿里云服务体系用户可以通过提供工单,有一些客户也有服务支持的群可以做一些专门服务的支持
这张图是容器提供服务的产品业一张图片,用户可以进去看到在操作系统选择时就可以,里面有一个超链接可以看到容器服务场景,在本节课的最后也会为大家进行介绍,这是整体的介绍,后续会将整个阿里巴巴 cloud Linux 在容器场景下做了哪些事情做详细的介绍
2.历史介绍
首先介绍一下操作系统是怎么来的,操作系统出现的非常早,是在09年,很多同学都知道阿里云是09年成立的,当时淘宝的内核团队成立的,淘宝内核团队成立的时候所做的淘宝内核主要是服务整个阿里集团包括淘宝,支付宝各种各样的阿里业务服务,而随着云上规模的增大,很多很多云上的用户也对服务器操作系统产生诉求,所以阿里在2015年发布了第一个云上的服务器操作系统阿里巴巴 cloud Linux 15.1,随着整个产品的演进以及用户使用生态的演进,在18年基于构建自己的Upstream 4.19.内部叫做 cloud kernel 4.19,在19年3月份的时候发布了新一代的操作系统阿里巴巴 cloud Linux 2,当前在云上也是服务了非常多的客户,到2020年开始产生了新的变化,操作系统在行业用户使用方面越来越深入人心,用户对操作系统提出了一些新的要求包括对混合云等等这样的场景,阿里云也联合生态伙伴建立了龙溪社区,所以从20年开始阿里巴 cloud Linux 开始与龙溪社区共同的演进建设,也将在云上空间的这些能力贡献到了龙溪社区,同时基于龙溪社区的基础设施像硬件能力,软件的兼容性引进,包括未来自主可控的操作系统的引进都会基于龙溪社区做演进,这是阿里巴巴 cloud Linux 的演进,总结就是从服务集团内部到服务公共云的用户再到以龙溪为 base 做操作系统的演进,始终是在做与操作系统相关的技术以及服务客户。
3.操作系统架构
操作系统架构很多同学都比较清楚,底层是云的基础设施神龙 ECS 计算存储网络,上层是各种各样的业务,包括阿里巴巴的业务,阿里云外部的一些应用,中间一层是操作系统,操作系统可以简单分成三部分,最底下的部分是操作系统的核心层,内核包括阿里巴巴当前提供 cloud Linux 提供了两个内核4.19和5.10,在各种各样的内存调度管理 ras 都有一些自己技术上的竞争力,后续会展开讲解,中间一层是基础运行环境,大家比较熟悉的有编译器,VPC库各种运行的状态,都在这一层。上层是一些应用软件,在这里分开讲了两类,一类是使用阿里巴巴,阿里巴巴做了很多开源的应用在业界的反响也比较好,Tengine,Dragon fly,Dragon where 这类的技术软件,还有第三方开源的生态,例如正常使用的 ECP 库的来源的一些软件,这是整体操作系统的软件架构。
4.云上规模部署
总览一下当前整个阿里巴巴 cloud Linux 在阿里云上覆盖的情况,会覆盖到阿里云所有的 region 并且当前部署规模肯定是超过百万级的,主要是在云上的规模,云上的规模也预示着阿里云用户规模和使用者使用的场景都是非常丰富和非常多的。