近日,KubeSphere 容器平台高级版 2.0 正式发布并加入开源组织 CNCF,这是否足以解决 Kubernetes 存在的诸多问题?
近两年,云原生成为云计算领域的关注焦点,这种热度多少与其可移植性及 Kubernetes(容器编排器)的发展有关。云原生的可移植性让应用从开发环境迁移到物理环境无需改变环境配置,这意味着在不同云平台进行迁移成为可能;其次,Kubernetes 的发展提供了云原生基础设施所需的许多平台功能,这是非常好的起步。
最初,云原生应用架构的主要特征是由 Pivotal 公司的 Matt Stine 在一本叫做《迁移到云原生应用架构》的小册子中提出的,后来 CNCF 又进行了两次重定义,最终认为云原生应该符合如下定义:
Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.
云原生技术帮助公司和机构在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API。
可见,容器是实现云原生很重要的一环,并且该技术已经逐渐度过炒作阶段,开始在企业落地。但是,作为容器编排的首选工具,Kubernetes 的学习成本很高且安装部署极为复杂。此前,InfoQ 曾报道过 Atlassian 部署 Kubernetes 的经历,这是一家总部位于澳大利亚悉尼的软件企业,最初没有销售团队,不靠融资就做到了市值百亿美元,两位创始者本来也是开发者出身,这家企业的技术实力本就不弱,但却在尝试了 Kubernetes 三年后公开表示:“过去三年,部署 Kubernetes 的过程非常艰难,并且不推荐大家尝试”。
同样的,为了解决 Kubernetes 学习成本高,安装部署复杂,在企业容器落地过程不友好等问题,青云 QingCloud 正式发布 KubeSphere 容器平台高级版 2.0,并宣布正式加入 CNCF 和 Linux 基金会。
Kubernetes
正如开篇所言,容器是实现云原生很重要的一环,青云 QingCloud 应用及容器平台研发总监周小四表示,容器是云原生时代的核心基础设施,拥抱容器之后的落脚点应该在应用和架构改造上,这一点与微服务非常相似。
单体应用时代,所有功能和服务绑定交付,一旦出现问题,所有都需要重新打包、重新交付,而微服务是每个功能单独打包,出现问题只需要单独打包某一部分即可。相应的,技术水平在整个过程也发生了改变,从大机到云计算再到容器平台,Kubernetes 已经成为容器时代的分布式操作系统内核。
Kubernetes 可以让应用开发和交付变得更加快速,周期也会变得非常短。以前,软件开发的周期基本以年为计量单位,现在则以月、周为计量单位,甚至按天计量。此外,Kubernetes 天然适合微服务,内嵌了很多微服务功能,比如服务注册、服务发现等,开发者不需要了解这些问题。Kubernetes 也是微服务和 DevOps 的最佳桥梁,让产品交付周期越来越短。
Kubernetes 本身具有可移植性,用户可以在公有云、私有云、裸机、虚机甚至是底层操作系统等任何地方部署。部署在 Kubernetes 上面的应用也可以随意迁移,具备标准化应用开发和发布流程,最大程度降低了用户运维难度和复杂度,可以根据资源指标或者应用指标自动伸缩。
然而,Kubernetes 也存在很多问题,比如学习门槛较高、学习曲线较长。在分享中,周小四表示:
曾经花了三个月时间学习 Kubernetes,但还是感觉没有完全掌握,之后又花了整整一年时间才把 Kubernetes 真正搞明白,这个时长对企业而言是很难接受和付出的。
此外,Kubernetes 的网络并不是基于多租户的设计模式,但多租户是企业客户刚需,必须有多租户网络进行强隔离,而不是通过防火墙做隔离,配置过滤的方式。对企业而言,往往关注的并不是单纯的 Kubernetes,而是其上层所能提供的服务,而这些是开源 Kubernetes 提供不了的。如果企业想要应用容器,不仅仅需要对技术本身进行改造,还需要对企业文化进行改进,对业务理念、开发流程进行全方位改造,这是需要花费很大精力和资源才能完成的,这就需要更强大的容器解决方案。
KubeSphere
2016 年 11 月,青云 QingCloud 推出业界首创的一套架构,可以同时支持虚拟化和容器技术。
2017 年初,青云 QingCloud 推出 SDN 网络直通服务,容器可以直接在 IaaS 平台上使用 SDN 功能,基本等同于硬件设备的网络环境,几乎没有任何性能损失。同时,青云 QingCloud 的 PaaS 服务率先应用容器技术,在性能上最高可提升 500%。
2017 年 7 月,青云 QingCloud 发布 Kubernetes on QingCloud,在 QingCloud AppCenter 上直接交付,5 分钟就可以搭建一个 Kubernetes。
2018 年 7 月份,青云在 Cloud Insight 云计算峰会上推出全新容器平台——KubeSphere,帮助企业快速低成本管理容器,并且 KubeSphere 本身是开源的。周小四表示,青云 QingCloud 一定会和开源社区紧密联系,脱离社区意味着其生命力会削弱。Kubernetes 之所以可以赢得战争,其强大的生态起到了重要作用。
因此,KubeSphere 也是开源的,青云 QingCloud 对上游社区做了很多贡献,覆盖存储、网络、DevOps、负载均衡等方面,KubeSphere 可部署在任何 Kubernetes 集群之上,包括所有发行版,只要底层基于 Kubernetes,KubeSphere 就可以部署并管理整个集群。
开源之后,为了让更多开发者可以参与其中,KubeSphere 提供可配置、可插拔的功能,用户可根据个人需要选择想要的功能进行安装。KubeSphere 的定位是分布式操作系统,Kubernetes 是其内核,用户可在这个操作系统上安装想要的功能。
综合来看,KubeSphere 的产品特性主要可以从三个方面来看:
底层基础设施支持,KubeSphere 考虑的是从最底层提供稳定的网络存储方案;
上层应用开发及管理,提供各种应用场景和所需功能;
企业级用户体验,从用户体验层面满足客户心理诉求,降低用户 40%的操作。
KubeSphere 容器平台产品经理于爽表示,青云 QingCloud 可以提供天然适合微服务的分布式存储 QingStor NeonSAN。通过与众多客户交流,青云 QingCloud 现已基本与客户达成共识:
微服务一定要用分布式存储,QingStor NeonSAN 天然适合微服务,其性能、稳定性、安全性远高于开源存储。
如上文所言,Kubernetes 网络并不是基于多租户的设计模式,青云 QingCloud 将自己优势的存储和网络加入 KubeSphere,并提供多租户隔离的设计模式,不同的用户只能看见自己的日志。Kubernetes 提供的日志方案是所有人都会看到同样的日志,这对企业来说并不合理,KubeSphere 在此基础上实现了多租户隔离,而且是可视化操作,用户可以直接在 UI 界面查看日志。
对于微服务治理,青云 QingCloud 目前拥抱 Istio,因为其架构更为先进,但也没有忽视 Spring Cloud 的需求。因此,青云 QingCloud 在微服务治理上同样做了可配置、可插拔的功能,用户可以选择 Istio 框架,也可以选择 Spring Cloud。周小四认为,长运来看,由于 Istio 没有绑定任何编程语言(Spring Cloud 必须基于 Java),可能更加适合企业用户,不存在后续收费或其他风险,如果企业用户需要,青云 QingCloud 可以帮助逐渐迁移到新的微服务治理平台。
在整个过程中,KubeSphere 团队一直在思考如何降低开发者的学习曲线。在原生 Kubernetes 中有很多抽象的资源概念,开发者的学习曲线非常复杂。KubeSphere 尽可能多地屏蔽掉抽象概念,通过界面语言让企业用户更加易于理解,降低其学习成本。
未来,用户可能不需要过多关心资源层,青云 QingCloud 也在努力实现这件事情。青云有 AppCenter,类似苹果 AppStore 的概念,用户不需要关心底层虚拟机和计算资源,只需要交付功能和业务即可,KubeSphere 也提供类似的能力,这是通过青云 QingCloud 的另一个开源项目 OpenPitrix 实现的,OpenPitrix 可以跨云、跨平台应用管理,保证应用在不同平台交付部署。
目前,OpenPitrix 底层后端已经无缝迁移到 KubeSphere,提供跨平台应用全生命周期管理,从一个应用通过开发者开发、发布、版本管控,再到运维、监控,都可以在 KubeSphere 上得到满足。
未来规划
KubeSphere 是一款独立的分布式容器管理平台产品,在持续快速推进 KubeSphere 产品发展的同时,KubeSphere 团队借助青云 QingCloud 云平台还可以衍生出不同的服务交付方式,比如即将在 QingCloud AppCenter 上提供的基于 KubeSphere 高级版交付的 QKE(QingCloud Kubernetes Engine) 服务,与青云云平台自然整合,打通存储、网络、负载均衡多种服务,用户一键部署即可快速拥有自己的容器平台。接下来,还会提供 QKS(QingCloud Kubernetes Service),将是比 QKE 更便捷一种服务交付方式,最大限度的屏蔽 Kubernetes 后面复杂的技术知识体系并极大降低用户的资源使用费用,此外,还有 KubeSphere 容器一体机和高级版 3.0,在现有开箱即用的基础上,提供更便捷、更强大、更安全和更稳定的云原生服务平台。
评论 2 条评论