|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
UI 服务器端分页
服务器端分页(SSP)是 Rancher 的一项功能,旨在为高计数资源的 UI 提供显著的性能提升,限制浏览器获取和存储在内存中的资源数量。
请注意,SSP 是可选的,默认启用,可以通过功能标志 ui-sql-cache 禁用。
磁盘空间
|
在升级到 Rancher v2.12.0 及更高版本之前,务必检查节点上的可用磁盘空间并进行相应规划,以避免潜在的磁盘压力和 Pod 驱逐问题。 |
SSP 依赖于一种缓存机制,这为集群节点引入了对临时磁盘空间的新要求。此缓存是一个内部 SQLite 数据库,存储在容器的文件系统中。这会影响运行 Rancher 服务器 Pod 的节点(在本地群集的 rancher cattle-system`名称空间中)和运行 Rancher 代理 Pod 的节点(在所有下游群集的 `cattle-cluster-agent `cattle-system`名称空间中)。
所需的磁盘空间是动态的,取决于在 UI 中可视化的 Kubernetes 资源的数量和大小。作为指导,缓存可能消耗大约 原始 Kubernetes 对象大小的两倍 的空间。
例如,内部测试显示,缓存 5000 个 ConfigMap,总计 50 MB,消耗了 81 MB 的磁盘空间。对于保守的高层估计,您可以计划每个相关节点的可用磁盘空间至少为 您的 etcd 快照大小的两倍。对于大多数生产环境,确保相关节点上有几个额外的千兆字节存储是一个安全的起点。
请注意,这个空间会计入您可能为 Rancher 容器通过 Helm 图表中的 resource 值设置的 临时存储 请求和限制。确保这些设置提供充足的可用空间。
如果您在 Pod 日志中看到错误 database or disk is full (13),这表明需要分配更多空间。
基于 SQLite 的缓存将任何缓存的 Kubernetes 对象的副本持久化到磁盘。如果这涉及安全问题,请参见 加密基于 SQLite 的缓存。
启用服务器端分页
-
在左上角,点击 ☰ > 全局设置 > 功能标志。
-
找到
ui-sql-cache并选择 ⋮ > 激活 > 激活. -
等待 Rancher 重新启动。这也会重新启动所有下游集群上的代理。
-
使用浏览器按钮重新加载页面(或等效的键盘组合,通常在 Windows 和 Linux 上是
CTRL + R,在 macOS 上是⌘ + R)。
禁用服务器端分页
-
在左上角,点击 ☰ > 全局设置 > 功能标志。
-
找到
ui-sql-cache并选择 ⋮ > 停用 > 停用。 -
等待 Rancher 重新启动。这也会重新启动所有下游集群上的代理。
-
使用浏览器按钮重新加载页面(或等效的键盘组合,通常在 Windows 和 Linux 上是
CTRL + R,在 macOS 上是⌘ + R)。
加密基于 SQLite 的缓存
UI 服务器端分页将任何缓存的 Kubernetes 对象的副本持久化到磁盘。如果您担心这些数据的安全性,可以通过在上游集群的 rancher pod 和下游集群的 cattle-cluster-agent pod 中将环境变量 CATTLE_ENCRYPT_CACHE_ALL 设置为 true,在持久化到磁盘之前加密所有对象。
无论上述设置如何,机密和安全词元始终是加密的。
UI 服务器端分页的已知限制
此版本提高了在 local 或下游集群中查看、创建或编辑资源的大多数页面的性能,即集群浏览器视图。然而,与 RBAC 相关的资源和集群浏览器之外的区域尚未被此功能覆盖。
此外,启用该功能时存在以下限制。这些主要围绕受影响列表中的不同排序或过滤行为:
-
列表中的资源会自动更新,但不是瞬时更新。
-
所有使用服务器端分页的列表:
-
State列的排序和过滤功能在资源metadata.state.name字段上工作,而不是由 UI 本地推导出的字段。 -
更新每 5 秒显示一次,而不是瞬时显示。
-
-
集群浏览器:
-
项目/命名空间过滤器不支持通过
Not in a Project条目过滤不在项目中的所有命名空间。 -
Cluster组 -→Nodes页面-
以下列无法排序或过滤:
Roles、External/Internal IP、CPU、RAM(其值的逻辑在浏览器中计算)
-
-
Workloads列表:-
显示多种不同资源类型的
Workloads列表已被移除。-
当前无法进行多个资源的服务器端分页。
-
-
-
Workloads组 -→ 所有列表-
Pod Restarts和Workload Health列已被移除。
-
-
Workloads组 /Job列表-
Duration不能排序(按持续时间排序)。
-
-
Workloads组 /Pod列表-
Images不能排序(按数组排序)。
-
-
Service Discovery组 /Ingresses-
Default不能排序/过滤(其值的逻辑在浏览器中计算)。
-
-
Storage组 /ConfigMaps-
Data不能排序/过滤(其值的逻辑在浏览器中计算)。
-
-
Storage组 /Secrets-
Data不能排序/过滤(其值的逻辑在浏览器中计算)。
-
-