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

对于企业 KubeSphere 是什么

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

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

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

对于开发者 KubeSphere 是什么

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

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

对于运维 KubeSphere 是什么

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

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

对于 DevOps 团队 KubeSphere 是什么

对于 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 是什么

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

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

如何安装 KubeSphere

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

本文由博客一文多发平台 OpenWrite 发布!

一文说清 KubeSphere 容器平台的价值的更多相关文章

  1. 在 Linux 部署多节点 Kubernetes 集群与 KubeSphere 容器平台

    KubeSphere 是在 Kubernetes 之上构建的以应用为中心的企业级容器平台,所有供为用户提供简单易用的操作界面以及向导式操作方式.同时,KubeSphere Installer 提供了 ...

  2. 在 Kubernetes 集群快速部署 KubeSphere 容器平台

    KubeSphere 不仅支持部署在 Linux 之上,还支持在已有 Kubernetes 集群之上部署 KubeSphere,自动纳管 Kubernetes 集群的已有资源与容器. 前提条件 Kub ...

  3. OpenResty 在又拍云容器平台中的应用

    大家好,我是又拍云叶靖,今天主要分享 OpenResty 在又拍云容器平台中的应用.目前又拍云有很多产品,其中很多都使用了 OpenResty 技术,比如又拍云的 CDN .网关都是基于 OpenRe ...

  4. 容器平台选型的十大模式:Docker、DC/OS、K8S 谁与当先?

    作者:刘超   来自:网易云 基础服务 无论是在社区,还是在同客户交流的过程中,总会被问到到底什么时候该用 Docker?什么时候用虚拟机?如果使用容器,应该使用哪个容器平台? 显而易见,我不会直接给 ...

  5. 容器平台选型的十大模式:Docker、DC/OS、K8S 谁与当先?【转】

    网易企业服务2017-10-13 无论是在社区,还是在同客户交流的过程中,总会被问到到底什么时候该用 Docker?什么时候用虚拟机?如果使用容器,应该使用哪个容器平台? 显而易见,我不会直接给大家一 ...

  6. 容器平台选型的十大模式:Docker、DC/OS、K8S谁与当先?

    首先我们来谈什么情况下应该使用Docker的问题   如图,左面是经常挂在嘴边的所谓容器的优势,但是虚拟机都能一一怼回去. 如果部署的是一个传统的应用,这个应用启动速度慢,进程数量少,基本不更新,那么 ...

  7. Docker容器可以使用容器平台管理自动重启实现自修复吗?

    容器的自修复功能是经常被吹嘘的.因为容器是衣服,人躺下了,衣服也躺下了,容器平台能够马上发现人躺下了,于是可以迅速将人重新唤醒工作. 而虚拟机是房子,人躺下了,房子还站着.因而虚拟机管理平台不知道里面 ...

  8. 云原生生态周报 Vol. 13 | Forrester 发布企业级容器平台报告

    业界要闻 近日,全球知名市场调研机构 Forrester 发布首个企业级公共云容器平台报告.其中,阿里云容器服务的市场表现全球前三.中国第一,同时创造中国企业最好成绩,进入强劲表现者象限.报告显示,阿 ...

  9. 容器平台(kubernetes)架构设计

    一眨眼距离上次发文好几年过去了,今天翻未读邮件看到博客有文章回复,猛然想起将博客遗忘在角落好几年了,赶紧访问博客.找回密码.翻翻文章,想写点什么但是又不知道从哪下手,N年前的第一篇文章是一个crm设计 ...

随机推荐

  1. BigDecimal的setScale常用方法(ROUND_UP、ROUND_DOWN、ROUND_HALF_UP、ROUND_HALF_DOWN)

    BigDecimal的setScale四大常用方法总结 // 设置小数点后第三位数字一大一小观察效果BigDecimal num = new BigDecimal("3.3235667&qu ...

  2. Netty源码学习系列之4-ServerBootstrap的bind方法

    前言 今天研究ServerBootstrap的bind方法,该方法可以说是netty的重中之重.核心中的核心.前两节的NioEventLoopGroup和ServerBootstrap的初始化就是为b ...

  3. 双向链表都不懂,还说懂Redis?

    目录 redis源码分析系列文章 前言 API使用 lpush左侧插入数据 rpush右侧插入数据 删除某个数据 修改某个数据 具体逻辑图 双向链表的定义 节点ListNode 整体架构 双向链表的实 ...

  4. SpringCloud之Security

    Spring Security是Spring提供的一个安全框架,提供认证和授权功能,最主要的是它提供了简单的使用方式,同时又有很高的灵活性,简单,灵活,强大. 我个人博客系统采用的权限框架就是Spri ...

  5. 🧑🏻‍💻数据库简介及Mac平台环境搭建🧑🏻‍💻

    数据库 存储数据的演变过程 如果没有使用数据库,我们自己存放文件,数据格式是千差万别的,完全取决于我们自己,例如: """ # 张三 zhangsan|123|read ...

  6. Python语言基础-语法特点、保留字与标识符、变量、基本数据类型、运算符、基本输入输出、Python2.X与Python3.X区别

    Python语言基础 1.Python语法特点 注释: 单行注释:# #注释单行注释分为两种情况,例:第一种#用于计算bim数值bim=weight/(height*height)第二种:bim=we ...

  7. abp-CMS模块-广告

    无论是开发app还是网站,可能都需要一个广告功能,比如我们常见的在首页有个轮播广告,里面会轮播显示多个图片.还有比如一个新闻门户网站 很常见的 banner横幅广告,还有js特效广告等.本篇说说在ab ...

  8. PyQt中QThread多线程的正确用法【待完善】

    先贴几篇有意思的讨论 https://www.qt.io/blog/2010/06/17/youre-doing-it-wrong#commento-login-box-container https ...

  9. 面试官:线程池如何按照core、max、queue的执行循序去执行?(内附详细解析)

    前言 这是一个真实的面试题. 前几天一个朋友在群里分享了他刚刚面试候选者时问的问题:"线程池如何按照core.max.queue的执行循序去执行?". 我们都知道线程池中代码执行顺 ...

  10. 3 年经验的 Java 后端妹子,横扫阿里、滴滴、美团,整理出这份厚厚的 8000 字面经!

    自序 这次面试的公司有一点点多,主要是因为毕业后前两份工作找的都很草率,这次换工作就想着,emm,毕业三年了,该找个工作好好沉淀几年了. 先说下这次面试的结果吧: 到 hr 面的:阿里.美团.滴滴.金 ...