跳至主要内容

UI 伺服器端分頁

伺服器端分頁(SSP)是 Rancher 的一項功能,可為具有高數量資源的 UI 提供顯著的效能改善,限制瀏覽器提取和儲存在記憶體中的資源數量。

請注意,SSP 是選用的,預設啟用,可以透過功能旗標 ui-sql-cache 停用。

磁碟空間​

important

在升級到 Rancher v2.12.0 及更高版本之前,請務必檢查節點上的可用磁碟空間並相應地進行規劃,以避免潛在的磁碟壓力和 Pod 驅逐問題。

SSP 依賴於快取機制,該機制引入了對叢集節點上臨時磁碟空間的新需求。此快取是內部 SQLite 資料庫,儲存在容器的檔案系統中。這會影響執行 Rancher 伺服器 Pod(本機叢集上 cattle-system 命名空間中的 rancher)的節點和執行 Rancher 代理 Pod(所有下游叢集上 cattle-system 命名空間中的 cattle-cluster-agent)的節點。

所需的磁碟空間量是動態的,取決於 UI 中視覺化的 Kubernetes 資源的數量和大小。作為指南,快取可能會消耗其儲存的原始 Kubernetes 物件大小的大約兩倍。

例如,內部測試顯示,快取 5000 個 ConfigMap(總計 50 MB)消耗了 81 MB 的磁碟空間。作為保守的高階估計,您可以規劃每個相關節點上的可用磁碟空間至少為 etcd 快照大小的兩倍。對於大多數生產環境,確保相關節點上有幾個額外的 GB 儲存空間是一個安全的起點。

請注意,此空間會計入您可能透過 Helm 圖表中的 resource 值為 Rancher 容器設定的臨時儲存請求和限制。請確保這些設定提供充足的可用空間。

如果您在 Pod 日誌中看到錯誤 database or disk is full (13),這表示需要分配更多空間。

SQLite 支援的快取會將任何快取的 Kubernetes 物件的副本持久化到磁碟。如果這是安全性問題,請參閱加密 SQLite 支援的快取。

啟用伺服器端分頁​

  1. 在左上角,點擊 ☰ > 全域設定 > 功能旗標。
  2. 找到 ui-sql-cache 並選擇 ⋮ > Activate > Activate。
  3. 等待 Rancher 重新啟動。這也會重新啟動所有下游叢集上的代理。
  4. 使用瀏覽器按鈕重新載入頁面(或等效的鍵盤組合,通常在 Windows 和 Linux 上為 CTRL + R,在 macOS 上為 ⌘ + R)。

停用伺服器端分頁​

  1. 在左上角,點擊 ☰ > 全域設定 > 功能旗標。
  2. 找到 ui-sql-cache 並選擇 ⋮ > Deactivate > Deactivate。
  3. 等待 Rancher 重新啟動。這也會重新啟動所有下游叢集上的代理。
  4. 使用瀏覽器按鈕重新載入頁面(或等效的鍵盤組合,通常在 Windows 和 Linux 上為 CTRL + R,在 macOS 上為 ⌘ + R)。

加密 SQLite 支援的快取​

UI 伺服器端分頁會將任何快取的 Kubernetes 物件的副本持久化到磁碟。如果您擔心此資料的安全性,可以在將物件持久化到磁碟之前將所有物件加密,方法是在上游叢集中的 rancher Pod 和下游叢集中的 cattle-cluster-agent Pod 中將環境變數 CATTLE_ENCRYPT_CACHE_ALL 設定為 true。

無論上述設定如何,Secret 和安全性權杖始終都會加密。

UI 伺服器端分頁的已知限制​

此版本改善了用於在 local 或下游叢集(即叢集瀏覽器檢視)中檢視、建立或編輯資源的大多數頁面的效能。但是,與 RBAC 相關的資源和叢集瀏覽器之外的區域尚未涵蓋在此功能中。

此外,當啟用該功能時,存在以下限制。這些主要圍繞受影響列表中的不同排序或過濾行為:

  • 列表中的資源會自動更新,但不是即時的。
  • 所有使用伺服器端分頁的列表:
    • State 欄排序和過濾功能在資源的 metadata.state.name 欄位上運作,而不是由 UI 在本機推斷的欄位。
    • 更新每 5 秒顯示一次,而不是即時顯示。
  • 叢集瀏覽器:
    • 專案/命名空間過濾器不支援透過 Not in a Project 條目過濾不在專案中的所有命名空間。
    • Cluster 群組 --> Nodes 頁面
      • 以下欄無法排序或過濾:Roles、External/Internal IP、CPU、RAM(確定其值的邏輯在瀏覽器中計算)
    • Workloads 列表:
      • 顯示多個不同資源類型的 Workloads 列表已被移除。
        • 目前無法對多個資源進行伺服器端分頁。
    • Workloads 群組 --> 所有列表
    • Workloads 群組 / Job 列表
    • Workloads 群組 / Pod 列表
      • Images 無法排序(對陣列進行排序)。
    • Service Discovery 群組 / Ingresses
      • Default 無法排序/過濾(確定其值的邏輯在瀏覽器中計算)。
    • Storage 群組 / ConfigMaps
      • Data 無法排序/過濾(確定其值的邏輯在瀏覽器中計算)。
    • Storage 群組 / Secrets
      • Data 無法排序/過濾(確定其值的邏輯在瀏覽器中計算)。