{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

云原生时代KubeSphere容器平台如何助力企业数字化转型?

littleGrowlittleGrow 回答3 收藏1
收藏问题

3条回答

Nosee

Nosee

回答于2022-06-22 15:47

KubeSphere 作为云原生家族 后起之秀,开源近两年的时间以来收获了诸多用户与开发者的认可。本文通过大白话从零诠释 KubeSphere 的定位与价值,以及不同团队为什么会选择 KubeSphere。

KubeSphere 是在 Kubernetes 之上构建的 多租户 容器平台,以应用为中心,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。使用 KubeSphere 不仅能够帮助企业在公有云或私有化数据中心快速搭建 Kubernetes 集群,还提供了一套功能丰富的向导式操作界面。

KubeSphere 能够帮助企业快速构建一个功能丰富的容器云平台,让企业在享受 Kubernetes 的弹性伸缩与敏捷部署的同时,还可以在容器平台拥有 IaaS 平台的存储与网络能力,获得与 IaaS 一样稳定的用户体验。比如在 KubeSphere 2.1.1 新增了对ucloud云与ucloud云块存储插件的集成,支持为 Pod 挂载公有云的存储,为有状态应用提供更稳定的持久化存储的能力。

在日常的运维开发中,我们可能需要使用与管理大量的开源工具,频繁地在不同工具的 GUI 和 CLI 窗口操作,每一个工具的多带带安装、使用与运维都会带来一定的学习成本,而 KubeSphere 容器平台能够统一纳管与对接这些工具,提供一致性的用户体验。这意味着,我们不需要再去多线程频繁地在各种开源组件的控制面板窗口和命令行终端切换,极大赋能企业中的开发和运维团队,提高生产效率。

有很多用户习惯把 KubeSphere 定义为 “云原生全家桶”。不难理解,KubeSphere 就像是一个一揽子解决方案,我们设计了一套完整的管理界面,开发与运维在一个统一的平台中,可以非常方便地安装与管理用户最常用的云原生工具,从业务视角提供了一致的用户体验来降低复杂性。为了不影响底层 Kubernetes 本身的灵活性,也为了让用户能够按需安装,KubeSphere 所有功能组件都是可插拔的。

KubeSphere 基于 OpenPitrix 和 Helm 提供了应用商店,对内可作为团队间共享企业内部的中间件、大数据、APM 和业务应用等,方便开发者一键部署应用至 Kubernetes 中;对外可作为根据行业特性构建行业交付标准、交付流程和应用生命周期管理的基础,作为行业通用的应用商店,可根据不同需求应对不同的业务场景。在 3.0 版本还将支持计量 (Metering),方便企业对应用与集群资源消耗的成本进行管理。

可观察性是容器云平台非常关键的一环,狭义上主要包含监控、日志和追踪等,广义上还包括告警、事件、审计等。对于 Kubernetes 运维人员来说,通常需要搭建和运维一整套可观察性的技术架构,例如 Prometheus + Grafana + AlertManager、EFK 等等。并且,企业通常还需要对不同租户能够看到的监控、日志、事件、审计等信息,实现按不同租户隔离,这些需求的引入无疑会增大企业的运维成本与复杂性。

KubeSphere 能够帮助运维人员基于 Kubernetes 快速搭建一套满足云原生可观察性标准的技术架构,支持在一个统一的平台纳管这些组件,或对接外部已有的组件。KubeSphere 能够在一套管理界面中,实现从基础设施层级到容器微服务层级的多维度日志与监控,支持逐级下钻定位异常资源,并且能够满足多租户隔离的需求。在 3.0 版本还将持续增强可观察性,近一步丰富事件与审计的可视化管理能力。

对于 DevOps 团队而言,日常工作除了开发一些自动化的工具之外,还需要运维与管理众多开源工具链。DevOps 本身作为一个很广义的方法论,也可以被认为是一种文化,很多 DevOps 团队在落地过程中,也会遇到各种各样问题,例如 CI/CD 工具繁多、涉及人员和环境较多、流程相对复杂等等。

我们选择以工具型产品的形式,将 DevOps 在 KubeSphere 中落地。KubeSphere DevOps 系统选择 Jenkins 作为其 CI/CD 引擎,借助 Jenkins 丰富的插件体系和易于进行扩展开发的特性,帮助 DevOps 团队在一个统一的平台中,打通开发、测试、构建、部署、监控、日志与通知等流程。KubeSphere 为 DevOps 团队打造了以容器为载体的端到端的应用交付平台,实现从项目管理、应用开发、持续集成、单元测试、制品构建到应用的生产交付,所有的流程都是一个完整的闭环。

基于 Kubernetes,KubeSphere DevOps 充分利用和释放 Kubernetes 动态扩展的能力。例如,我们在内置的 DevOps 系统使用了 Jenkins Kubernetes 的动态 Agent,即默认全部使用动态的 Kubernetes Slave,这样的方案相较于传统虚拟机上的 Jenkins 要更加灵活敏捷。同时,在 KubeSphere DevOps 中内置了用户常用的 Agent 类型,例如 Maven、Node.js、Go 等,并且还支持用户自定义与扩展的 Agent 类型。

我们将内置的 Jenkins 与 KubeSphere 账户打通,满足企业对 CI/CD 流水线多租户隔离与统一认证的需求。另外,KubeSphere DevOps 支持创建 InSCM 与 OutOfSCM 两种形式的流水线。这样能很好地兼容项目已有的 Jenkinsfile,或使用图形化编辑流水线。

业务开发者即使还没有深入了解 Docker 与 Kubernetes 的机制,也可以借助 KubeSphere 内置的自动化 CD 工具,如 Binary to Image 和 Source to Image。用户只需要提交一个仓库地址,或上传 JAR/WAR/Binary 等二进制文件,即可快速将制品打包成 Docker 镜像并发布到镜像仓库,最终将服务自动发布至 Kubernetes 中,无需编写一行 Dockerfile。并且,在自动构建的过程中,能够生成动态日志,帮助开发者快速定位服务构建与发布的问题。

在产品新版本发布前,运营团队通常需要引入一部分流量对新版本灰度测试。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以对新版本进行测试,方便及时发现和调整问题,以验证产品的可行性和收集用户反馈。

KubeSphere 基于 Istio 提供了蓝绿部署、金丝雀发布、流量镜像等三种灰度策略,无需修改应用的服务代码,即可实现灰度、流量治理、Tracing、流量监控、调用链等服务治理功能,即让产品的迭代能够按照不同的灰度策略对新版本进行线上环境的测试,并且能够在服务拓扑与 Tracing 中发现微服务间互相请求的网络问题。

KubeSphere 支持部署和运行在包括 公有云、私有云、虚机、物理机 和 Kubernetes 等任何基础设施之上,并支持在线与离线安装,可参考 KubeSphere 官方文档 进行安装。

评论0 赞同0
  •  加载中...
ppl_csd

ppl_csd

回答于2022-06-22 15:47

4月19日,企业数字化转型日益成为传统企业突破业务瓶颈的首要选择,从几年前的以云优先的“Cloud First”到所有业务上云的“Cloud Only”,再到近两年的“Cloud Native”云原生时代,更多企业转变为以消费者和产品为中心来安排生产要素和经营方式,将生产、销售、运营等业务环节赋予数字化力量。

与之相伴随的是,大量的数字化应用被整合在企业的业务流程中,而高速迭代变化的数字化系统,对应用架构、运维服务提出了敏捷化的需求,给企业IT部门带来更大挑战,当前容器化管理越来越引起关注。

为了更方便快捷的服务于企业数字化转型需求,青云QingCloud 推出KubeSphere 容器平台,旨在帮助企业轻松应对多租户、工作负载和集群管理、服务与网络管理、应用管理、镜像仓库管理和存储管理等业务场景。

青云QingCloud 应用及容器平台研发总监周小四介绍,KubeSphere是基于Kubernetes为内核的企业级分布式多租户容器平台,提供简单易用的操作界面以及向导式操作方式,在降低用户使用容器调度平台学习成本的同时,极大减轻开发、测试、运维的日常工作的复杂度。

KubeSphere目标:简单易用 客户上手即用

众所周知,Kubernetes是Google开源的一个容器编排引擎,它本身支持自动化部署、大规模可伸缩、应用容器化管理等。不过Kubernetes的学习成本很高,安装部署也很复杂,对传统企业的非专业技术人员而言落地使用困难度太高。

对此,青云QingCloud 应用及容器平台研发团队在Kubernetes基础上打造出KubeSphere这款专业企业级容器平台产品,为企业用户提供简单易用的高性能可伸缩的容器应用管理服务。

KubeSphere容器平台产品经理于爽介绍,KubeSphere提供面向开发、测试、运维友好的 UI ,向导式用户体验,大幅降低 Kubernetes 学习成本。同时,KubeSphere 为企业用户提供了一个具备极致体验的 Web 控制台,让用户能够像使用任何其他互联网产品一样,快速上手各项功能与服务,极大降低了企业的使用门槛。

KubeSphere容器平台的核心优势

容器市场竞争非常激烈,如何才能长久的保持竞争力?周小四表示KubeSphere从设计之初就采用了更先进、更灵活的架构设计。

这种灵活性具体体现在,第一点,KubeSphere可部署在任何的Kubernetes集群上,包括任何一个发行版。只要底层是基于Kubernetes的,KubeSphere就都可以部署上去并管理这个集群。KubeSphere必须拥有纳管的能力,因为客户喜欢尝试的不同管理平台。

第二点,KubeSphere支持可配置、可插拔的功能。KubeSphere提供了很多功能,但并不是所有的客户都想要所有的功能,有的客户只想要DevOps,有的客户只想要微服务治理。那么KubeSphere提供功能是可配置、可插拔的,不同的客户就可以自行选择安装自己需要的功能。

于爽介绍,KubeSphere提供了多种经过社区众多开发者和厂商验证过的开源插件,支持多款存储插件以及多种存储模式。KubeSphere本身提供了各种主流网络插件的对接,比如calico、flannel等,可满足企业级用户各种安全诉求。

此外,周小四介绍,除开源解决方案外,用户如果对网络和存储有更高要求,可选用青云QingCloud作为底层平台,可以使用性价比更高的网络和存储解决方案。青云QingCloud固有的核心优势包括“存储和网络”,其中分布式存储QingStor NeonSAN天然适合微服务,其性能、稳定性、安全性远高于开源的存储。青云QingCloud的SDN在私有云和公有云都得到验证,其性能稳定,稳定性高于开源的网络方案。

Kubernetes强大的生态能支持KubeSphere走更远

事实上关于容器技术,业界存在三大主流调度框架之争,即Docker Swarm、Kubernetes和Mesos。青云QingCloud 为何选择Kubernetes?

周小四表示,确实经过了长时间的考量,“因为一旦拥抱一家,如果这一家走不下去是很麻烦的。而周小四认为Kubernetes最终将赢得战争,因为其生态足够强大。

Kubernetes背后有Google、IBM的强大支持。并且Kubernetes是源自于Google内部的BORG,BORG在Google内部运行了差不多20年,可以说早就已经得到验证,并成熟了。

此外,周小四表示,Kubernetes之所以可以赢得战争,就是凭借开源创造的强大生态。Kubernetes不仅仅是容器的调度和编排,它还制订了一套标准和规范,生态非常强大。

而KubeSphere本身也采用了开源模式,周小四称:“我们认为Kubernetes是容器时代的分布式操作系统内核,我们一定是要基于此再发展上层的功能。”事实上现在的容器厂商,从去年开始也越来越多的转到Kubernetes上来。

评论0 赞同0
  •  加载中...
Flands

Flands

回答于2022-06-22 15:47

Kubernetes最开始是由谷歌开源的虚拟化平台或是支撑云原生的基础设施平台。它源于谷歌内部的一套基础设施borg,里面耦合了很多谷歌自己的业务逻辑。谷歌把它的共性拆出来,开源成Kubernetes。谷歌把它贡献给CNCF基金会,现在很多国际、国内的企业都在致力于推进Kubernetes的演进、迭代,包括我们熟知的微软、IBM,包括青云都是这个社区主要的贡献者。

目前不管是物理机还是云平台,只要用户的业务构建于Kubernetes、以容器化的方式交付,就可以跑在不同的平台之上。这意味着你没有被任何服务商锁定,你的业务可以很好的跨基础设施做应用迁移。但目前Kubernetes只提供了资源运行的最基础平台,你可以把它理解为毛坯房,没有家具和家电,只能保证企业最基础的应用,后续的使用会变得非常复杂。过高的学习使用成本,正在阻滞着Kubernetes的企业应用普及。

注意到这些企业的需求,于是青云打造了云原生专业平台—— KubeSphere,并且将代码在GitHub上开源。

KubeSphere的设计开发理念在于平台归平台,应用归应用。通过青云专业的产品设计师优化,让Kubernetes实现“开箱即用”。

社区用户把KubeSphere称为云原生全家桶,因为KubeSphere提供了很多可选的功能组件,用户可以在使用过程中,根据自己的业务需求有选择性的使用这些组件。简单罗列了一下:

一、即点即用的DevOps,面向开发测试人员,覆盖了开发测试全链条的发布。从提交代码、构建应用、应用发布到测试环境、测试通过发布到准生态环境及生产环境,这一套流程在KubeSphere平台上可通过可视化界面进行统一的管理。

二、灵活可选的微服务框架,现在Java系比较主流的SpringCloud、Dubbo;CNCF现在主推的Istio,Istio是由谷歌、IBM和Lyft三家公司主导的开源项目。不管是传统微服务框架还是主流的云原生微服务框架,在KubeSphere平台上都可以得到很好的支持。

三、应用跨平台一键部署。这是得益于容器、Kubernetes的特性,天然地在KubeSphere产品里支持。

此外,青云把自身擅长的技术同时输出到这个平台,青云有自己的SDN、SDS产品,包括QingCloud云平台,都可以跟KubeSphere很好的整合。这个整合并不是强绑定的关系,KubeSphere既可以安装在青云之上,也可以安装在其他云平台、物理机或者VMware之上。如果你目前正在使用青云其他产品,在KubeSphere上也有与之对接的接口,可以保证这些产品之间很好的整合。

目前,通过社区用户和商业用户的反馈,青云KubeSphere的监控功能可以满足从资源视角、应用视角,运维应用需求。另外在合规方面,可以从产品控制层面满足,像银行、保险公司部署安装KubeSphere时在审计上的要求。

为什么KubeSphere可以开箱即用?于爽用一个工具箱举例进行了更形象的说明。

“大家对开箱即用的理解是不同的,左边是一个很酷很漂亮的工具箱,如果你是物业人员,修水电、水管、电线,所有工具都可以在工具箱里拿到。但其实工具箱里的所有东西都是琐碎的,你需要了解水电的细节,才能很好地修理它。工具箱不是打开后就能很好地使用,你需要具备基础的使用知识。

在云原生的势头之下,我们希望KubeSphere可以开箱即用、运维友好,把所有后端的技术细节屏蔽掉,尽我们最大的可能帮助用户节省所有的学习成本,用户可以迅速上手,提升用户的效率。这需要我们对用户行为习惯有很多的分析。

KubeSphere的产品目标是“聚焦业务应用”,所有的功能体验都是围绕应用设计的。因此,青云在产品开发之前都会跟社区用户、现有的企业用户进行调研,他们现在的使用模式是怎样的,期待的模式是怎样的,汇聚并梳理所有的需求,提炼并最终展示在KubeSphere平台上,形成很好的用户体验。

KubeSphere,是在Kubernetes之上构建的分布式操作系统,是用于数据中心的、可插拔的企业级多租户容器平台。为什么说它是分布式操作系统?大家知道Linux内核是Linux操作系统最核心的软件或者平台,但是没有人直接使用Linux内核,大家使用的是基于Linux内核开发的操作系统,比如红帽等。Kubernetes是分布式操作系统内核,那么KubeSphere就是面向终端用户的分布式操作系统。它并不是给个人用户用的,而是服务于企业,不管是中小企业还是大型企业组织。

KubeSphere的很多功能是可插拔的,因为企业的诉求是多种多样的,用户需要什么,直接打开,就可以很好地在平台上无缝的使用。在企业里这个平台肯定是多租户的,因此需要有相应的租户管理体系支撑这个平台。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<