Prometheus v2.25.0 发布

Prometheus 是 CNCF 毕业项目,作为一个系统和服务监视系统,它能以给定的时间间隔从已配置的目标收集指标,评估规则表达式,显示结果,并在观察到指定条件时触发警报。近日,Prometheus v2.25 正式发布。该版本有一个 --enable-feature= 的 flag,启用了一些实验功能,这些功能未来可能会更改会删除。另外,在下个版本(v2.26.0)中,Prometheus 将使用 AlertManager API v2。AlertManager API v2 是在 AlertManager v0.16.0 中发布的(2019 年 1 月发布)。以下是 v2.25.0 版本的部分重点内容:

  • [功能] 实验 API:接受 remote_write 请求,放在 --enable-feature=remote-write-receiver flag 后。#8424
  • [增强] 向 testgroup 添加可选的 name 属性,以获得更好的测试失败输出。#8440
  • [增强] 在图页的反应面板中添加警告。#8427
  • [增强] Kubernetes SD:添加端点标签元数据。#8273
  • [BUGFIX] Remote:日志可恢复远程写入错误作为警告。#8412
  • [BUGFIX]UI:修复 /targets 页面上的重复键。#8456
详情见:https://github.com/prometheus/prometheus/releases/tag/v2.25.0

Dapr v1.0 发布

Dapr 是微软开源的一款可移植的、事件驱动的分布式应用程序运行时,可帮助开发者快速地在云端或边缘场景构建弹性的、有状态或无状态的微服务应用。Dapr 由一组标准 HTTP 或 gRPC API 访问的构建块组成,这些构建块可从任何编程语言调用。

2 月 17 日,Dapr v1.0 正式发布。Dapr v1.0 的一些重要更新包括:

  • 使用 Kubernetes 作为生产环境。对于 Dapr v1.0,Kubernetes 是主要的托管环境,并且与 Dapr 控制平面和 Dapr Sidecar 架构深度集成。
  • 性能,一致性和支持。Dapr 重视高性能,具有极低的服务到服务延迟,并且已针对高吞吐量方案做了优化。此外,Dapr 社区开发了 70 多个组件,并且通过了一组一致性测试。
  • 安全性。Dapr 认识到基于微服务架构构建安全的现代分布式应用程序具有极高的安全复杂性,因此进行了多轮独立安全审计。
  • 语言和 SDK。Dapr 的语言、框架和工具涵盖了所有开发人员社区。通过 HTTP 和 gRPC 协议,Dapr 可以在任何编程语言中使用,且在编译时不需要包括任何依赖项。
详情见:https://blog.dapr.io/posts/2021/02/17/announcing-dapr-v1.0/

OpenTelemetry v1.0 发布

OpenTelemetry 是一组提供完整的云原生应用程序可观察性的标准、库、SDK 和 agents 的集合。上周,OpenTelemetry v1.0 发布,目前可在 Erlang、Java、.NET 和 Python 中获得实现该规范的 API 和 SDK 候选版本。OpenTelemerty v1.0 的追踪能力和稳定性得到了提升:

  • Tracing API 达到稳定:这意味着针对 tracing API 编写的所有工具都将与未来的次要版本兼容,并且在下一个主要版本的 OpenTelemetry API 之后至少要获得三年的支持。这是最重要的稳定性保证,因为它使应用程序开发人员可访问新的 OpenTelemetry 功能(例如,metrics 监控和日志记录)而无需重写现有工具。
  • Tracing SDK 达到稳定:这意味着环境变量、配置选项和插件将与未来的次要版本兼容,并在下一个主要版本的 OpenTelemetry SDK 推出后至少支持一年。这使运维和应用程序开发人员可接收安全补丁和对 SDK 的性能升级,无需重写集成或部署脚本。
详情见:https://medium.com/opentelemetry/opentelemetry-specification-v1-0-0-tracing-edition-72dd08936978

OpenAPI 规范 v3.1.0 发布

OpenAPI 规范(OAS)定义了一个标准的、语言无关的 RESTful API 接口规范,它可以同时允许开发人员和操作系统查看并理解某个服务的功能,而无需访问源代码、文档或网络流量检查(既方便人类学习和阅读,也方便机器阅读)。正确定义 OAS 后,开发者可以使用最少的实现逻辑来理解远程服务并与之交互。近期,OpenAPI v3.1.0 正式发布,新版本与 JSON Schema 的最新草案 100% 兼容。一些重要更新包括:

  • JSON Schema 词汇表对齐;
  • 用于描述 Webhooks 的新的 top-level element;
  • 支持使用标准 SPDX 标识符标识 API 许可证;
  • PathItems 对象是可选的,将使可重用的组件库更加简单。
详情见:https://github.com/OAI/OpenAPI-Specification/releases/tag/3.1.0

Grafana 发布企业版日志工具

2 月 17 日,Grafana Labs 发布了新产品:Grafana Enterprise Logs(GEL)。GEL 是基于开源项目 Loki 的商业产品,允许企业在自己的数据中心部署高度可扩展,简单且可靠的日志记录集群。GEL 的一些 Feature 包括:

  • 实例管理:在单个 GEL 集群上可以轻松扩展日志实例。每个实例都提供了集群的隔离,逻辑分隔。通过直接使用内置 API 或官方的 GEL 插件,运维人员可以完全控制集群上正在运行的实例。
  • 基于令牌的身份验证:使用可配置的访问参数创建和管理令牌,以与日志记录实例进行交互。
  • OSS Loki 兼容性:将 GEL 二进制文件无缝放入现有的 Loki 部署中。

Grafana 的 CTO Anthony Woods 表示:Grafana Enterprise Logs 允许在已有的日志中使用 grep 过滤器进行搜索。当你感到“我不完全知道我要寻找的东西,但我知道我不想要的东西”的时候,Grafana Enterprise Logs 可以帮助你进行排除和过滤,直到找到你所需的日志和错误为止。

详情见:https://grafana.com/blog/2021/02/17/introducing-grafana-enterprise-logs-a-core-part-of-the-grafana-enterprise-stack-integrated-observability-solution/

本周 K8s 开源项目推荐

ksniff

  • 这是一个 kubectl 插件,可以通过 tcpdump 和 Wireshark 在 Kubernetes 集群中的任何 Pod 上启动远程捕获。
  • github.com/eldadru/ksniff

kubeconform

  • 这是一个 Kubernetes manifest 验证工具。
  • github.com/yannh/kubeconform

nova

  • 它会查找集群中运行的过时 Helm 图表。
  • github.com/fairwindsops/nova

admiral

  • 它可以为多集群 Istio 服务网格提供自动配置和服务发现。
  • github.com/istio-ecosystem/admiral

powerfulseal

  • 它可以将故障注入 Kubernetes 集群,以便尽早发现问题。
  • github.com/powerfulseal/powerfulseal

tempo

  • Grafana Tempo 是一个易于使用的大规模分布式跟踪后端,仅需要对象存储即可运行,并且与 Grafana、Prometheus 和 Loki 深度集成。
  • github.com/grafana/tempo