在 ACK 中如何使用容器优化的操作系统 | 学习笔记(二)

简介: 快速学习在 ACK 中如何使用容器优化的操作系统

开发者学堂课程【转容器服务进阶课程在 ACK 中如何使用容器优化的操作系统】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/1079/detail/15866


在 ACK 中如何使用容器优化的操作系统


二、优化场景介绍


下面展开讲解操作系统各种当前在容器场景,因为本节课重要的是讲解与容器的结合,会重点讲解这部分内容


1.生命周期

49.png

先讲解的是在阿里云操作系统提供的生命周期的情况,二的生命周期是到2024年,三的生命周期是到2031年,生命周期对于很多用户和应用场景都是够用的,二已经在后期了如果有新上的用户或者考虑做操作系统演进的用户,建议大家选择更长生命周期三的版本,这个版本当前是在主力的开发阶段,将整个十年周期大概分成两块,是五年的开发周期和五年的维护周期,发周期重点做几件事情,第一件事新功能的开发因为还在非常活跃的用户新功能诉求社区的演进云产品的演进都在完成,第二块是新硬件的支持包括新解决方案的发布等等都会集中在这个周期内,而后续五年的维护周期重点是做安全的修复一些关键特性的开发,根据这十年开发周期的前五年的开发和后五年的维护一般在整个软件都是前面开发,后面维护,这是十年生命周期支持的情况,第二个是关于服务的,在使用阿里巴巴 cloud Linux 时可以免费的获取,使用,修改这个操作系统,也可以自己做一些定制,同时在使用的过程中在这十年的生命周期中,可以得到软件更新功能的支持问题修复等等这些情况,同时在ACK使用阿里巴巴 cloud Linux 所有 ACK 的用户也可以从 ACK 的服务的支持渠道递到这里,在阿里云上会提供免费的服务支持包括像一些7324小时的比较严重的问题都会有专人在整个阿里云服务支持体系下面为用户提供服务支持,这就是服务支持

 

2.启动优化

之前讲的是生命周期,后面会讲一些特性或者对容器场景用户感知比较明显的地方,容器大家非常直观感觉到的是弹性的场景,对于弹性来讲启动的能力是比较重要的,所以针对容器的操作系统做了很多的启动优化

50.png

大概列了启动优化的流程,因为是在 ECS 场景下 Continue 虚拟机进来到操作系统中启动到 boot loader 到内核到系统的serviceAPP,整个流程到后面可能涉及到应用 sshd 等等的流程,在每个流程当中都做了非常多的优化,甚至在一些流程里面和 ECS 底层的神龙是有联动优化的,为了让整个的启动能够保持在最佳的时间,上面是实测,从左面用的是 centos,相比于 centos 启动时间至少有60%以上的下降,当前最快的速度是在十秒钟左右已经将虚拟机操作系统拉起来,拉起来以后在容器操作系统回对叠一些容器应用启动像 K8 s,有一些应用的配置等等都会对应的启动,这是启动场景的优化,下面讲解运行时有化

 

3.运行时优化

51.png

第一个是弹性能力,第二个介绍运行时,操作系统的软件库环境架构前面也有简单的图进行了说明,只是针对整个操作系统全软件上面阿里云的 Linux 都会做了很多的优化,从底层内核讲在协议栈,调度器,内存访问,存储的访问,系统调用等等这些方面都有很多的优化,这些优化的效果主要是因为各种各样的数据非常多,罗列让用户可以自己掌控的环境做实测,稍后会打开链接,在官网链接中也有部分数据可以参考,编译器上的像 gccglibcJDKLLVM 都有不同种类的优化放在里面,基础库中有 opensslopensshPythonzlib 这些库都是有优化的,最后是应用程序可能很多,对于这一部分比较关心,NGINX 是在ACK场景下向 Ingress Nginx 节点很多的用户适用非常非常多,在这个场景下面也有很多的优化,用户可以看到,MySQL 用户是自建数据库的 Redishttpd 这样的应用软件都是可以存在使用阿里云 Linux 的时候开箱即用,享受到所优化的这些效果。

