作者 | Kuma Document
译者 | 平川
与其他控制平面不同的是,Kuma 天生就可以在任何平台上运行。它既适用于现有的棕地应用程序(即如今已经在提供商业价值的应用程序),也适用于新的现代化绿地应用程序。Kuma 很容易使用,任何人都可以通过三个简单的步骤实施 Kuma。
Kuma 是什么?  

Kuma 是一个面向服务网格和微服务的通用开源控制平面。它天生就可以在 Kubernetes 和 VM 环境中运行和操作,组织中的每个团队都可以轻松地采用它。

Kuma 以 Envoy 为基础构建,可以用于管理任何 L4/L7 流量,保护、观察、路由及增强任何服务或数据库之间的连接。它可以通过 CRD 在 Kubernetes 本地使用,也可以通过 RESTful API 在其他环境中使用,而且不需要更改应用程序的代码。

Kuma 在大多数情况中使用起来都很容易,同时,它还提供了以更细粒度的方式配置底层 Envoy 数据平面的策略。这既满足了初次使用服务网格的用户,也满足了经验最丰富的用户。

Kong 根据 150 多个在生产环境中运行服务网格的企业组织的反馈构建了 Kuma。Kuma 实现了一种与第一代控制平面迥异的实用方法:

  • 跨组织运行的操作开销低;

  • 支持所有平台;

  • 它基于 Envoy 提供的可靠的网络基础,而且易于使用。

为什么是 Kuma?  

在构建任何软件架构时,我们都会不可避免地引入通过在网络上发出请求来实现彼此通信的服务。

例如,考虑任何与数据库通信以存储或检索数据的应用程序,或者考虑一个更复杂的面向微服务的应用程序,它们为了执行操作都要向不同的服务发出许多请求:

每当我们的服务通过网络请求互连时,我们都将最终用户的体验置于风险之中。我们都知道,不同服务之间的连接可能很慢,而且无法预测。它可能不安全,难以跟踪,并会引发许多其他的问题(例如路由、版本控制、金丝雀部署)。

针对这种情况,开发人员通常采取以下一种措施:

  • 编写更多代码:开发人员构建一个智能客户端,每个服务都必须以库的形式使用该客户端。通常,这种方法会带来以下几个新问题:导致了更多技术债务;通常特定于具体的语言,妨碍了创新;库有多种实现,长远来看会导致碎片化。

  • 挎斗(Sidecar)代理:服务将所有连接性和可观察性关注点委托给进程外运行时,后者位于每个请求的执行路径上。它将代理所有发出的连接并接受所有传入的连接。使用这种方法,开发人员就不需要关心连接性,而只需要关注业务价值交付。

挎斗代理:它之所以被称为挎斗代理,是因为它是同一主机上与我们的服务进程并行运行的另一个进程,就像摩托车跨斗一样。服务的每个运行实例都将有一个挎斗代理实例,由于所有传入和传出的请求——以及它们的数据——总是通过挎斗代理,所以它也被称为数据平面(DP)。

挎斗代理模型需要一个控制平面,使团队可以配置数据平面的行为并跟踪其服务的状态。采用挎斗代理模型的团队要么从头开始构建一个控制平面,要么使用市场上现有的通用控制平面,比如 Kuma。

与数据平面(DP)不同,控制平面(CP)并不位于服务交互请求的执行路径上,它用于配置数据平面并从中检索数据(如可观察性信息)。

服务网格:一种由数据平面(DP:和服务平行部署的挎斗代理)和控制 DP 的控制平面(CP)组成的架构。通常,服务网格出现在 Kubernetes 上下文中,但是任何人都可以在任何平台上构建服务网格(包括 VM 和裸机)。

使用 Kuma,我们的主要目标是减少构建可靠的架构所必须编写和维护的代码。因此,Kuma 采用了挎斗代理模型,利用 Envoy 作为其挎斗数据平面技术。

通过将所有的连接性、安全性和路由问题外包给挎斗代理,我们可以获得以下好处:

  • 加速应用程序构建;

  • 专注于服务的核心功能,推动更多业务;

  • 通过减少碎片化构建更安全的标准化架构;

通过减少团队需要编写和维护的代码,我们可以一点一点地实现应用程序的现代化,而不需要花费太多精力。

要进一步了解如何在现有的架构中通过 Kuma 实现应用程序的现代化,请查看以下链接:

https://kuma.io/docs/0.1.0/#enabling-modernization

比较 Kuma 与其他 CP  

当服务网格在 2017 年前后第一次成为主流时,为了支持这个新的架构模式的首次实现,一些大大小小的组织发布了一些控制平面。

虽然人们在早期对这些控制平面投入了大量的热情,但它们都缺乏实用性,无法在现有组织中开启一段可行的服务网格采用之旅。这些第一代解决方案有如下特点:

  • 仅限于绿地应用:专注于新开发的应用程序,无法提供在 VM 和裸机平台上(当前业务除 Kubernetes 之外的运行之地)运行的现有工作负载的现代化之旅。

  • 使用复杂:服务网格并不一定非常复杂,但是早期的实现确实很难使用;它们的文档很差,也没有明确的升级路径来减轻破坏性的更改。

  • 难以部署:有许多活动部件需要同时实现最佳运行状态,较高的操作成本所带来的副作用使得运行和扩展服务网格变得更加困难。

  • 适用于爱好者而不是组织:缺乏对当今企业组织面临的挑战的理解,支撑力不够而且实现模型也很差。

Kuma 今天的存在就是为整个组织和每个团队提供一个实用的服务网格实现之旅:既面向运行在现代 Kubernetes 环境中的应用程序,也面向运行在更传统平台(如虚拟机和裸机)上的应用程序。

  • 通用、Kubernetes-Native:平台无关,可以在任何平台上运行和操作;

  • 易于使用:提供自动化功能,服务网格策略学习曲线平缓;

  • 易于部署:一步部署,可以跨 Kubernetes 和其他平台;

  • 企业就绪:已经是一个可以为企业交付价值的实用平台;

实时支持:Kuma 社区提供了实时沟通和支持的渠道,您可以在我们的社区页面中找到。它还提供由 Kong 提供的专门的企业支持。

赋能现代化  

到目前为止,服务网格一直被认为是架构现代化的最后一步,而在此之前,架构已经转换到容器或 Kubernetes。这种方法完全向后兼容。这使得服务网格的采用和业务价值只有在实现了其他大规模转换之后才能实现,而与此同时,这些转换可能会出错。

实际上,我们希望服务网格在实现其他转换之前已经可用,这样我们就可以在这个过程中保证网络的安全和可观察性。使用 Kuma,服务网格实际上是迈向现代化的第一步。

与其他控制平面不同的是,Kuma 天生就可以在任何平台上运行,没有范围限制(如仅限 Kubernetes)。Kuma 既适用于现有的棕地应用程序(即如今已经在提供商业价值的应用程序),也适用于新的现代化绿地应用程序,这是我们未来的前进方向。

与其他控制平面不同,Kuma 很容易使用。任何人(来自任何团队)都可以通过三个简单的步骤跨传统的单体应用程序和现代化的微服务实施 Kuma。

最后,通过开箱即用的策略和 Kuma 强大的标签选择器,我们可以在各种拓扑中实现各种行为,类似于多云和多区域架构。

原文地址:

https://kuma.io/docs/0.1.0/#what-is-kuma


活动推荐

落地AIOps 还是一个相对较新的词,其设计的技术业界也还在积极探索。在智能运维相关的领域,推荐大家关注以下落地实践:

  • Facebook 大数据模块快速部署和实时更新

  • Kubernetes 和 Docker 容器在领英的落地实践

  • 阿里巴巴数据驱动的智能运维DataOps

  • 百度 AIOps 黄金指标异常检测技术实践

点击「阅读原文」或识别二维码来QCon上海2019了解智能运维相关的领域,包括前沿技术及其最佳落地实践。大会 9 折报名中,立减880元,有任何问题欢迎联系票务小姐姐Ring:17310043226(微信同号)

