backyards1.5版简介

104 阅读9分钟

今天我们发布了Backyards的1.5版本,这是Banzai Cloud的生产就绪的Istio发行版

Backyards logo

Backyards的愿景是成为SRE和运营工程师观察和控制其服务和应用的健康状况的首选解决方案。服务网作为基础层,以统一的方式产生最重要的网络流量指标和跟踪。上一个版本是实现这一目标的第一步,而新的1.5版本保持了同样的重点。

如果你不熟悉Backyards,请先在我们的网站上了解它,查看文档,或我们博客上的一些相关文章

在你自己的集群上检查Backyards的运行情况!

注册一个评估版,并运行一个简单的安装命令!

正如你可能知道的,思科最近收购了Banzai Cloud。目前我们正处于过渡期,正在转移我们的基础设施。联系我们,我们可以讨论你的需求和要求,并组织一次现场演示。

想了解更多吗?请与我们联系,或深入了解最新版本的细节。

或者只是看看Backyards为你自动化和简化的一些Istio功能,我们已经在博客中介绍过。

Backyards的1.5版本专注于SRE观察性工具,并增加了对最新Istio版本的支持。

image.png

新内容 🔗︎

直到最近的几个版本,Backyards都是一个Istio分布,有一个UI仪表盘来控制和观察网格。但前一个版本开始转向更高层次的愿景,服务网状结构只作为基础层。该版本引入了服务水平目标(SLO)的管理,以及相应的警报功能。

1.5版本继续走这条路,但引入了一种不同的方法来控制你的应用程序的健康状况。虽然我们仍然认为SLO的概念对于规模化的服务是很好的,但我们明白不是每个人都是Google,在没有绝对必要改变之前,你应该保持简单的东西。好吧,SLO除了简单,还有很多。这不仅是因为它很难理解这个概念,而且还因为只有当你的SLO被不断调整并适应你不断变化的环境时,它们才是正确的。

我们的新方法被称为自动应用程序健康监测。这个Backyards子系统在网状结构中监控你的所有服务,并且--不需要任何手动配置--通过考虑许多不同的指标,为每个服务计算出一个健康分数。它并不取代SLO,它的目标是相似的,但有点不同。对于具有高负载的复杂应用程序,仍然建议使用SLO,但我们的健康评分可以通过突出可能的根本原因和提供最佳做法的信息来帮助跟踪生产问题,以尽量减少平均恢复时间。

这个功能可以从应用程序的开发阶段的第0天开始使用,以发现瓶颈和可能的问题。在进入生产阶段时,它可以帮助诊断问题,并在第2天的停工期间,提供事件打击的根本原因分析。

虽然这个版本是以这个功能为中心,但我们也增加了一些其他东西。我们新的时间线视图是了解你的服务行为的又一个工具,它能够轻松地检查你的拓扑结构和指标是如何随时间变化的。我们还彻底改造了我们的用户界面。它有一个新的外观和感觉,它更快,它在幕后使用React而不是像以前那样使用Angular。像往常一样,我们增加了对最新的Istio版本的支持,也就是现在的1.8。

现在让我们来看看这些东西的细节。

自动应用健康监测 🔗︎

自动应用程序健康监测是我们对如何以最简单的方式跟踪服务健康的看法。Backyards持续监控网状结构中的所有服务,并定期为每个服务分配一个健康分数。您可以看一下这些健康分数,并立即了解哪些服务行为不正确,以及它是一个持续多久的问题。

健康分数是由各种指标组合而成的,并使用离群点检测和其他统计算法进行计算。如果一个服务有一个不好的分数,你可以进一步探索它的指标,建立汇总的分数,以更好地了解一个故障。

我们相信一切都可以成为一个指标,所以这些指标都是基于指标的。例如,我们为所有服务汇总了很多指标。

  • 来自源和目的报告的请求率
  • HTTP和gRPC的成功率
  • p50、p95、p99的延迟率
  • 一个豆荚的OOMKills
  • CPU和内存的饱和度
  • CPU节流
  • 水平Pod Autoscaler度量

把所有东西都作为指标来处理,也使我们能够使健康框架高度灵活。这些默认指标在Kubernetes自定义资源中有所描述,它们可以通过在集群中设置额外的CR来扩展。我们正计划在未来添加其他默认指标,但你也可以轻松添加自己的自定义指标。

健康框架是基于生产就绪的Prometheus监控系统和企业级Istio分布,两者都由核心Backyards基础设施提供。

