UCloud UK8S虚拟节点 让用户不再担心集群没有资源 – U刻
技术分享/

UCloud UK8S虚拟节点 让用户不再担心集群没有资源

  • UCloud UK8S虚拟节点 让用户不再担心集群没有资源

    栏目:技术分享

    随着云原生概念的深入人心,越来越多的企业开始着手基于容器相关技术来部署其应用,Serverless也开始在企业IT基础构建中发挥出越来越重要的作用。UCloud 先后推出了开箱即用的容器集群管理服务UK8S,和兼容K8S使用习惯,高效弹性的Serverless容器实例Cube,以满足用户在不同应用场景下的构建需求。

    UCloud发现在实际应用中,用户往往既希望能够获得Kubernetes自身强大的自动部署、自动伸缩能力和丰富生态,又希望能拥有Serverless资源的高效弹性能力和强安全性、隔离性特点,因此Virtual Kubelet 插件应运而生。

    Kubernetes 集群中的弹性伸缩

    UCloud UK8S容器集群管理服务,为用户提供了容器和集群两个维度的弹性伸缩功能:

    • HPA(Horizontal Pod AutoScaler),能够根据容器的CPU、内存或者QPS等指标自动扩缩,为应用提供容器维度的弹性伸缩;

    • CronHPA 根据预先制定的计划任务扩缩Pod,支持与HPA兼容,协同工作;

    • CA(Cluster AutoScaler)在集群有Pod因资源不足Pending时扩容节点,在Node资源申请率不足设定阈值时缩容节点。

    通过现有的弹性伸缩插件,已经能够满足一部客户业务流量波动时的资源扩缩容需求,但仍然存在一些不可避免的问题:

    • 资源扩容时间长。CA插件只有在集群因资源不足导致Pod无法被调度时才会触发添加Node节点的动作,具有一定的滞后性;Node节点启动的分钟级延时对于紧急核心业务而言延时仍过长,在业务流量激增的场景下无法平滑扩容。

    • 节点资源预留导致的浪费。为避免资源扩容时间长给业务带来的不稳定性,多数用户还是会选择在可预知的高峰期前,提前创建Node节点,应对业务量的增长。用户实际为基础资源冗余,而非真正业务需求付费,确保了业务稳定,但也造成了一定的资源浪费。

    • 运维过程繁琐。在容器应用之外,用户仍然需要关注基础资源层面的运维和扩缩容问题,应用管理和运维不够简单。

    虚拟节点:快速扩容,按量付费

    为了解决上述的问题,UK8S推出了虚拟节点功能,从集群控制面来看,虚拟节点与集群Node节点类似,可以被管理、调度,但没有实体虚拟机或物理机存在,只是作为一个插件,用户可通过虚拟节点创建Serverless容器实例Cube。虚拟节点实现了UK8S和Cube这两大UCloud容器产品的无缝对接,丰富了UK8S集群的弹性能力。

    通过Virtual kubelet,可低成本运维(无需调整节点数量),来应对集群计算资源高峰压力。

    目前用户在使用UK8S的过程中,通常都会由于在线业务流量高峰,或者突发离线计算任务,出现临时的资源需求。现有UK8S集群通过Cluster Autoscaler集群伸缩插件,在Pod因资源不足而无法调度时帮助集群添加Node节点,满足资源需求。但云主机的启动及环境安装通常需要一段时间,Pod往往需要等待若干分钟才能被调度运行。与现有的容器及集群扩缩容插件相比,通过虚拟节点创建Serverless容器实例Cube,能够实现秒级的Pod应用部署,具有简单、兼容、弹性、低价四点优势:

    1.  简单

    虚拟节点通过控制台UK8S集群管理页面直接添加,并进行相关配置,无需额外命令行操作。

    2. 兼容

    虚拟节点创建后,用户即可通过标准K8S接口,将Pod调度到Cube上运行,每个Cube容器组等价于K8S中的一个Pod。

    通过虚拟节点生成的Cube实例,支持EmptyDir、UDisk PVC等类型Volume的挂载,可与UK8S集群中其他应用共享ConfigMap、Secret等对象,方便用户进行应用和配置的管理。

    3. 弹性

    通过虚拟节点创建Cube实例,免去了Node节点资源创建的延时,Cube Pod秒级的拉起速度对核心业务的相应更及时,让资源利用更加灵活、弹性。单个虚拟节点计算资源理论无上限,无需担心容量问题。

    4. 低价

    Cube实例以容器应用为中心,实例资源完全为应用服务,按需付费。应用快速拉起,用户无需预先进行资源预留,也进一步节省了成本。

    典型应用场景

    由于Cube具备免服务器运维、秒级启动、按需付费等优势,通过Virtual Kubelet虚拟节点组件,能够很好地作为UK8S集群的补充,尤其适用于应对突发性业务和弹性扩缩等场景。

    1. 在线业务的弹性扩容。互联网企业用户,特别是电商、社交等行业,都会有明显峰谷期,用户可通过UK8S集群及普通UHost节点保障常态资源使用,在业务高峰期通过虚拟节点秒级拉起Cube实例,从容应对突发流量。

    2. 离线计算任务。对于计算密集型的数据处理等场景,例如很多企业在凌晨或者周末、月末都需要进行的大批量数据计算业务,基于Cube快速启动、按秒计费的特性,用户方可在短时间内启动大量,满足业务对海量计算资源的即时需求,用完即删,无需提前囤积资源,在满足业务需求的同时,将成本优化做到最大化。

    3. CI/CD任务。企业用户CI/CD 任务,通常集中在几个固定的时间段,短时间内大量任务的堆积,容易导致发版较慢等问题,严重时可能影响关键业务上线。通过虚拟节点及Cube,可以低资源成本来应对高峰期的任务压力,提升整体任务效率。

    如果您对UCloud UK8S 和 Cube产品感兴趣,欢迎扫码加入Cube测试交流群!