那这一系列变革,对你这个使用 Rancher 的技术工程师来说,有什么实打实的好处?

  • 异常灵敏的 UI 体验:最直接的收益是,当你在 Cluster Explorer 中浏览成千上万条资源(如 Pods、Secrets、ConfigMaps 等)时,排序、过滤、翻页操作会感觉非常迅捷流畅,因为计算已在服务器端完成。
  • Kubernetes API 服务器负担减轻:由于大量 UI 数据请求可以直接从缓存返回,Vai 显著减少 Rancher 向下游 API 服务器发起的 LIST 和 GET 请求次数。这不仅对 Rancher 有利,也能改善被管理集群的健康和性能,为你的实际工作负载释放更多 API Server 资源。

 图 1:Rancher 2.11.1 上的 kubapiserver 负载,这是 QA 测试的一部分。Steve 的 "list" 负载由 k6 生成,然后 Steve 又加载 Kubernetes API Server,此处由 Rancher Monitoring 进行监控。

 图 2:Rancher 2.12.1(启用 Vai)上的 kubapiserver 负载,这是 QA 测试的一部分。更重的 Steve "list" 负载由 k6 生成(比上图高出 10 倍),而 Kubernetes API Server 的负载几乎未受影响。

  • 为更丰富的数据洞察建立基础:使用 SQLite 为后端存储为未来 Rancher 版本提供了 SQL 引擎的灵活性。未来可以做更复杂的查询,比如在服务器端直接 JOIN 多种 Kubernetes 资源进行汇总视图。以前在无 Vai 的情况下,这类操作通常需要多个大型 LIST,然后在浏览器端进行映射、JOIN,资源消耗极大。
  • Rancher 更具可扩展性:这些效率提升意味着 Rancher 自身可以更有效地管理更多、更大的集群。其控制平面组件(如 Steve)也变得更加节省资源。
  • 效率提升,减少等待:更快、更可靠的 UI 意味着你等待的时间更少,能做的事情更多。这正是我们设计 Vai 的出发点之一:避免一个缓慢的 Dashboard 给用户留下不好的印象并削弱生产效率。

总之,Vai 是一个基础性组件,能帮助 Rancher 随着你的需求扩展。它确保即便你的 Kubernetes 规模增长得很大,Rancher 仍然是一款强劲、高性能的工具。同时,这种改进也为未来更高级的功能铺路 ------ 响应式的数据访问层常常是许多高级特性的前提。

安全考虑:保护你的数据

谈到数据管理,特别是来自你 Kubernetes 集群的数据,安全问题至关重要。因为 Vai 会将 Kubernetes 对象的副本缓存到 Rancher server pod(对于本地集群)或 cattle-cluster-agent pod(对于下游集群)的磁盘上,我们在设计时就把 "静态加密"(encryption-at-rest)纳入了架构之中。

具体来说,我们内建了两道防线:

  • 可选的全缓存加密 :若你对 SQLite 缓存中的数据在磁盘上的安全性有顾虑,可以通过在相应的 Rancher 或 agent pod 中设置环境变量 CATTLE_ENCRYPT_CACHE_ALL=true 来启用对所有缓存对象的加密。
  • Secrets 和 Tokens 始终加密:无论你是否开启全缓存加密,Kubernetes Secrets 和 Rancher Tokens 在缓存中始终被加密。这为最敏感的信息提供了最低保护门槛。

加密机制本身采用 AES-GCM,使用一个驻内存的 Key-Encryption Key(KEK)来加密 / 解密 Data Encryption Keys(DEKs)。这些 DEK 用于加密实际资源数据,并且定期轮换以增强安全性。

此外,还有一个重要的安全考量是访问控制(RBAC、权限控制等):由于我们改变了缓存逻辑,必须确保政策和权限机制在启用 Vai 后仍然得到尊重。为此,我们与安全团队密切合作,执行深入的审查和自动化测试(启用与未启用 Vai 的场景同时测试),以确保一致性。

Rancher 性能的未来之路

Vai 代表了 Rancher 在大规模数据处理方面的一次重大进步,但这并不是终点。这个特性正走在成为 Rancher 体验核心的一条路径上。

在 Rancher 2.11 及之前的版本中,Vai 被视为实验性功能 ,默认关闭。但令人振奋的是,从 Rancher 2.12 开始,Vai 被认为是可用于生产环境的特性,并在默认情况下被启用且受 SUSE 支持。对我们来说,这可是一个重要里程碑,我们将继续根据真实使用反馈来增强它。

更进一步地,我们才刚刚开始挖掘底层 SQL 引擎所提供的额外灵活性。我们预期会利用这一基础,在未来丰富 Rancher 的数据摘要和洞察功能。我们的终极目标是,在未来的某个版本中,让这个强大的性能引擎默认开启,使得高度可扩展的 UI 成为每个人的标准体验。

帮我们测试与完善 Vai!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