通用服务网格框架Kuma开源了,可运行于任何平台!相关推荐

  1. 开源游戏掌机几乎能运行所有经典平台游戏

    最近一家名为Max Thrun的公司推出了一款名叫GamingCape的掌上游戏机.这款GamingCape掌机基于BeagleBone开源硬件产品改装,最终被改造 成了一台完整的掌上游戏机产品.这款 ...

  2. C#.NET通用权限管理在DB2数据库上运行的脚本参考 - 建表脚本参考

    为什么80%的码农都做不了架构师?>>>    C#.NET通用权限管理在DB2数据库上运行,表脚本参考如下: CREATE TABLE "ITEMS_YESNO" ...

  3. 花旗linux 内核 如何调试,揭秘首个运行在Linux平台的核心银行系统

    上个星期社区进行了一场直播,关于"新一代核心银行系统解决方案CBOD"--首个运行在Linux平台的核心银行系统. 国外上线Linux核心系统的银行已经不少,例如花旗银行在主机系统 ...

  4. Apache Zeppelin:可能是开源届最好的Flink开发平台

    原文:https://www.codenong.com/cs106935099/ 这个集成有点类似后来dinky 开源项目. 如果你是Flink的学习者或者爱好者,除了学习Flink本身之外,你是否在 ...

  5. 同城婚恋相亲交友系统源码开源版婚姻介绍红娘分销平台源码盲盒交友多种认证可封装APP

    带详细视频教程 程序全部开源(前台+后台),支持手机微信/公众号端(服务号),WAP手机端, 包含婚恋相亲系统主站,媒婆推广返利系统,红娘CRM管理系统,商家预约下单系统. ------------- ...

  6. dotnet 是 前30个增长最快速度的开源项目中排名第一的开发平台

    CNCF 的博客 发了一篇文章 <Update on CNCF and Open Source Project Velocity 2020>,中文翻译参见 2020年CNCF和开源项目开发 ...

  7. Open Source Blog 开源ASP.NET/C# 博客平台 v2.5 发布(提供源码下载)

    EntLib.com Blog 开源ASP.NET/C# 博客平台 v2.5 发布(提供源码下载)   基于Subtext v2.0 开源ASP.NET博客系统的中文汉化及定制化开发,EntLib.c ...

  8. 住房和城乡建设部正式印发《城市运行管理服务平台技术标准》(附下载)

    近日,新<城市运行管理服务平台技术标准>(编号为CJJ/T312-2021)行业标准完成修订,由住房和城乡建设部批准发布,即将于2022年1月1日正式实施.同时,原行业标准<城市综合 ...

  9. 技术趋势与热点:开源高效的物联网大数据平台-TDengine PPT分享

    来自2020中国软件技术大会的PPT 分享版ppt 技术趋势热点 桑树多 开源高效的物联网大数据平台-TDengine [学习高人思想,提升自身能力]下载地址:点我下载 关键字:趋势 技术趋势 热点 ...

最新文章

  1. LeetCode 116. 填充每个节点的下一个右侧节点指针
  2. java中的list时间排序
  3. C语言 变量 函数 (类型、作用域、生命周期、存储位置)
  4. 【word2vec】篇二:基于Hierarchical Softmax的 CBOW 模型和 Skip-gram 模型
  5. libreoffice_利用Excel或LibreOffice的业务输入进行单元测试约束
  6. 表单内如何直接贴图而不用上传图片_表单如何添加图片?
  7. android+证书存储,Firefox for Android是否使用设备证书存储?
  8. Java自学 day02
  9. Win7 无法安装 VMware Tools
  10. 计算机f2锁定用户,台式电脑键盘被锁住按什么键恢复 点锁定直接锁定计算机
  11. 【转】奇幻RPG(人物构造 与 Abstract Factory模式)
  12. 攻防世界-Web-练习区12题解
  13. Lucene.Net的简单练习
  14. python pyecharts 合并地图_Python pyecharts 绘制的交通拥堵情况地图
  15. shell脚本编程for循环求阶乘_shell脚本循环及函数
  16. 万恶的NPE如何避免,几种你必须知道的方案!!!
  17. python地图实例_利用pyecharts实现地图可视化的例子
  18. 在ubuntu中构建mingw-w64 for windows
  19. C++ MFC (一)
  20. 5G ToB行业专网建设方案和关键技术

热门文章

  1. 一文看懂推荐系统:排序01:多目标模型
  2. Dissection C Chapter 2
  3. android 日历源码解析,Android 4.0日历(calendar)源码分析之概览
  4. Python计算一个人BMI(身体质量指数)指数
  5. android 转语音助手,多言文字转语音助手
  6. 个人永久性免费-Excel催化剂功能第58波-批量生成单选复选框
  7. HDBaseT解决当务之急!
  8. 毕业设计 油罐检测爬壁机器人结构设计(说明书+CAD图纸+开题报告+任务书+外文翻译+英文文献)
  9. 数商云仪器仪表行业智慧供应链系统解决方案
  10. 洛谷P1768 天路