稳定性对于很多的使用操作系统涉及到操作系统替换或选择的用户一定会关心,切换到操作系统的时候稳定性怎么样

52.png

这张图中大概罗列了以下是怎么打通操作系统稳定性的,最下面部分是社区生态,在做操作系统创建时调查了很多市场,很多用户都是 centos 或者 react 用户,所以有很多软件的选型参考 RHEL 做一些选择,所以在RHEL相当于在巨人的肩膀上做了一些依赖,在上面的一点是阿里云集团的打磨,阿里集团整个体量和双十一以及阿里云的云产品是非常丰富整个体量和规模都非常大,这么多的产品在使用和运用阿里巴巴 cloud Linux 时肯定是各种各样的场景都会锤炼,所以在这种大量的实际业务锤炼当中将整个产品的稳定性打磨的非常好,同时最后一个点是云上各种各样客户能够反馈给各种各样的问题也能够在阿里云整个服务体系下能够将这部分解法或者方案能够尽快的落地到产品重新回馈到社区或者操作系统的镜像中让用户能够得到更好的稳定性

53.png


这个图是云上有一个大盘在统计对 centos 宕机率下降到50%以下,50%以上很多用户直接因为稳定性的问题在 centos 上很难得到解决从切到阿里云 Linux 之后得到比较好效果的体现,这是与稳定性相关的。

 

4.资源隔离优化

54.png


因为容器场景用到非常多的是各种用cgroup或者docker管理整个cgroupName space,因为是各种docker容器场景下面Name space的管理,必不可少的会涉及到每个容器资源隔离性怎么样,如果隔离性不好,限制内存是这么大但是为什么又多了,会关系到每个用户自己的容器的容量规划,本来容器只能够承载1G的流量,现在因为内存突然发现burst增发,导致多使用了几 G 内存,影响到了旁边的容器,也会影响到其他业务的稳定性,所以在容器场景下提供了非常多的隔离的能力,这就是为什么讲解资源隔离的原因,隔离部分可以看上图橙色部分,第一个是监控增强,因为容器场景下用户虽然使用上方便了,但是实际对于管理讲是变得更加复杂了,因为容器在资源上面本来一个 ECS 可能只负载一个应用和两个应用很简单,但是现在一个 ECS 划分成了多个 docker,每个 docker 部署一个应用,但是这样负载更加复杂了,所以需要有更好的监控能够让用户可以一眼看到每个容器的情况是怎么样的,CPU 使用情况,内存情况会不会有突发流量到来会引起业务的异常,所以第一个做了唯一的 cgroup 提供了不管是网络还是内存等等这方面的增强,第二个是 memcg QoS 是针对内存场景下一些 QS 保障能够尽量使内存在使用的过程中不会因为其他的一些内存不足导致的一些抖动,还有一些 per-memcg kswapd 用来保障当内存不足触发内存回收时,怎样不会因为回收影响其他的容器也有 group writeback 是写任务关系,右面是一些优先级控制,权重,内存的优先级 memcg priority 保障内存的各种优先级,but noise clean 是用来管理 CPU 调度 CPU quota 大家都会使用到在做ACK配置时,要配置 CPU share CPUquota 以及 memory limit,白色部分重点是社区标准方案,橙色部分可能是阿里云对整个容器资源隔离的增强,因为这样能力的增强会让用户在 ACK 场景下使用容器的时候整体的隔离能力体验会更好,因为这些启动运行稳定性资源隔离等等这样的优化才能够带来开箱即用

 

5.开箱即用

55.png