如果你想深入了解这一功能,请按照文档中的步骤尝试评估版。你也应该期待很快会有一篇博文,详细描述这些功能。

image.png

Backyards的第一个版本已经包含了拓扑结构视图。从那时起,没有什么变化,我们只有一些小的、几乎看不见的改进。但我们收到了客户的多个请求,他们希望看到他们的服务和相应的指标是如何随时间变化的。

时间轴视图允许你从用户界面上选择一个特定的时间点,然后来回移动几分钟,看看你最重要的指标是如何变化的。你可以用它来检查某一特定服务何时以及如何出现问题的。例如,你的错误率是什么时候上升的,或者当RPS值增加时,你的延迟值是如何随时间变化的。它可以是一个很好的指标,知道在日志中寻找错误的地方,或者注意到集群中的其他东西是否发生了变化,这可能与特定的故障有关。

拓扑视图几乎完全基于指标,而这些指标来自Prometheus。普罗米修斯基本上是一个时间序列数据库,所以提供一个基于这些指标的时间线视图感觉很自然。但我们的主要拓扑视图是用来自Kubernetes的信息来增强的,这不是直接提供给特定时间点的。然而,我们正在设置kube-state-metrics作为Backyards的一部分,它至少包含了这些信息的一部分,我们正在使用它作为时间线功能的一部分。

Timeline view

全面改版的用户界面 🔗︎

在1.5版本中,Backyards仪表板有了新的外观和感觉。我们有两个原因:一个是技术原因,一个是用户体验原因。

在这两个原因中,用户体验是最重要的。仪表盘上的一些视图,比如拓扑结构,或者来自Grafana的嵌入式图表,经常感觉很迟钝,特别是在较大的集群上,需要花费一些时间来加载。现在,我们已经将所有Grafana嵌入的图表改为我们自己的图表实现,并完全修改了拓扑视图的工作方式,以提供更顺畅的体验。我们还统一了用户界面上的所有表格,有一个新的面包屑导航,并围绕事物的外观做了大量其他的小改进。

技术上的原因对于我们的用户来说并不是一目了然的。由于历史原因,用户界面部分是用Angular实现的,部分是用React。现在Angular部分已经完全消失了,整个仪表盘都在React中。这使我们在未来能更快地发展,但由于一些功能的重新实现,可能会有一些粗糙的边缘。如果可以的话,请试一试,如果你发现了一个bug,或者有什么地方不能正常工作,请告诉我们。

image.png

Istio 1.8支持 🔗︎

Istio 1.8主要还是关于稳定性和操作体验,但也引入了一些有趣的(实验性)功能,特别是围绕服务网中的外部虚拟机。

Backyards1.5将Istio 1.8作为默认安装选项。Backyards Istio发行版仍然与上游Istio完全兼容,同时在上面增加了一些功能,如FIPS合规性、自定义资源管理的入口和出口网关,或围绕多集群拓扑结构的增强。我们的发行版并没有在众所周知的Istio概念之上添加新的抽象层,所以你可以期待一切都像在上游Istio集群中一样工作。

新版本中一些影响较大的变化是。

  • 工作负载本地DNS解析,以简化虚拟机集成和多集群
  • 当外部虚拟机加入网状结构时,自动创建WorkloadEntries ,从而实现外部虚拟机的自动注册
  • 网关证书从istiod ,而不是直接在网关豆荚中分发。
  • 通过Kubernetes CSR API与外部CA集成
  • EnvoyFilter 通过允许新的关键词来改进描述符,例如REPLACE
  • 混合器现在被完全删除

要了解更多关于Istio新版本的信息,请阅读官方公告,或我们自己关于Istio 1.8的博文

总结 🔗︎

1.5版本是朝着我们的愿景迈出的又一步,即Backyards成为SRE和运营团队的首选解决方案,在Istio服务网格的坚实基础上,获得关于服务的有意义的可观察性信息,跟踪服务健康状况,并调试生产问题。

在你自己的集群上查看Backyards的运行情况!

注册一个评估版并运行一个简单的安装命令吧

正如你可能知道的,思科最近收购了Banzai Cloud。目前我们正处于过渡期,正在转移我们的基础设施。联系我们,我们可以讨论你的需求和要求,并组织一次现场演示。

想了解更多吗?请与我们联系,或深入了解最新版本的细节。

或者只是看看Backyards为你自动化和简化的一些Istio功能,我们已经在博客中介绍过了。