开发者学堂课程【玩转容器服务进阶课程:在 ACK 中如何使用容器优化的操作系统】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1079/detail/15866
在 ACK 中如何使用容器优化的操作系统
三、实践
1.弹性扩容实例
上面讲了无论增强还是优化的能力具体介绍了一些实践,第一个是弹性扩容的案例,就是前面提到的启动优化的实践对应的就是这个,国内最大关系社交的平台在每次遇到一些热点事件,头条事情的时候对于他们来说,如果资源平时就是只能应对1万GPS的容量突然到了10万,这时在进行弹性伸缩可能会要求很高,快速的弹性要求很多的机器过来这样才能够保证应对峰值的流量,否则可能会影响到用户的档案或者各种各样的体验,所以用户就选择了 ACK➕阿里巴巴 cloud Linux 2qboot 极速启动方案或者帮用户提供单实例十秒钟左右的启动场景,500实例需要20秒的极速启动,在用户实践场景下面对于弹性速度接近提升到了三倍以上,并且在切换操作系统到阿里巴巴以后,也可以为客户提供官方操作系统服务的支持,让用户对于使用过程中遇到的任何问题都可以执行 centos 更多的来源于服务支持使用社区,谷歌搜索这样可能走工单或者直接联系到这边启动服务的支持,这是一个弹性的案例
2.全场景支持案例
全场景支持用户使用,非常复杂,不仅在 ECS,在一些 worker 节点的CPU神龙,在 worker 节点的 GPU 神龙甚至还有 ingress,Redis Op 本地盘还有各种各样的SLB,基本上是全场景都在使用,都使用了一些ACK或者阿里巴巴 cloud Linux,背景是国内最大的在线教育平台之一,在上云的过程中,涉及到了在线教育的直播,用户对于这个要求非常高,不要有延迟,宕机,卡顿,否则老师讲述的关键问题课题点没有听到,所以对可靠性要求非常高,所以对阿里云内部提出了一些非常高的要求,在规划如何满足用户的诉求的时候,向用户推荐了操作系统,因为对于阿里云来讲,系统一定能保证自己的操作系统做到最好,因为如果我们都做不到那用户的要求也无法满足了,所以在用户切换的整个过程中,给用户做了系统调优就是问题的一些闭环支持,操作系统差异化的能力也提到了资源隔离的诉求,将这块能力推荐以后用户非常满意,在整个过程中,用户现在有了上万的节点数,整个规模是非常大的,这是全场景支持,下面是神龙,用户也使用到了 worker 节点 GPU 神龙 CPU 神龙,规模是非常大的
3.裸金属案例
这里主要介绍 terway ipvian 的场景,是阿里巴巴 cloud Linux 和容器团队一起共建的新的网络优化的方案,基于ebpf技术提升整个网络的性能,每年双十一会遇到峰值,并且对于下单的速度一些延迟反馈的要求非常高,基于以上性能和成本的要求,选择了 ACK ➕神龙的方案能够解决问题,神龙是比较昂贵的,但是如果将整个神龙资源切割开来做容器的节点,用户会节省非常多的成本,所以用户在神龙上选择 ACK ➕阿里巴巴 cloudLinux 解决容器提升性能并且服务支持的问题,因为对于网络延迟的要求,延迟的诊断,对监控部分的要求都非常高。
4.等保合规案例
是刚刚提到的安全合规在云上有些用户对于等保的国家网络安全等级保护制度2.0的要求,整个等保配置非常复杂,有几十个大项,那个大项中还有很多的小项,对于操作系统的配置要求很高,技术门槛也很高,很多的客户可能没有培养这样的底层技术人员的投入,所以在用户有这样诉求的时候,帮助用户构建了等保镜像,让用户能够在ACK场景下直接进行简单的选择,就能够构建出这样子的镜像,让用户能够在这个场景下最简单的使用操作系统。
现在为大家演示 ACK 看到的阿里云操作系统是什么样的,先进入 ACK 的控制台,各个同学在使用操作系统在容器上面的时候,创建集群时,选择好实例以后
可以在这里看到操作系统的情况,会有一些选择二和三两个主机版本,如果用户要配置等保简单的选择等保设置账号密码就可以了,如果是CS也是同样的逻辑,打开这个界面,重点想为大家讲解快捷的页面,在容器文档中做了比较详细的操作系统和文件共建的方案的文档,里面较多的罗列了一些优势,例如刚才提到的性能,启动的优势,因为操作系统本身单独对 centos 布置了29%,在操作系统的启动仅占整个容器启动的一部分,所以可能这里涉及到的是29%,有一些大规格场景的性能的提升16%,系统调用的提升11%,网络上面的优化7%到10%,还有一些默认的bbr算法加解密,Io的调度器,另外还有一个是针对容器场景具体优化的场景,像容器使用非常多的 ipvs ,针对 ipvs 大规格场景用户经常遇到的问题就是大规格场景下因为定时触发导致的抖动问题 centos 用户是必然碰到的,是在 CPU 核数比较大的情况下,还有容器滚动申请的情况,在容器滚动申请的时候五元组没有发生变化,导致丢 SYN 包,会有一秒左右的延时,对一些延时比较敏感的用户也会遇到这样的问题,还有 coreDNS 的优化,容器网络性能的优化,包括现在比较火的技术安全上升的技术 kata 技术,在容器场景下也可以支持 Outer scanner 启动延时的降低,对整个容器集群弹性扩容带来优化,资源方面,资源的节省和资源的控制AI和大数据场景,容器显示增强,当前文档写的还是 Linux 4.19 内核,现在已经是5.10了最新的术已经融入进去了,还有一些 overlayfs 性能的优化,sysctl Name Space 的优化,以上提到的问题解决的问题或者优化的问题,天然就带着优化像用户只需要在容器场景下选择操作系统开机使用不需要做任何的配置,就可以全部使用到,针对容器操作优化系统,阿里巴巴 cloud Linux 主要介绍这么多,下面为大家答疑。
首先是阿里巴巴 cloudLinux 二和 Linux3 推荐哪个,基于生命周期的考虑推荐大家使用三,因为三的使用周期到2031年,二的生命周期到2024年,当然,2~3在容器场景下迁移是非常简单的,可能只需要新建一个节电点池,将老的节点池流量达到新的流量节点池,再将老的流量节点池释放掉,在容器节点的地方有一个文档,在托管节电池中节点与节点池里面有节点管理的FQ中有这个文档,这个文档可以介绍用户如何在相同的操作系统例如从2~3,不同的操作系统 cento s到阿里巴巴 cloud Linux 用户如何替换,推荐大家使用三,但是有些用户可能是从 centos7 来的想继续与 centos7 保持一些兼容的应用选择2也是合适的,虽然2的生命周期只到2024年,但是因为容器场景下的迁移非常简单,可能只需要到2024年之前花一个月到两个月的时间就将应用完全迁移到3。
操作系统本身相对来说是比较底层的技术,可能很多的用户对于他的体感很弱,所以才将很多的能力在ACK下面做开箱即用,用户其实也不是非常需要感觉到操作系统具体要做什么,要如何改造它,更多的点在于用户在使用 AC K的时候能够直接选择阿里巴巴 cloud Linux,这些都是默认附带的。
对于 kata 相对于 Spring cloud 的延迟是多少,这里涉及到容器服务的产品的形态,这里没有进行测试。