从以前Swarm、Mesos、Kubernetes三足鼎力,到现在Kubernetes一枝独秀,Kubernetes的主导地位已无可争议。而现在厂商们要做的就是如何加速Kubernetes的应用落地。如今,花样繁多的Kubernetes商业发行版让用户有种目不暇接的感觉。如何选择那个最适合自己的Kubernetes成了用户最关心的问题。


公有云、混合云游刃有余


“使用UCloud的UK8S,开发者可以像使用普通云服务器一样迅速搭建Kubernetes环境,在享受它带来的便利的同时,开发人员可以将注意力集中在业务实现的细节上,而不必在基础架构的搭建上浪费太多精力。UCloud的UK8S如同UCloud其他的基础服务一样稳定,使我们相信‘让专业的人做专业的事’。选择UCloud作为我们的云服务提供商,是我们在技术选型上做出的正确选择之一。”元年科技CTO杨熠如是说。元年科技一直专注于以管理会计为核心的管理咨询和管理信息化领域,并选择在公有云场景下利用UK8S落地微服务,加速业务迭代。在公有云环境中,UCloud的UK8S经受住了考验,也赢得了用户的青睐。


UCloud很早便在容器领域进行布局,2015年就推出了UDocker(容器集群,类Kubernetes的容器微服务管理平台)。容器的使用使得开发人员仅需考虑如何恰当地扩展、部署以及管理他们新开发的应用程序。但是,容器方案也暴露出一些不足,如不能在跨多节点的环境中自己管理、调度和部署容器,这就需要容器集群管理系统提供支持。在容器化的世界中,Kubernetes起到了环境管理和自动部署的作用。2017年,Kubernetes已逐渐成为容器领域的事实标准。


laravel 服务容器和服务提供者 服务容器化_负载均衡

UCloud亮相在上海举行的KubeCon 2019大会


随着Kubernetes的兴起,UCloud发现部分存量客户开始尝试在UCloud公有云平台上自建Kubernetes集群,而自建的Kubernetes集群若要与公有云平台的网络、存储、负载均衡等产品集成,还需要做二次开发。对于用户而言,如此大量、复杂的集成工作,最好还是由公有云厂商来完成,这样一来,既能做到高度兼容,又可以减轻现有用户的工作量。正是基于上述考虑,UCloud推出了基于Kubernetes的容器管理服务——UK8S。


除了在公有云领域游刃有余以外,UK8S在日渐流行的混合云环境中也能充分发挥自身的价值。厦门海豹他趣信息技术股份有限公司是一家基于B2C模式的综合性两性健康电商服务平台企业,目前采用混合云(公有云+托管云)的技术架构模式,在保证合理利用存量IT资源的同时,还能与公有云产品内网高速安全互通,实现资源的弹性扩展。


海豹他趣将部分数据敏感型业务部署在UCloud的托管云区域。在业务容器化改造的过程中,海豹他趣在已经实现了公有云场景下UK8S的资源统一纳管的基础上,还希望进一步提高托管云的资源利用率,在业务高峰时利用UK8S快速扩容公有云资源。


UCloud协助客户将托管云物理机纳入UK8S现有集群统一管理方案中,即在混合云架构下仅需部署管理一套Kubernetes集群,通过解决网络、存储、负载均衡三大技术问题,进一步提高托管云物理机的利用率,减少公有云主机资源冗余和维护人力的投入,加快服务上线速度。


当前,UK8S的用户以互联网企业居多,包括电商、新零售、互联网金融等,一些使用UCloud云平台的政企客户也都在积极探索使用Kubernetes。由于互联网企业业务的潮汐效应较为明显,且追求迭代速度,UK8S的自动伸缩、自动化部署等特性可以很好地解决客户痛点,提升运维开发效率,加快业务发展速度。作为一个容器调度平台,UK8S适用于绝大多数应用程序,而互联网企业由于其业务特性、技术储备等原因成了先行者。


从目前情况看,因为无状态业务与Kubernetes天生契合,大部分客户倾向于将无状态的业务部署在UK8S上。在客户考虑将业务迁移至Kubernetes时,UCloud建议先迁移无状态业务,运行磨合一段时间后,再考虑部署有状态业务。


UCloud UK8S哪里不一样


谈到Kubernetes,无论是在IaaS还是PaaS领域,各家云厂商经常挂在嘴边的就是差异化、定制化。UCloud认为,Kubernetes的初心其实是打造一个更加一致性的基础设施平台,避免厂商绑定,为开发者提供一个标准化的、可移植的运行环境。具体到应用实践,Kubernetes提供了一系列开放的标准接口,由云厂商自主整合自己IaaS和PaaS能力,而整合后的Kubernetes服务也不能改变Kubernetes原有的特性。这也是CNCF推出一致性认证的原因。


当然,各家云厂商在整合自己的IaaS和PaaS产品到Kubernetes平台时,方案上会有些许差异,比如UK8S就是将容器网络与虚拟机网络打通,尽量减少用户迁移到Kubernetes的负担。