容器服务 ACK Proaskacr ee 容器增强服务各种各样的场景才能在操作系统上面保证非常好,提供了资源隔离能力可以让 ACK 对各种各样 CPU 的调度,资源的控制达到更好的准确性,提供了 ebpf 优化能力,让ACK能够有 terway ipvian 网络优化方案更好的为用户提供网络能力,提供了开箱即用的安全配置,让 ACK 的用户能够开箱子用的享受到等保架构的配置用户不用一个个进行配置自己等保规则也可以享受到整个等保架构的安全要求,因为各种各样的网络资源 CPU 的优化让用户能够在全场景下优化达到各种各样的性能,这部分能力更需要 ACK 做很多的改造或者 ACK 的管控测有相应的配置才能实现这些事情,所以这里涉及到与 ACK 的联动,底层提供一些基础的机制和功能 ACK 提供容器场景下各种调度的能力,资源划分的能力,用户入场能力等等可以享受到一些容器最新的创新,操作系统的创新,功能的支持也是同样的,在 cgroup v1 的时代,当前主流的场景可能都在使用的是操作系统的 cgroup  V1,但是实际上 cgroup v2 已经引进很多了,v2 上面有一些高级的能力已经 back v1上了,可以让 v1 的用户使用场景能够更好的cgroup v2的能力,现在 v2的使用场景是主流,所以现在会将V1中开发的很多的资源慢慢迁移到  V2上,让 V2的用户也能够享受到v1里面提供的能力,这个需要操作系统和ACK一起配合完成这样的功能的支持高效的运维,因为将整个工具监控运维的增强都集成到了操作系统中,ACK也能够感觉到这部分的能力,所以在ACK托管或者运维的场景下,特别像 serverless 的场景可以直接在 ACK 享受非常好的稳定性运维能力,有一些 worker 节点没有做到推广也提供了 ACK 中控制台中有很多运维能力,包括一键诊断,宕机检测也可以在 ACK 的控制台里面看到,最后一个是整个的联动,是用来做操作系统和ACK的质量保证,操作系统每次发布的时候会经过ACK 共同的 cicd 流程,后来共同保证这块质量的发布,能够在整个发布过程中可以及时的发现整个业务,操作系统的变动或者 ACK 变动带来的联动的问题,这时可以保证操作系统在云上在ACK发布的时候保证最好的健壮性,这一页是对前面能力增强的总结,生命周期的情况在这里看不到会在整个容器场景中会有联合生命周期和服务的规划,这里对用户可能已经屏蔽掉了,用户只需要在创建 ACK 的时候使用的 ECS 和操作系统搭配是阿里巴巴 cloud Linux ,就可以开箱即用的享受到这里所有的阿里云 Linux ACK 所共同建设的能力。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
前端开发 Java API
阿里云百炼模型入门篇-大语言模型
本文主要介绍如何快速的通过阿里云百炼,带你如何快速入门通义千问系列大语言模型。
4190 6
|
Kubernetes 测试技术 UED
灰度(金丝雀)发布、蓝绿部署、滚动发布
灰度(金丝雀)发布、蓝绿部署、滚动发布
2654 0
|
5天前
|
缓存 人工智能 自然语言处理
我对比了8个Claude API中转站,踩了不少坑,总结给你
本文是个人开发者耗时1周实测的8大Claude中转平台横向评测,聚焦Claude Code真实体验:以加权均价(¥/M token)、内部汇率、缓存支持、模型真实性及稳定性为核心指标。
2306 12
|
23天前
|
人工智能 数据可视化 安全
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
本文详解如何用阿里云Lighthouse一键部署OpenClaw,结合飞书CLI等工具,让AI真正“动手”——自动群发、生成科研日报、整理知识库。核心理念:未来软件应为AI而生,CLI即AI的“手脚”,实现高效、安全、可控的智能自动化。
34939 57
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
|
17天前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
15702 46
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
12天前
|
人工智能 JavaScript Ubuntu
低成本搭建AIP自动化写作系统:Hermes保姆级使用教程,长文和逐步实操贴图
我带着怀疑的态度,深度使用了几天,聚焦微信公众号AIP自动化写作场景,写出来的几篇文章,几乎没有什么修改,至少合乎我本人的意愿,而且排版风格,也越来越完善,同样是起码过得了我自己这一关。 这个其实OpenClaw早可以实现了,但是目前我觉得最大的区别是,Hermes会自主总结提炼,并更新你的写作技能。 相信就冲这一点,就值得一试。 这篇帖子主要就Hermes部署使用,作一个非常详细的介绍,几乎一步一贴图。 关于Hermes,无论你赞成哪种声音,我希望都是你自己动手行动过,发自内心的选择!
3019 28