KubeSphere 宣布开源 Thanos 的企业级发行版 Whizard
日前,青云科技宣布开源 Thanos 的企业级发行版 Whizard,为企业带来真正高可用、可扩展、可存储与查询海量监控数据、易运维、安全的 Prometheus 长期存储方案。
Prometheus 已经成为云原生监控领域事实上的标准,但 Prometheus 并没有解决企业用户对高可用、可扩展、可存储与查询海量监控数据、易运维等方面的需求。Thanos 作为云原生社区主流的 Prometheus 长期存储项目,提供了 Prometheus 高可用、可存储与查询海量监控数据等能力,但也存在组件及参数众多,上手门槛较高;运维及水平扩展均需手动配置,比较繁琐且易出错;某些组件无水平扩展能力;各组件安全配置繁琐或欠缺等问题。
为了解决上述这些企业级用户的需求,青云科技 KubeSphere 可观测团队于 2021 年立项开始开发 Thanos 的企业级发行版 Whizard 并于 2022 年发布了第一版,至今已发布了 8 个大小版本。自 KubeSphere Enterprise v3.3.1 基于 Whizard 发布了可对海量 K8s 集群及边缘节点进行监控告警的 Whizard 可观测中心以来,经过 KubeSphere Enterprise v3.4.0,v3.5.0, v4.1.0 等多个企业版本的打磨,Whizard 已日臻成熟,具有很多独特的功能与亮点。
功能亮点:
- 云原生化部署与运维:所有组件均支持以 CRD 的方式定义与维护,更易于配置与运维。包括 Thanos 的 Router, Ingester, Compactor, Store, Query, QueryFrontend, Ruler 等组件以及 Whizard 引入的 Service, Tenant, Storage 等。
- 基于租户的自动水平扩展机制:基于 CPU 与 Memory 的 HPA 对于稳定性要求更高的企业级有状态工作负载并不是最好的选择,为此 Whizard 创造性地引入了基于租户的工作负载水平伸缩机制。Ingester,Compactor,Ruler 等均支持随着租户的创建与删除进行水平伸缩,保证租户工作负载稳定运行的同时,提供了租户级别的水平扩展与资源回收机制。
- 适配 K8s 多集群管理:为了对 K8s 多集群监控告警提供更好的支持,Whizard 的维护者开发了 whizard-adapter ,可根据 K8s/KubeSphere 集群的创建与删除自动创建或删除 Whizard 的租户,进而触发 Thanos 有状态工作负载的自动水平伸缩。
- 规则计算更好的扩展性:Thanos 原生的 Ruler 的水平扩展性并不好,无法满足海量 K8s 集群(租户)的 Alerting Rules 与 Recording Rules 的计算需求。为此 Whizard 的维护者为每个租户引入了专属的 Ruler,其可随着租户的生命周期自动创建与删除;除了租户专属的 Ruler, Whizard 的维护者还引入了全局 Ruler 的分片机制,用于满足跨海量集群(租户)的全局规则(Alerting rules or Recording Rules)计算需求; 此外 Thanos Ruler 目前尚不支持将计算后的各租户的 recording rules 分别写入各自租户的 Ingester,Whizard 的维护者为此也做了额外的支持。
- 更细粒度的规则管理:目前社区流行用 PrometheusRule 来管理 Prometheus recording rules 及 alerting rules,这种方式存在的问题是 PrometheusRule 里存在属于多个规则组的多条规则,粒度过大,不宜并发编辑与维护。为了解决这个问题,Whizard 维护者引入了更细粒度的 RuleGroup 的 CRD 用于管理属于一个规则组内的所有规则;此外还引入了 3-tiers 的 RuleGroup 管理机制,RuleGroup 用于管理某一 namespace 下的规则组;ClusterRuleGroup 用于管理某一集群范围内的集群规则组;GlobalRuleGroup 用于管理扩跨多集群范围的全局规则组;在做到更细粒度规则管理的同时,满足了企业用户对不同权限范围的规则进行单独管理的需求。
- 支持对象存储网关 Store 的按时间分片查询:Thanos 通过将 Prometheus 的数据写入对象存储并支持从对象存储查询海量的监控数据,如果查询的时间范围过大,会导致 Store 占用资源过多,为止 Whizard 的维护者为 Store 加入了按时间分片查询的机制,用户可以根据要查询的时间段分别创建不同的 Store CRD。
- 引入 Gateway 及 Agent Proxy 以对数据的写入与读取进行更好的控制:客户端如 Prometheus Agent 或 Prometheus 无需直接与 Gateway 交互,通过 Whizard Agent Proxy 即可代理数据写入与查询请求至 Whizard Gateway,Whizard Gateway 进而可根据租户的权限放行或拒绝查询或写入请求。
- 支持企业级的安全需求:企业用户通常对安全性有更高的需求。Whizard 除了支持组件间更方便的配置 tls 之外,还将 Thanos 的 WebUI 通过 Whizard Gateway 暴露出来并支持 Basic Auth 与 OAuth2-Proxy 两种认证方式,企业用户可以更安全的访问 Thanos 的 WebUI.
- 更方便的 2-Tiers 组件配置:Whizard 支持 Service 与 Comopnents 两级组件配置,通用的配置可放在全局的 Servce 里做统一配置,各租户的所有组件共用;特殊的定制化配置可放在单独的 Component 里做个性化的定制。
开源贡献:
作为 Thanos 的企业级发行版,Whizard 的维护者也积极参与到了 Thanos 项目的维护中去,多次提交 PRs。
未来展望:
通过 Whizard 的开源,KubeSphere 可观测团队希望 KubeSphere 在企业级多集群监控与告警方面的经验惠及更多的企业用户,也希望更多开发者参与共建 Whizard 项目。除此之外,KubeSphere 历年多个版本累积下来的可观测能力将逐渐统一在 WhizardTelemetry 可观测平台中持续演进,涵盖监控、告警、通知、日志、事件、审计、事件告警等多种可观测信号(详见 KubeSphere Enterprise v4.1.0 版本说明)。未来 KubeSphere 可观测团队还会对 AI Infra 的可观测进行更好的支持;结合大模型应用的可观测支持符合 OpenTelemetry 标准的 Tracing;还计划在 eBPF 赋能可观测方面做出积极探索,并可能开源相关项目。
获取 Whizard:
Whizard 的文档还在完善中,目前可通过 Whizard 的 GitHub 仓库获取 Whizard 的安装及使用方法,也可以通过 KubeSphere 社区获得更多支持。
欲了解更多云原生产品动态和合作资讯,请访问 KubeSphere 网站:https://kubesphere.com.cn/。
本文由博客一文多发平台 OpenWrite 发布!
KubeSphere 宣布开源 Thanos 的企业级发行版 Whizard的更多相关文章
- 主流 Kubernetes 发行版梳理
2014 年,Kubernetes 作为内部 Google orchestrator Borg 开源版本推出,目前已是最成功和发展最快的 IT 基础架构项目之一.2018 年,Kubernetes 已 ...
- AWS 为 Elasticsearch 推出开源发行版
WS 近日宣布为 Elasticsearch 推出开源发行版 Open Distro for Elasticsearch. Elasticsearch 是一个分布式.面向文档的搜索和分析引擎,它支持结 ...
- 阿里开源 OpenJDK 发行版 Dragonwell
日有消息显示,阿里将于 21 日重磅发布其 OpenJDK 发行版 Alibaba Dragonwell. 我们知道 OpenJDK 是基于 GPL v2/Classpath Exception 的 ...
- Hadoop各商业发行版之比较
Hadoop的发行版除了社区的Apache hadoop外,cloudera,hortonworks,mapR,EMC,IBM,INTEL,华为等等都提供了自己的商业版本.商业版主要是提供了专业的技术 ...
- 2016 最佳 Linux 发行版排行榜
2015年,不管在企业市场还是个人消费市场都是 Linux非常重要的一年.作为一个自2005年起就开始使用 Linux的 Linuxer ,我门见证了 Linux在过去十年的成长.2016 Linux ...
- 2016年最佳Linux发行版排行榜
2015年,不管在企业市场还是个人消费市场都是 Linux 非常重要的一年. 最好的回归发行版:openSUSE openSUSE 背后的 SUSE 公司是最老的 Linux 企业,它成立于 Linu ...
- Linux发行版大全
基于Debian Adamantix:基于Debian,特别关注安全. Amber Linux:基于Debian,针对拉脱维亚用户作了一些定制. ASLinux Desktop:西班牙语,基于D ...
- 盘点十大最流行的Linux服务器发行版
随着Linux不断发展,Linux所支持的文件系统类型也在迅速扩充.很多的数据中心服务器上都运行着Linux,可以节省大量的许可证费用及维护费用.但伴随着Linux新版本的发行,其中每一个不同版本的L ...
- 2016年如何选择 Linux 发行版
不管是在企业级应用还是在消费者领域,2015 对于 Linux 来说都是极其重要的一年.作为一个从 2005 年就开始使用 Linux 的老用户,我有幸见证了 Linux 过去这 10 年里的重大发展 ...
- Linux的发行版,不同发行版之间的联系和区别
Linux 主要作为Linux发行版(通常被称为"distro")的一部分而使用.这些发行版由个人,松散组织的团队,以及商业机构和志愿者组织编写.它们通常包括了其他的系统软件和应用 ...
随机推荐
- 【转载】 使用Python的ctypes查看内存
=================================================================== 原文地址: https://zhuanlan.zhihu.com ...
- Visual Studio 个人配置和插件
主题和字体 一般为黑色深色主题,看起来比较舒服. 字体使用Fira Code,好处就是它把 =>和!=换成更加熟悉的表示.就比如以下.缺点就是习惯之后,看别人的代码就不习惯. 插件 当然是首推R ...
- ×被替换成x 的解决办法
今天写代码遇到一个很有趣的问题: 在php中使用echo 输出url的时候当url中包含×字段时就会被html直接解析成 x (乘号)这样一来我返回的地址就不能正常访问url了: 解 ...
- JVM指令大全之不太全系列
一.未归类系列A 此系列暂未归类. 指令码 助记符 说明0x00 nop ...
- 朋友吐槽我为什么这么傻不在源生成器中用string.GetHashCode, 而要用一个不够优化的hash方法
明明有更好的hash方法 有位朋友对我吐槽前几天我列举的在源生成器的生成db映射实体的优化点 提前生成部分 hashcode 进行比较 所示代码 public static void Generate ...
- SMU Autumn 2023 Round 1(Div.1)
SMU Autumn 2023 Round 1(Div.1) A. Set or Decrease(枚举) 题意就是你可以进行两种操作,将\(a_i-1\)或者令\(a_i\)等于\(a_j\),然后 ...
- 重装win10
作者:最强近战SCV链接:https://www.zhihu.com/question/54059979/answer/618694754来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业 ...
- 全网最适合入门的面向对象编程教程:37 Python常用复合数据类型-列表和列表推导式
全网最适合入门的面向对象编程教程:37 Python 常用复合数据类型-列表和列表推导式 摘要: 在 Python 中,列表是一个非常灵活且常用的复合数据类型.它允许存储多个项,这些项可以是任意的数据 ...
- Kubernetes 初学部署遇到的问题
### Kubernetes 部署文档(CentOS 7.9) 本文采用centos9 截至2024年8月21日官网已经不再提供其他下载 直接用最新版即可 1. CentOS 7.9 内核版本问题 截 ...
- 程序员失业日记4:半个月拿下4个offer
上篇文章很多小伙伴留言也讲到自己被公司裁员,还有的细心的小伙伴说去年九月就被裁了,在看一下文章的发布时间,绷不住了.先和大家说一下,我已经找到工作,因为最近工作一直都很忙,加上自己也比较懒,所以就拖了 ...