UK8S是UCloud推出的一项基于Kubernetes的容器管理服务。用户可以在UK8S上部署、管理、扩展容器化应用,而无需关心Kubernetes集群自身的搭建及运维工作。UK8S完全兼容原生的Kubernetes API,并以UCloud私有网络为基础,整合了ULB((UCloud负载均衡服务)、UDisk(UCloud云硬盘)、EIP(UCloud外网弹性IP)、UVPC(UCloud私有网络)、UFS(UCloud分布式文件存储)等云产品,开箱即用。


laravel 服务容器和服务提供者 服务容器化_混合云_02

采用UK8S与自建Kubernetes对比


UK8S的优势可以归纳为以下三方面。


首先,一键创建集群,集群自动伸缩,降本增效。通过使用UK8S,用户只需在UCloud控制台页面简单配置集群参数,即可创建集群,相对于自建Kubernetes集群,时间成本节省数十倍。另外,UK8S提供集群自动伸缩功能(Cluter Autoscaler)功能,可自动实现集群的横向扩缩容,节省运维成本。UK8S完全兼容社区版Kubernetes,已通过CNCF的一致性认证(Certified Kubernetes Conformance Program),这意味着部署在UK8S上的所有服务皆可确保其可移植性、可靠性和兼容性。


其次,集成存储和负载均衡产品,具备高性能和高可用性。在性能方面,UK8S集成了UDisk(UCloud云硬盘)、UFS(UCloud分布式文件存储)等存储产品,以及UCloud负载均衡产品,提升了Kubernetes集群的可用性。用户无需自行搭建存储集群。另外,UK8S的网络插件性能优异、可靠性高,相较于第三方网络插件,性能损耗大大降低,这也意味着使用成本的降低。


最后,统一管理公有云与托管云资源,降低管理成本。作为国内最早推出混合云产品线的公有云厂商,UCloud提供了包括金翼物理机、专线接入,机柜托管、云互联、混合云运维等在内的一系列的产品与服务。越来越多的用户选择“托管云+公有云”的混合云架构支撑自己的业务。基于自身混合云的能力,UK8S推出了“托管云+公有云”的混合部署解决方案。UK8S将UCloud托管区的物理机纳入现有集群的实践,可解决网络、存储、负载均衡的问题,从而横跨公有云和托管云配置Kubernetes集群。


企业如果使用混合云模式下的UK8S集群,研发人员无需在Kubernetes基础架构层面投入太多精力,反而可以更加合理地利用现有的IT设施。由于容器网络与虚拟机网络处于同一层面,公有云、混合云、托管云互联互通,通过Kubernetes既有的调度机制,就可轻松地将敏感业务部署在托管云区域,以满足行业监控和合规要求。


技术的创新只有一个目的,那就是更好地解决现存问题。在企业云化的进程中,Kubernetes的必要性和重要性进一步彰显。谈及Kubernetes未来的发展,UCloud认为,以下几方面的趋势值得关注。


首先,多云的整合问题。目前,相当多的用户在同时使用多家云厂商的产品,为的是规避单一云平台的风险。在IaaS时代,由于云厂商的差异化战略,多云的管理成本是非常高的。依托标准的操作接口,在多云场景下,Kubernetes的重要性会极大地提升,跨云的Kubernetes管理平台可能会成为各厂商下一步的发力重点。UK8S已经打通了UCloud公有云、托管云产品线,后续还将借助罗马全球加速网络,实现跨地域的Kubernetes统一管理。



其次,Kubernetes自身复杂度过高,用户不仅要保障运行在Kubernetes中的应用,还需要关注Kubernetes集群自身,这进一步加重了用户的负担。Serverless则不存在这种问题,用户只需关注应用本身即可。不过,Serverless当前还处于起步阶段,其后续的演进方向值得期待。



最后,Kubernetes在边缘环境下的实践要引起重视。当Kubernetes在边缘节点被广泛铺开后,可能会面临一些未知的问题和困难,若能很好地解决这些问题,可能会为云端Kubernetes开辟新的发展思路。


虽然最近几年国内Kubernetes的增长速度非常快,但是整体使用率依然不高,主要原因还是Kubernetes本身相对复杂,中小型团队上手较难。当前,UCloud的主要工作还是围绕如何帮助中小企业更加方便地使用UCloud展开,包括提供更加易用的Kubernetes操作管理界面、日志、监控、DevOps的集成,提供一个开箱即用的Kubernetes集群,将Kubernetes与企业的各种业务场景进行适配。


目前,UCloud正在不断扩充云原生产品线,基于可弹性扩展、自动化和无服务,围绕用户业务场景开发产品是其一贯的理念。UCloud已经推出或正在开发的API网关、USQL(数据湖)、UStepFlow(流程引擎)、罗马全球加速网络、Serverless等,可以帮助用户加快云原生应用的落地。


UCloud可以为用户提供Kubernetes整体解决方案,希望通过提供大量的案例参考与最佳实践,有效地帮助客户降低上Kubernetes的负担,使用户尽早享受到Kubernetes带来的技术红利。