Transwarp Container Operating System(以下简称TCOS)是星环为大数据分析平台量身定做的容器云操作系统,是大数据、人工智能与云计算融合的关键性底层支持,可以为上层大数据业务容器化运行以及应用云端化提供关键保障。
作为星环各产品线的统一底层容器操作系统,TCOS为星环上层PaaS云、大数据、AI应用的可用性护驾保航,对各类生产环境的适应日益成熟。容器技术以其高效的集群管理、资源弹性共享能力,充分推进企业IT基础设施改革和管理数字化,适应企业业务创新。2020年04月10日,TCOS 2.0正式发布,兼容Kubernetes 1.16,Docker 17.12。除保持与开源社区的同步外,对容器平台的能力进行了更丰富的扩展。
TCOS 2.0对不同架构平台的兼容性进行了增强,一方面兼容了Windows系统;另一方面补充了对更多国产平台的兼容性 。其次在产品化方式方面,2.0版本通过优化Web Installer的交互体验,使安装过程更加流畅。另外,2.0延续了1.9版本开始提供的本地存储功能,对于本地存储进行了存储策略优化,并提供存储数据迁移服务。
除此之外,TCOS 2.0增加对异构GPU环境的支持,方便用户结合性能参数如内存、带宽等对不同GPU型号进行调度。新增K8S原生Node-Problem-Detector监控告警机制,能够对系统全面监控,保证服务正常有序的运行。
以上内容本文将详细介绍。
TCOS 2.0版本除满足X86_64架构下对于Red Hat和CentOS系统支持外,实现了对国产ARM架构(如华为鲲鹏920、飞腾2000+)、MIPS架构(龙芯 Loongson-3)以及国产化操作系统如中标麒麟、银河麒麟等厂家的适配。
作为星环底层云容器操作系统,对国产平台广泛的兼容性使得TCOS 2.0可以为星环全线ABC产品的国产化兼容提供充足的支持,保证稳定的容器化本地存储、容器应用网络管理、镜像市场等服务。TCOS 2.0增加对Windows Server 2019的兼容,支持Windows + Linux异构集群,允许Windows容器与Linux容器的兼容运行,可按照资源与环境需求情况运行,对于只有Windows环境同时又想部署容器应用的企业来说是重要的提升。
新版本TCOS的部署服务组件Web Installer 2.0使用户可以自主安装容器平台,提供许可证自动化读取能力以及信息查询能力(包括容器自身以及上层PaaS服务)。另外,更新后的TCOS 2.0版本优化了Web Installer部署服务过程,支持1.9.x、1.10向2.0版本平滑升级。
TCOS 2.0版本兼容K8S水平自动伸缩机制HPA(Horizontal Pod Autoscaler),可以根据当前pod资源的使用率(如CPU、磁盘、内存等)自动伸缩容器数量。HPA机制下,Controller Manager从每个pod的资源指标获得利用率情况,在资源需求过高时会根据扩缩容策略生成更多新pod来分担压力;而当资源需求低时则会自动减少pod的副本数量,实现了对后台应用的感应性横向扩容、缩容。目前开源K8S对GPU的支持无论是共享还是独占,均假设每台机器上的GPU型号相同,无差别对待。在初期阶段,这样的方案易于维护,并且可以快速地推出使用方案,具有可行性。但是后期随着用户的GPU型号增多以及对某一些任务有特殊GPU需求,此时便需要考虑GPU异构。基于此现状,TCOS 2.0提供对GPU的异构调度功能,在K8S层面支持pod对特定类型GPU的调度使用,方便用户结合某一类型GPU的特性(如高性能、大内存、高带宽等)进行调度。而为了方便用户对GPU进行更好的管理和运维,TCOS 2.0新增GPU-Monitoring-Tool性能监控组件。通过该组件,用户可以对GPU运行温度、GPU内存利用率、GPU利用率等参数进行监控,实现更全面的集群GPU管理。
TCOS从1.9版本开始提供了本地存储管理功能(Warpdrive)的改善和优化。容器云平台存储技术将存储资源统一进行池化管理,简化大量磁盘下存储池的复杂配置,把集群的本地磁盘抽象成可调度的存储池,避免因磁盘或分区出错导致整个存储池不可用的情况。
2.0版本允许用户灵活规划存储池,按硬盘类型可以分为机械盘和固态硬盘,也可以按照阵列等级分为RAID 1,RAID 5和裸盘。用户可以为集群各节点配置存储池,并结合集群资源情况对每个节点自主选择创建不同类型的存储池。以HDFS为例,用户可将NameNode调度到RAID 1存储池,而DataNode因为本身有多副本,因此直接部署在裸盘上。对于Inceptor Executor等对于磁盘读写速率要求较高的服务可以使用固态硬盘加速,其他业务则可以部署在RAID 5以兼顾运维效率和存储成本。相比K8S原生的Anti-Affinity规则只停留在容器和节点层面,TCOS 2.0支持PVC存储层面的反亲和性规则。通过类似pod的Anti-Affinity方式基于PVC定义label,为 IO密集的PVC定义互斥关系。这种本地磁盘互斥分配策略能够将PVC分散到多个物理磁盘中,避免重IO应用部署在同一个物理磁盘上。
例如Elasticsearch和HDFS均为重IO应用,在调度时可以选择将两者部署在不同的磁盘上,避免因同时运行时IO竞争所引起的应用性能下降和稳定问题。同时,用户也可以根据业务类型和业务峰值时间等实际业务情况,将同时运行的服务分配到不同物理磁盘上。在节点下线时,对于本地存储有状态的服务,原生K8S只能迁移pod,无法迁移挂载的PVC数据。而TCOS 2.0通过提供Transwarp-Pod-Migration-Operator工具实现了对持久化存储数据的迁移,支持通过定义CRD资源的方式发起本地存储迁移PVC任务,为有状态且挂载Warpdrive PVC的容器提供PVC数据迁移服务。
Transwarp-Pod-Migration-Operator主要包含控制器(Operator)、节点选择模块和数据同步模块三个部分。控制器是整个数据迁移功能的核心,主要负责CRD管理,根据相应状态触发对应动作;节点选择模块负责为待迁移的pod查找目标节点;数据同步模块负责在两个节点之间迁移数据。
TCOS 2.0开始将支持通过Node-Problem-Detector服务对系统内核和自定义插件等进行监控,通过检测系统日志的方式上报节点状态信息,使节点健康状态能够对上游管理可见,在系统和租户层面查看资源利用情况,便于对节点的健康状态进行感知。当出现如IPVS网络故障,内核Panic,系统出现僵尸进程故障等异常时进行告警并反馈给租户。
此外,TCOS 2.0加入了对星环自有网络和存储组件的健康检查,围绕应用统一了内部的网络和存储监控指标。用户可以通过集群资源概览和租户资源概览查看与应用所有相关的资源利用情况,分析集群和租户层面的资源分布情况和各节点的资源利用率,并进一步通过租户资源详情页面定位具体应用的资源负载情况。
作为支持大数据和AI的底层容器平台以及应用云端化的关键保障,新版本的TCOS 2.0继续提升大数据容器操作系统对上层提供服务的能力,未来TCOS还会在以下方面发力,以促进容器技术落地企业。
星环的软件应用过充分的容器化改造,因此对国产软硬件的兼容度依赖于TCOS容器平台兼容性,所以TCOS国产兼容性对于星环国产化生态的建立,以及对于追求信息保密和安全的企业提供可信的数据处理服务而言具有重要作用。TCOS在异构环境的适应性越发增强。作为星环“联邦云”构图下的底层支撑,TCOS未来将支持单集群跨多数据中心部署,允许用户在一个集群内跨体系架构/操作系统/机房部署时进行统一管理。之后还会把各类异构资源统一虚机化为资源池,应用可按需调度和使用各类异构资源,实现不同应用系统的SLA级别服务。另外TCOS对之前已经在内部验证的异构控制器(Isomateset)会进一步产品化,在集群在异构环境中部署时允许用户通过多模板策略进行统一管理。可用性方面,TCOS提升了自治能力,用户可以进行存储卷的动态管理和负载控制,保证应用或PaaS层的数据存储和查询操作能够快速响应。同时全面升级系统监控和告警系统,方便把控和感知系统运行状态。在未来,TCOS将着重实现批处理计算引擎弹性化,通过对应用进行资源画像,并结合具体的产品专家规则,自动根据负载情况进行资源弹性伸缩。在集群资源层面引入固定和弹性资源池,兼顾应用基本性能的保证和弹性伸缩的需求,保证高优先级服务能够优先使用弹性资源池,提高集群利用率和重要应用的高可用性。TCOS将计划支持pod原地更新策略,实现原地镜像更新、服务重启等操作,无需删除pod并重新创建和调度,在提高底层中间件稳定性的同时保持网络地址和临时存储不变。TCOS今后仍会继续重视产品安全性,通过加入安全容器、容器镜像签名和验证机制等措施,为系统配置文件和本地存储数据等重要信息进行加密。
至此,TCOS进入2.0时代,充分发挥容器本身特性和附加的产品化能力,继续为星环上层应用的运行和运维提供可靠保障,促进容器技术革命在企业内的发展。
往期原创文章
TCOS -- 业界首个支持生产级大数据业务的容器操作系统
TDC--带来新一代大数据产品形态
行业观察: 云+大数据+AI推动企业数据业务演进
大数据开放实验室由星环信息科技(上海)有限公司运营,专门致力于大数据技术的研究和传播。若转载请在文章开头明显注明“文章来源于微信订阅号——大数据开放实验室”,并保留作者和账号介绍。