0
点赞
收藏
分享

微信扫一扫

Rancher Dashboard 面向海量资源管理的产品优化

河南妞 2022-10-25 阅读 41

作者:刘研,SUSE UI 工程师

介绍

Rancher Dashboard UI, 又名 Cluster Explorer, 是使用 Vue.js 和 NuxtJS 构建的 Rancher API 的 ”无状态” 客户端。它通常被构建和打包为静态 HTML/CSS/JS 文件,这些文件捆绑到 Rancher 发行版中。

登录用户可以管理所有被授权访问的 k8s 集群资源,并可以对大部分类型资源以表单的方式进行编辑,而不是编辑 YAML。

概述

Rancher Dashboard UI 团队非常重视前端用户的使用体验,每次发版都会让 Rancher Dashboard UI 的性能进一步优化,让 Rancher Dashboard UI 操作更加流畅,资源显示更加快速,资源占用进一步减少。

随着集群规模不断变大,资源数量越来越多,部分用户开始发现 Rancher Dashboard UI 页面显示速度变得缓慢,长时间停留在 loading 页面,针对这个问题 Rancher Dashboard UI 从 v2.6.7 版本开始将这部分优化设置暴露出来,给用户更多的自主权。本文将介绍两种改善页面显示速度、提高 UI 响应性能的设置。

一、增量加载

Rancher Dashboard UI v2.6.7 版本开始支持启用或禁用增量加载数据功能,并可设置对应的阈值,如果资源数量超出阈值,则进行增量加载数据。预计在 v2.6.9 版本中将默认启用该功能。

启用资源增量加载后:

  1. 大数据量下,进入相关资源页面不用再等待所有数据都返回后再显示页面,即用户不用再长时间面对 loading 页面了,可以更快地进入页面看到数据。
  2. 增量加载数据,进度可视化。可以看到当前加载进度(每个版本升级都可能对加载进度 UI 进行改善,注意关注)。

Rancher Dashboard 面向海量资源管理的产品优化_Rancher

  1. 增量加载资源阈值可配。用户可以根据实际情况,比如网络速度、资源总量等情况,设置资源在大于多少数量时,启用增量加载。

Rancher Dashboard 面向海量资源管理的产品优化_K8s_02

  1. 启用增量加载后,前端会分页加载资源,避免一次请求加载过多资源,让前端用户长时间等待,同时避免增加后端服务的内存压力和网络压力,一举两得。

Rancher Dashboard 面向海量资源管理的产品优化_Kubernetes_03

具体设置菜单为:​​Global Settings​​​ -> ​​Performance​​​,​​Enable incremental loading​​ 选项,启用并根据实际情况设置阈值。

Rancher Dashboard 面向海量资源管理的产品优化_K8s_04

手动刷新数据列表

Rancher Dashboard UI 从 v2.6.7 版本开始支持启用或禁用手动刷新列表数据,如果资源数量超出阈值,UI 不会自动更新列表数据。

启用手动刷新列表数据后:

  1. 列表数据不会自动更新,用户须手动刷新列表视图。

Rancher Dashboard 面向海量资源管理的产品优化_Kubernetes_05

  1. 因为 UI 不会 watch 某些类型资源的变更,并减少了服务端 watch 资源数量和推送相关类型资源的变更,从而降低了服务器端网络和内存的压力。
  2. 因为 UI 不会收到相关类型资源频繁的变更推送,不会更新缓存,列表数据不会自动更新,这就使 UI 操作变得更加流畅。

这个功能还有很大的改善空间,未来会持续改进这个功能。

具体设置菜单为:​​Global Settings​​​ -> ​​Performance​​​ ​​Enable manual refresh of data for lists​​ 选项启用,并根据实际情况设置阈值。

Rancher Dashboard 面向海量资源管理的产品优化_Kubernetes_06

目前支持增量加载数据和手动刷新列表数据功能的资源类型包括:​​POD​​​,​​STATEFUL_SET​​​,​​DAEMON_SET​​​,​​CRON_JOB​​​,​​JOB​​​,​​SECRET​​​,​​DEPLOYMENT​​等,后续的版本将会支持更多类型资源,敬请关注。

举报

相关推荐

0 条评论