From 0fe8d056a3a6f899d3f85985433dd75381a4c38c Mon Sep 17 00:00:00 2001 From: Sunil Singh Date: Tue, 22 Jul 2025 16:27:58 -0700 Subject: [PATCH 1/5] Updating pages wrt ui-sql-cache FF combining functionality with Server-Side Pagination, and becoming enabled by default in Rancher v2.12.0. Signed-off-by: Sunil Singh --- .../installation-references/feature-flags.md | 31 ++++++------- .../ui-server-side-pagination.md | 46 +++++++++++++++---- .../installation-references/feature-flags.md | 31 ++++++------- .../ui-server-side-pagination.md | 46 +++++++++++++++---- 4 files changed, 102 insertions(+), 52 deletions(-) diff --git a/docs/getting-started/installation-and-upgrade/installation-references/feature-flags.md b/docs/getting-started/installation-and-upgrade/installation-references/feature-flags.md index 7f1093c718c..5c565be1c46 100644 --- a/docs/getting-started/installation-and-upgrade/installation-references/feature-flags.md +++ b/docs/getting-started/installation-and-upgrade/installation-references/feature-flags.md @@ -54,27 +54,26 @@ You can enable this feature on a per-cluster basis. For more information, please - `rke1-custom-node-cleanup`: Enables cleanup of deleted RKE1 custom nodes. We recommend that you keep this flag enabled, to prevent removed nodes from attempting to rejoin the cluster. - `rke2`: Enables provisioning RKE2 clusters. This flag is enabled by default. - `token-hashing`: Enables token hashing. Once enabled, existing tokens will be hashed and all new tokens will be hashed automatically with the SHA256 algorithm. Once a token is hashed it can't be undone. This flag can't be disabled after its enabled. See [API Tokens](../../../api/api-tokens.md#token-hashing) for more information. -- `uiextension`: Enables UI extensions. This flag is enabled by default. Enabling or disabling the flag forces the Rancher pod to restart. The first time this flag is set to `true`, it creates a CRD and enables the controllers and endpoints necessary for the feature to work. If set to `false`, it disables the previously mentioned controllers and endpoints. Setting `uiextension` to `false` has no effect on the CRD -- it does not create a CRD if it does not yet exist, nor does it delete the CRD if it already exists. +- `uiextension`: Enables UI extensions. This flag is enabled by default. Enabling or disabling the flag forces the Rancher pod to restart. The first time this flag is set to `Active`, it creates a CRD and enables the controllers and endpoints necessary for the feature to work. If set to `Disabled`, it disables the previously mentioned controllers and endpoints. Setting `uiextension` to `Disabled` has no effect on the CRD -- it does not create a CRD if it does not yet exist, nor does it delete the CRD if it already exists. - `unsupported-storage-drivers`: Enables types for storage providers and provisioners that aren't enabled by default. See [Allow Unsupported Storage Drivers](../../../how-to-guides/advanced-user-guides/enable-experimental-features/unsupported-storage-drivers.md) for more information. -- `ui-sql-cache`: Enables a SQLite-based cache for UI tables. See [UI Server-Side Pagination](../../../how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md) for more information. - +- `ui-sql-cache`: Enables an SQLite-based cache for UI tables and Server-Side Pagination. See [UI Server-Side Pagination](../../../how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md) for more information. The following table shows the availability and default values for some feature flags in Rancher. Features marked "GA" are generally available: | Feature Flag Name | Default Value | Status | Available As Of | Additional Information | | ----------------------------- | ------------- | ------------ | --------------- | ---------------------- | -| `aggregated-roletemplates` | `false` | Highly experimentatl | v2.11.0 | This flag value is locked on install and can't be changed. | -| `clean-stale-secrets` | `true` | GA | v2.10.2 | | -| `continuous-delivery` | `true` | GA | v2.6.0 | | -| `external-rules` | v2.7.14: `false`, v2.8.5: `true` | Removed | v2.7.14, v2.8.5 | This flag affected [external `RoleTemplate` behavior](../../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#external-roletemplate-behavior). It is removed in Rancher v2.9.0 and later as the behavior is enabled by default. | -| `fleet` | `true` | Can no longer be disabled | v2.6.0 | | -| `fleet` | `true` | GA | v2.5.0 | | -| `harvester` | `true` | Experimental | v2.6.1 | | -| `imperative-api-extension` | `true` | GA | v2.11.0 | | -| `legacy` | `false` for new installs, `true` for upgrades | GA | v2.6.0 | | -| `managed-system-upgrade-controller` | `true` | GA | v2.10.0 | | +| `aggregated-roletemplates` | `Disabled` | Highly experimental | v2.11.0 | This flag value is locked on install and can't be changed. | +| `clean-stale-secrets` | `Active` | GA | v2.10.2 | | +| `continuous-delivery` | `Active` | GA | v2.6.0 | | +| `external-rules` | v2.7.14: `Disabled`, v2.8.5: `Active` | Removed | v2.7.14, v2.8.5 | This flag affected [external `RoleTemplate` behavior](../../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#external-roletemplate-behavior). It is removed in Rancher v2.9.0 and later as the behavior is enabled by default. | +| `fleet` | `Active` | Can no longer be disabled | v2.6.0 | | +| `fleet` | `Active` | GA | v2.5.0 | | +| `harvester` | `Active` | Experimental | v2.6.1 | | +| `imperative-api-extension` | `Active` | GA | v2.11.0 | | +| `legacy` | `Disabled` for new installs, `Active` for upgrades | GA | v2.6.0 | | +| `managed-system-upgrade-controller` | `Active` | GA | v2.10.0 | | | `rke1-custom-node-cleanup`| `true` | GA | v2.6.0 | | | `rke2` | `true` | Experimental | v2.6.0 | | -| `token-hashing` | `false` for new installs, `true` for upgrades | GA | v2.6.0 | | -| `uiextension` | `true` | GA | v2.9.0 | | -| `ui-sql-cache` | `false` | Highly experimental | v2.9.0 | | +| `token-hashing` | `Disabled` for new installs, `Active` for upgrades | GA | v2.6.0 | | +| `uiextension` | `Active` | GA | v2.9.0 | | +| `ui-sql-cache` | `Active` | GA | v2.9.0 | | diff --git a/docs/how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md b/docs/how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md index f3faaf47ceb..85a43464999 100644 --- a/docs/how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md +++ b/docs/how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md @@ -6,27 +6,25 @@ title: UI Server-Side Pagination -:::caution -UI server-side pagination is not intended for use in production at this time. This feature is considered highly experimental. SUSE customers should consult SUSE Support before activating this feature. -::: - - -UI server-side pagination caching provides an optional SQLite-backed cache of Kubernetes objects to improve performance. This unlocks sorting, filtering and pagination features used by the UI to restrict the amount of resources it fetches and stores in browser memory. These features are primarily used to improve list performance for resources with high counts. +The feature flag `ui-sql-cache` is enabled by default and implements the UI server-side pagination caching. The functionality provides an SQLite-backed cache of Kubernetes objects to improve performance. This adds sorting, filtering and pagination features used by the UI to restrict the amount of resources it fetches and stores in browser memory. These features are primarily used to improve list performance for resources with high counts. This feature creates file system based caches in the `rancher` pods of the upstream cluster, and in the `cattle-cluster-agent` pods of the downstream clusters. In most environments, disk usage and I/O should not be significant. However, you should monitor activity after you enable caching. SQLite-backed caching persists copies of any cached Kubernetes objects to disk. See [Encrypting SQLite-backed Caching](#encrypting-sqlite-backed-caches) if this is a security concern. -## Enabling UI Server-Side Pagination +## Enabling via UI: `ui-sql-cache` and Server-Side Pagination 1. In the upper left corner, click **☰ > Global Settings > Feature Flags**. 1. Find **`ui-sql-cache`** and select **⋮ > Activate > Activate**. 1. Wait for Rancher to restart. This also restarts agents on all downstream clusters. -1. In the upper left corner, click **☰ > Global Settings > Performance**. -1. Go to **Server-side Pagination** and check the **Enable Server-side Pagination** option. -1. Click **Apply**. 1. Reload the page with the browser button (or the equivalent keyboard combination, typically `CTRL + R` on Windows and Linux, and `⌘ + R` on macOS). +## Disabling via UI: `ui-sql-cache` and Server-Side Pagination + +1. In the upper left corner, click **☰ > Global Settings > Feature Flags**. +1. Find **`ui-sql-cache`** and select **⋮ > Deactivate > Deactivate**. +1. Wait for Rancher to restart. This also restarts agents on all downstream clusters. +1. Reload the page with the browser button (or the equivalent keyboard combination, typically `CTRL + R` on Windows and Linux, and `⌘ + R` on macOS). ## Encrypting SQLite-backed Caches @@ -39,3 +37,31 @@ Secrets and security Tokens are always encrypted regardless of the above setting This initial release improves the performance of Pods, Secrets, Nodes and ConfigMaps in the Cluster Explorer pages, and most resources in the Explorer's **More Resources** section. Pages can't be automatically refreshed. You can manually refresh table contents by clicking the **Refresh** button. + +### Regressions + +There were performance regressions following the resource cache support changes, and they are outlined below: + +- All lists that utilize Server-Side Pagination: + - `State` column sort and filter features work on the resources `metadata.state.name` field instead of one deduced locally by the UI. + - Updates are shown every 5 seconds, rather than instantly. +- Cluster Explorer: + - `Cluster` group --> `Nodes` page + - The following columns are now not sortable or filterable: `Roles`, `External/Internal IP`, `CPU`, `RAM` (logic to determine their value is calculated in the browser) + - `Workloads` list: + - The `Workloads` list, which showed multiple different resource types has been removed. + - Server-Side Pagination of multiple resources is not currently possible. + - `Workloads` group --> All lists + - `Pod Restarts` and `Workload Health` columns have been removed. + - [Re-enable Pod Restart Count and Pod Health columns for Workload lists #14211](https://github.com/rancher/dashboard/issues/14211) + - `Workloads` group / `Job` List + - `Duration` is now not sortable (sorting on a duration). + - [Implement more complex server-side pagination sorting #12815](https://github.com/rancher/dashboard/issues/12815) + - `Workloads` group / `Pod` List + - `Images` is now not sortable (sorting on an array). + - `Service Discovery` group / `Ingresses` + - `Default` is now not sortable/filterable (logic to determine their value is calculated in the browser). + - `Storage` group / `ConfigMaps` + - `Data` is now not sortable/filterable (logic to determine their value is calculated in the browser). + - `Storage` group / `Secrets` + - `Data` is now not sortable/filterable (logic to determine their value is calculated in the browser). diff --git a/versioned_docs/version-2.12/getting-started/installation-and-upgrade/installation-references/feature-flags.md b/versioned_docs/version-2.12/getting-started/installation-and-upgrade/installation-references/feature-flags.md index 7f1093c718c..5c565be1c46 100644 --- a/versioned_docs/version-2.12/getting-started/installation-and-upgrade/installation-references/feature-flags.md +++ b/versioned_docs/version-2.12/getting-started/installation-and-upgrade/installation-references/feature-flags.md @@ -54,27 +54,26 @@ You can enable this feature on a per-cluster basis. For more information, please - `rke1-custom-node-cleanup`: Enables cleanup of deleted RKE1 custom nodes. We recommend that you keep this flag enabled, to prevent removed nodes from attempting to rejoin the cluster. - `rke2`: Enables provisioning RKE2 clusters. This flag is enabled by default. - `token-hashing`: Enables token hashing. Once enabled, existing tokens will be hashed and all new tokens will be hashed automatically with the SHA256 algorithm. Once a token is hashed it can't be undone. This flag can't be disabled after its enabled. See [API Tokens](../../../api/api-tokens.md#token-hashing) for more information. -- `uiextension`: Enables UI extensions. This flag is enabled by default. Enabling or disabling the flag forces the Rancher pod to restart. The first time this flag is set to `true`, it creates a CRD and enables the controllers and endpoints necessary for the feature to work. If set to `false`, it disables the previously mentioned controllers and endpoints. Setting `uiextension` to `false` has no effect on the CRD -- it does not create a CRD if it does not yet exist, nor does it delete the CRD if it already exists. +- `uiextension`: Enables UI extensions. This flag is enabled by default. Enabling or disabling the flag forces the Rancher pod to restart. The first time this flag is set to `Active`, it creates a CRD and enables the controllers and endpoints necessary for the feature to work. If set to `Disabled`, it disables the previously mentioned controllers and endpoints. Setting `uiextension` to `Disabled` has no effect on the CRD -- it does not create a CRD if it does not yet exist, nor does it delete the CRD if it already exists. - `unsupported-storage-drivers`: Enables types for storage providers and provisioners that aren't enabled by default. See [Allow Unsupported Storage Drivers](../../../how-to-guides/advanced-user-guides/enable-experimental-features/unsupported-storage-drivers.md) for more information. -- `ui-sql-cache`: Enables a SQLite-based cache for UI tables. See [UI Server-Side Pagination](../../../how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md) for more information. - +- `ui-sql-cache`: Enables an SQLite-based cache for UI tables and Server-Side Pagination. See [UI Server-Side Pagination](../../../how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md) for more information. The following table shows the availability and default values for some feature flags in Rancher. Features marked "GA" are generally available: | Feature Flag Name | Default Value | Status | Available As Of | Additional Information | | ----------------------------- | ------------- | ------------ | --------------- | ---------------------- | -| `aggregated-roletemplates` | `false` | Highly experimentatl | v2.11.0 | This flag value is locked on install and can't be changed. | -| `clean-stale-secrets` | `true` | GA | v2.10.2 | | -| `continuous-delivery` | `true` | GA | v2.6.0 | | -| `external-rules` | v2.7.14: `false`, v2.8.5: `true` | Removed | v2.7.14, v2.8.5 | This flag affected [external `RoleTemplate` behavior](../../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#external-roletemplate-behavior). It is removed in Rancher v2.9.0 and later as the behavior is enabled by default. | -| `fleet` | `true` | Can no longer be disabled | v2.6.0 | | -| `fleet` | `true` | GA | v2.5.0 | | -| `harvester` | `true` | Experimental | v2.6.1 | | -| `imperative-api-extension` | `true` | GA | v2.11.0 | | -| `legacy` | `false` for new installs, `true` for upgrades | GA | v2.6.0 | | -| `managed-system-upgrade-controller` | `true` | GA | v2.10.0 | | +| `aggregated-roletemplates` | `Disabled` | Highly experimental | v2.11.0 | This flag value is locked on install and can't be changed. | +| `clean-stale-secrets` | `Active` | GA | v2.10.2 | | +| `continuous-delivery` | `Active` | GA | v2.6.0 | | +| `external-rules` | v2.7.14: `Disabled`, v2.8.5: `Active` | Removed | v2.7.14, v2.8.5 | This flag affected [external `RoleTemplate` behavior](../../../how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/manage-role-based-access-control-rbac/cluster-and-project-roles.md#external-roletemplate-behavior). It is removed in Rancher v2.9.0 and later as the behavior is enabled by default. | +| `fleet` | `Active` | Can no longer be disabled | v2.6.0 | | +| `fleet` | `Active` | GA | v2.5.0 | | +| `harvester` | `Active` | Experimental | v2.6.1 | | +| `imperative-api-extension` | `Active` | GA | v2.11.0 | | +| `legacy` | `Disabled` for new installs, `Active` for upgrades | GA | v2.6.0 | | +| `managed-system-upgrade-controller` | `Active` | GA | v2.10.0 | | | `rke1-custom-node-cleanup`| `true` | GA | v2.6.0 | | | `rke2` | `true` | Experimental | v2.6.0 | | -| `token-hashing` | `false` for new installs, `true` for upgrades | GA | v2.6.0 | | -| `uiextension` | `true` | GA | v2.9.0 | | -| `ui-sql-cache` | `false` | Highly experimental | v2.9.0 | | +| `token-hashing` | `Disabled` for new installs, `Active` for upgrades | GA | v2.6.0 | | +| `uiextension` | `Active` | GA | v2.9.0 | | +| `ui-sql-cache` | `Active` | GA | v2.9.0 | | diff --git a/versioned_docs/version-2.12/how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md b/versioned_docs/version-2.12/how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md index f3faaf47ceb..85a43464999 100644 --- a/versioned_docs/version-2.12/how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md +++ b/versioned_docs/version-2.12/how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md @@ -6,27 +6,25 @@ title: UI Server-Side Pagination -:::caution -UI server-side pagination is not intended for use in production at this time. This feature is considered highly experimental. SUSE customers should consult SUSE Support before activating this feature. -::: - - -UI server-side pagination caching provides an optional SQLite-backed cache of Kubernetes objects to improve performance. This unlocks sorting, filtering and pagination features used by the UI to restrict the amount of resources it fetches and stores in browser memory. These features are primarily used to improve list performance for resources with high counts. +The feature flag `ui-sql-cache` is enabled by default and implements the UI server-side pagination caching. The functionality provides an SQLite-backed cache of Kubernetes objects to improve performance. This adds sorting, filtering and pagination features used by the UI to restrict the amount of resources it fetches and stores in browser memory. These features are primarily used to improve list performance for resources with high counts. This feature creates file system based caches in the `rancher` pods of the upstream cluster, and in the `cattle-cluster-agent` pods of the downstream clusters. In most environments, disk usage and I/O should not be significant. However, you should monitor activity after you enable caching. SQLite-backed caching persists copies of any cached Kubernetes objects to disk. See [Encrypting SQLite-backed Caching](#encrypting-sqlite-backed-caches) if this is a security concern. -## Enabling UI Server-Side Pagination +## Enabling via UI: `ui-sql-cache` and Server-Side Pagination 1. In the upper left corner, click **☰ > Global Settings > Feature Flags**. 1. Find **`ui-sql-cache`** and select **⋮ > Activate > Activate**. 1. Wait for Rancher to restart. This also restarts agents on all downstream clusters. -1. In the upper left corner, click **☰ > Global Settings > Performance**. -1. Go to **Server-side Pagination** and check the **Enable Server-side Pagination** option. -1. Click **Apply**. 1. Reload the page with the browser button (or the equivalent keyboard combination, typically `CTRL + R` on Windows and Linux, and `⌘ + R` on macOS). +## Disabling via UI: `ui-sql-cache` and Server-Side Pagination + +1. In the upper left corner, click **☰ > Global Settings > Feature Flags**. +1. Find **`ui-sql-cache`** and select **⋮ > Deactivate > Deactivate**. +1. Wait for Rancher to restart. This also restarts agents on all downstream clusters. +1. Reload the page with the browser button (or the equivalent keyboard combination, typically `CTRL + R` on Windows and Linux, and `⌘ + R` on macOS). ## Encrypting SQLite-backed Caches @@ -39,3 +37,31 @@ Secrets and security Tokens are always encrypted regardless of the above setting This initial release improves the performance of Pods, Secrets, Nodes and ConfigMaps in the Cluster Explorer pages, and most resources in the Explorer's **More Resources** section. Pages can't be automatically refreshed. You can manually refresh table contents by clicking the **Refresh** button. + +### Regressions + +There were performance regressions following the resource cache support changes, and they are outlined below: + +- All lists that utilize Server-Side Pagination: + - `State` column sort and filter features work on the resources `metadata.state.name` field instead of one deduced locally by the UI. + - Updates are shown every 5 seconds, rather than instantly. +- Cluster Explorer: + - `Cluster` group --> `Nodes` page + - The following columns are now not sortable or filterable: `Roles`, `External/Internal IP`, `CPU`, `RAM` (logic to determine their value is calculated in the browser) + - `Workloads` list: + - The `Workloads` list, which showed multiple different resource types has been removed. + - Server-Side Pagination of multiple resources is not currently possible. + - `Workloads` group --> All lists + - `Pod Restarts` and `Workload Health` columns have been removed. + - [Re-enable Pod Restart Count and Pod Health columns for Workload lists #14211](https://github.com/rancher/dashboard/issues/14211) + - `Workloads` group / `Job` List + - `Duration` is now not sortable (sorting on a duration). + - [Implement more complex server-side pagination sorting #12815](https://github.com/rancher/dashboard/issues/12815) + - `Workloads` group / `Pod` List + - `Images` is now not sortable (sorting on an array). + - `Service Discovery` group / `Ingresses` + - `Default` is now not sortable/filterable (logic to determine their value is calculated in the browser). + - `Storage` group / `ConfigMaps` + - `Data` is now not sortable/filterable (logic to determine their value is calculated in the browser). + - `Storage` group / `Secrets` + - `Data` is now not sortable/filterable (logic to determine their value is calculated in the browser). From 9d947284f6a4753f6a522e04aab05b887d98815d Mon Sep 17 00:00:00 2001 From: Sunil Singh Date: Mon, 28 Jul 2025 17:28:11 -0700 Subject: [PATCH 2/5] Revert "Merge branch 'rancher:main' into update-ssp" This reverts commit ee1b912f5ef0421e58f554513599c01dfbbc7aa8, reversing changes made to 0fe8d056a3a6f899d3f85985433dd75381a4c38c. --- .github/workflows/create-issue.yml | 2 ++ .../install-kubernetes.md | 10 +--------- .../register-existing-clusters.md | 8 -------- .../fleet/use-fleet-behind-a-proxy.md | 8 -------- .../http-proxy-configuration.md | 12 ++++++------ .../install-kubernetes.md | 8 -------- .../register-existing-clusters.md | 11 +---------- .../fleet/use-fleet-behind-a-proxy.md | 8 -------- .../http-proxy-configuration.md | 13 +++++++------ .../install-kubernetes.md | 8 -------- .../register-existing-clusters.md | 8 -------- .../fleet/use-fleet-behind-a-proxy.md | 8 -------- .../http-proxy-configuration.md | 13 +++++++------ .../install-kubernetes.md | 10 +--------- .../register-existing-clusters.md | 8 -------- .../fleet/use-fleet-behind-a-proxy.md | 8 -------- .../http-proxy-configuration.md | 12 ++++++------ .../install-kubernetes.md | 8 -------- .../register-existing-clusters.md | 10 +--------- .../fleet/use-fleet-behind-a-proxy.md | 10 +--------- 20 files changed, 33 insertions(+), 150 deletions(-) diff --git a/.github/workflows/create-issue.yml b/.github/workflows/create-issue.yml index 1bfde9e0e6b..e4a6b1aa19b 100644 --- a/.github/workflows/create-issue.yml +++ b/.github/workflows/create-issue.yml @@ -4,6 +4,8 @@ on: pull_request_target: types: - closed + branches: + - main paths-ignore: - '**/README.md' diff --git a/docs/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md b/docs/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md index 9732472926d..7f04e7974b6 100644 --- a/docs/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md +++ b/docs/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md @@ -10,15 +10,7 @@ Once the infrastructure is ready, you can continue with setting up a Kubernetes The steps to set up RKE, RKE2, or K3s are shown below. -For convenience, export the IP address and port of your proxy into an environment variable and set up the `HTTP_PROXY` variables for your current shell on every node: - -:::caution - -The `NO_PROXY` environment variable is not standardized, and the accepted format of the value can differ between applications. When configuring the `NO_PROXY` variable for Rancher, the value must adhere to the format expected by Golang. - -Specifically, the value should be a comma-delimited string which only contains IP addresses, CIDR notation, domain names, or special DNS labels (e.g. `*`). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) - -::: +For convenience, export the IP address and port of your proxy into an environment variable and set up the HTTP_PROXY variables for your current shell on every node: ``` export proxy_host="10.0.0.5:8888" diff --git a/docs/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md b/docs/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md index f8fdc984308..ce53b971af8 100644 --- a/docs/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md +++ b/docs/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md @@ -57,14 +57,6 @@ GKE Autopilot clusters aren't supported. See [Compare GKE Autopilot and Standard 9. If you are using self-signed certificates, you will receive the message `certificate signed by unknown authority`. To work around this validation, copy the command starting with `curl` displayed in Rancher to your clipboard. Then run the command on a node where kubeconfig is configured to point to the cluster you want to import. 10. When you finish running the command(s) on your node, click **Done**. -:::important - -The `NO_PROXY` environment variable is not standardized, and the accepted format of the value can differ between applications. When configuring the `NO_PROXY` variable in Rancher, the value must adhere to the format expected by Golang. - -Specifically, the value should be a comma-delimited string which only contains IP addresses, CIDR notation, domain names, or special DNS labels (e.g. `*`). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) - -::: - **Result:** - Your cluster is registered and assigned a state of **Pending**. Rancher is deploying resources to manage your cluster. diff --git a/docs/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md b/docs/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md index 2075854a175..6261f3820b2 100644 --- a/docs/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md +++ b/docs/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md @@ -22,14 +22,6 @@ For private nodes or private clusters, the environment variables need to be set When adding Fleet agent environment variables for the proxy, replace with your private proxy IP. -:::caution - -The `NO_PROXY` environment variable is not standardized, and the accepted format of the value can differ between applications. When configuring the `NO_PROXY` variable in Rancher, the value must adhere to the format expected by Golang. - -Specifically, the value should be a comma-delimited string which only contains IP addresses, CIDR notation, domain names, or special DNS labels (e.g. `*`). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) - -::: - | Variable Name | Value | |------------------|--------| | `HTTP_PROXY` | http://:8888 | diff --git a/docs/reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md b/docs/reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md index 57fdf4bdf47..4936d839dd2 100644 --- a/docs/reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md +++ b/docs/reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md @@ -10,11 +10,11 @@ If you operate Rancher behind a proxy and you want to access services through th Make sure `NO_PROXY` contains the network addresses, network address ranges and domains that should be excluded from using the proxy. -| Environment variable | Purpose | -|----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| HTTP_PROXY | Proxy address to use when initiating HTTP connection(s) | -| HTTPS_PROXY | Proxy address to use when initiating HTTPS connection(s) | -| NO_PROXY | Network address(es), network address range(s) and domains to exclude from using the proxy when initiating connection(s).

The value must be a comma-delimited string which contains IP addresses, CIDR notation, domain names, or special DNS labels (*). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) | +| Environment variable | Purpose | +| -------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| HTTP_PROXY | Proxy address to use when initiating HTTP connection(s) | +| HTTPS_PROXY | Proxy address to use when initiating HTTPS connection(s) | +| NO_PROXY | Network address(es), network address range(s) and domains to exclude from using the proxy when initiating connection(s) | :::note Important: @@ -62,4 +62,4 @@ acl SSL_ports port 2376 acl Safe_ports port 22 # ssh acl Safe_ports port 2376 # docker port -``` +``` \ No newline at end of file diff --git a/versioned_docs/version-2.10/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md b/versioned_docs/version-2.10/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md index 0a4572822a5..7f04e7974b6 100644 --- a/versioned_docs/version-2.10/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md +++ b/versioned_docs/version-2.10/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md @@ -12,14 +12,6 @@ The steps to set up RKE, RKE2, or K3s are shown below. For convenience, export the IP address and port of your proxy into an environment variable and set up the HTTP_PROXY variables for your current shell on every node: -:::caution - -The `NO_PROXY` environment variable is not standardized, and the accepted format of the value can differ between applications. When configuring the `NO_PROXY` variable for Rancher, the value must adhere to the format expected by Golang. - -Specifically, the value should be a comma-delimited string which only contains IP addresses, CIDR notation, domain names, or special DNS labels (e.g. `*`). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) - -::: - ``` export proxy_host="10.0.0.5:8888" export HTTP_PROXY=http://${proxy_host} diff --git a/versioned_docs/version-2.10/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md b/versioned_docs/version-2.10/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md index f3aa3bc7451..53798738fbc 100644 --- a/versioned_docs/version-2.10/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md +++ b/versioned_docs/version-2.10/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md @@ -56,15 +56,6 @@ GKE Autopilot clusters aren't supported. See [Compare GKE Autopilot and Standard 9. If you are using self-signed certificates, you will receive the message `certificate signed by unknown authority`. To work around this validation, copy the command starting with `curl` displayed in Rancher to your clipboard. Then run the command on a node where kubeconfig is configured to point to the cluster you want to import. 10. When you finish running the command(s) on your node, click **Done**. -:::important - -The `NO_PROXY` environment variable is not standardized, and the accepted format of the value can differ between applications. When configuring the `NO_PROXY` variable in Rancher, the value must adhere to the format expected by Golang. - -Specifically, the value should be a comma-delimited string which only contains IP addresses, CIDR notation, domain names, or special DNS labels (e.g. `*`). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) - -::: - - **Result:** - Your cluster is registered and assigned a state of **Pending**. Rancher is deploying resources to manage your cluster. @@ -304,4 +295,4 @@ This section lists some of the most common errors that may occur when importing ```sh az aks update --resource-group --name --enable-local-accounts - ``` + ``` \ No newline at end of file diff --git a/versioned_docs/version-2.10/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md b/versioned_docs/version-2.10/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md index 2075854a175..6261f3820b2 100644 --- a/versioned_docs/version-2.10/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md +++ b/versioned_docs/version-2.10/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md @@ -22,14 +22,6 @@ For private nodes or private clusters, the environment variables need to be set When adding Fleet agent environment variables for the proxy, replace with your private proxy IP. -:::caution - -The `NO_PROXY` environment variable is not standardized, and the accepted format of the value can differ between applications. When configuring the `NO_PROXY` variable in Rancher, the value must adhere to the format expected by Golang. - -Specifically, the value should be a comma-delimited string which only contains IP addresses, CIDR notation, domain names, or special DNS labels (e.g. `*`). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) - -::: - | Variable Name | Value | |------------------|--------| | `HTTP_PROXY` | http://:8888 | diff --git a/versioned_docs/version-2.10/reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md b/versioned_docs/version-2.10/reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md index 415d297a6ab..4936d839dd2 100644 --- a/versioned_docs/version-2.10/reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md +++ b/versioned_docs/version-2.10/reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md @@ -10,11 +10,12 @@ If you operate Rancher behind a proxy and you want to access services through th Make sure `NO_PROXY` contains the network addresses, network address ranges and domains that should be excluded from using the proxy. -| Environment variable | Purpose | -|----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| HTTP_PROXY | Proxy address to use when initiating HTTP connection(s) | -| HTTPS_PROXY | Proxy address to use when initiating HTTPS connection(s) | -| NO_PROXY | Network address(es), network address range(s) and domains to exclude from using the proxy when initiating connection(s).

The value must be a comma-delimited string which contains IP addresses, CIDR notation, domain names, or special DNS labels (*). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) | +| Environment variable | Purpose | +| -------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| HTTP_PROXY | Proxy address to use when initiating HTTP connection(s) | +| HTTPS_PROXY | Proxy address to use when initiating HTTPS connection(s) | +| NO_PROXY | Network address(es), network address range(s) and domains to exclude from using the proxy when initiating connection(s) | + :::note Important: NO_PROXY must be in uppercase to use network range (CIDR) notation. @@ -61,4 +62,4 @@ acl SSL_ports port 2376 acl Safe_ports port 22 # ssh acl Safe_ports port 2376 # docker port -``` +``` \ No newline at end of file diff --git a/versioned_docs/version-2.11/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md b/versioned_docs/version-2.11/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md index 0a4572822a5..7f04e7974b6 100644 --- a/versioned_docs/version-2.11/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md +++ b/versioned_docs/version-2.11/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md @@ -12,14 +12,6 @@ The steps to set up RKE, RKE2, or K3s are shown below. For convenience, export the IP address and port of your proxy into an environment variable and set up the HTTP_PROXY variables for your current shell on every node: -:::caution - -The `NO_PROXY` environment variable is not standardized, and the accepted format of the value can differ between applications. When configuring the `NO_PROXY` variable for Rancher, the value must adhere to the format expected by Golang. - -Specifically, the value should be a comma-delimited string which only contains IP addresses, CIDR notation, domain names, or special DNS labels (e.g. `*`). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) - -::: - ``` export proxy_host="10.0.0.5:8888" export HTTP_PROXY=http://${proxy_host} diff --git a/versioned_docs/version-2.11/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md b/versioned_docs/version-2.11/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md index 20d09a90ca0..f5a4e59c956 100644 --- a/versioned_docs/version-2.11/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md +++ b/versioned_docs/version-2.11/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md @@ -57,14 +57,6 @@ GKE Autopilot clusters aren't supported. See [Compare GKE Autopilot and Standard 9. If you are using self-signed certificates, you will receive the message `certificate signed by unknown authority`. To work around this validation, copy the command starting with `curl` displayed in Rancher to your clipboard. Then run the command on a node where kubeconfig is configured to point to the cluster you want to import. 10. When you finish running the command(s) on your node, click **Done**. -:::important - -The `NO_PROXY` environment variable is not standardized, and the accepted format of the value can differ between applications. When configuring the `NO_PROXY` variable in Rancher, the value must adhere to the format expected by Golang. - -Specifically, the value should be a comma-delimited string which only contains IP addresses, CIDR notation, domain names, or special DNS labels (e.g. `*`). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) - -::: - **Result:** - Your cluster is registered and assigned a state of **Pending**. Rancher is deploying resources to manage your cluster. diff --git a/versioned_docs/version-2.11/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md b/versioned_docs/version-2.11/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md index 2075854a175..6261f3820b2 100644 --- a/versioned_docs/version-2.11/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md +++ b/versioned_docs/version-2.11/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md @@ -22,14 +22,6 @@ For private nodes or private clusters, the environment variables need to be set When adding Fleet agent environment variables for the proxy, replace with your private proxy IP. -:::caution - -The `NO_PROXY` environment variable is not standardized, and the accepted format of the value can differ between applications. When configuring the `NO_PROXY` variable in Rancher, the value must adhere to the format expected by Golang. - -Specifically, the value should be a comma-delimited string which only contains IP addresses, CIDR notation, domain names, or special DNS labels (e.g. `*`). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) - -::: - | Variable Name | Value | |------------------|--------| | `HTTP_PROXY` | http://:8888 | diff --git a/versioned_docs/version-2.11/reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md b/versioned_docs/version-2.11/reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md index 415d297a6ab..4936d839dd2 100644 --- a/versioned_docs/version-2.11/reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md +++ b/versioned_docs/version-2.11/reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md @@ -10,11 +10,12 @@ If you operate Rancher behind a proxy and you want to access services through th Make sure `NO_PROXY` contains the network addresses, network address ranges and domains that should be excluded from using the proxy. -| Environment variable | Purpose | -|----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| HTTP_PROXY | Proxy address to use when initiating HTTP connection(s) | -| HTTPS_PROXY | Proxy address to use when initiating HTTPS connection(s) | -| NO_PROXY | Network address(es), network address range(s) and domains to exclude from using the proxy when initiating connection(s).

The value must be a comma-delimited string which contains IP addresses, CIDR notation, domain names, or special DNS labels (*). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) | +| Environment variable | Purpose | +| -------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| HTTP_PROXY | Proxy address to use when initiating HTTP connection(s) | +| HTTPS_PROXY | Proxy address to use when initiating HTTPS connection(s) | +| NO_PROXY | Network address(es), network address range(s) and domains to exclude from using the proxy when initiating connection(s) | + :::note Important: NO_PROXY must be in uppercase to use network range (CIDR) notation. @@ -61,4 +62,4 @@ acl SSL_ports port 2376 acl Safe_ports port 22 # ssh acl Safe_ports port 2376 # docker port -``` +``` \ No newline at end of file diff --git a/versioned_docs/version-2.12/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md b/versioned_docs/version-2.12/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md index 9732472926d..7f04e7974b6 100644 --- a/versioned_docs/version-2.12/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md +++ b/versioned_docs/version-2.12/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md @@ -10,15 +10,7 @@ Once the infrastructure is ready, you can continue with setting up a Kubernetes The steps to set up RKE, RKE2, or K3s are shown below. -For convenience, export the IP address and port of your proxy into an environment variable and set up the `HTTP_PROXY` variables for your current shell on every node: - -:::caution - -The `NO_PROXY` environment variable is not standardized, and the accepted format of the value can differ between applications. When configuring the `NO_PROXY` variable for Rancher, the value must adhere to the format expected by Golang. - -Specifically, the value should be a comma-delimited string which only contains IP addresses, CIDR notation, domain names, or special DNS labels (e.g. `*`). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) - -::: +For convenience, export the IP address and port of your proxy into an environment variable and set up the HTTP_PROXY variables for your current shell on every node: ``` export proxy_host="10.0.0.5:8888" diff --git a/versioned_docs/version-2.12/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md b/versioned_docs/version-2.12/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md index 20d09a90ca0..f5a4e59c956 100644 --- a/versioned_docs/version-2.12/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md +++ b/versioned_docs/version-2.12/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md @@ -57,14 +57,6 @@ GKE Autopilot clusters aren't supported. See [Compare GKE Autopilot and Standard 9. If you are using self-signed certificates, you will receive the message `certificate signed by unknown authority`. To work around this validation, copy the command starting with `curl` displayed in Rancher to your clipboard. Then run the command on a node where kubeconfig is configured to point to the cluster you want to import. 10. When you finish running the command(s) on your node, click **Done**. -:::important - -The `NO_PROXY` environment variable is not standardized, and the accepted format of the value can differ between applications. When configuring the `NO_PROXY` variable in Rancher, the value must adhere to the format expected by Golang. - -Specifically, the value should be a comma-delimited string which only contains IP addresses, CIDR notation, domain names, or special DNS labels (e.g. `*`). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) - -::: - **Result:** - Your cluster is registered and assigned a state of **Pending**. Rancher is deploying resources to manage your cluster. diff --git a/versioned_docs/version-2.12/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md b/versioned_docs/version-2.12/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md index 2075854a175..6261f3820b2 100644 --- a/versioned_docs/version-2.12/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md +++ b/versioned_docs/version-2.12/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md @@ -22,14 +22,6 @@ For private nodes or private clusters, the environment variables need to be set When adding Fleet agent environment variables for the proxy, replace with your private proxy IP. -:::caution - -The `NO_PROXY` environment variable is not standardized, and the accepted format of the value can differ between applications. When configuring the `NO_PROXY` variable in Rancher, the value must adhere to the format expected by Golang. - -Specifically, the value should be a comma-delimited string which only contains IP addresses, CIDR notation, domain names, or special DNS labels (e.g. `*`). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) - -::: - | Variable Name | Value | |------------------|--------| | `HTTP_PROXY` | http://:8888 | diff --git a/versioned_docs/version-2.12/reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md b/versioned_docs/version-2.12/reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md index 57fdf4bdf47..4936d839dd2 100644 --- a/versioned_docs/version-2.12/reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md +++ b/versioned_docs/version-2.12/reference-guides/single-node-rancher-in-docker/http-proxy-configuration.md @@ -10,11 +10,11 @@ If you operate Rancher behind a proxy and you want to access services through th Make sure `NO_PROXY` contains the network addresses, network address ranges and domains that should be excluded from using the proxy. -| Environment variable | Purpose | -|----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| HTTP_PROXY | Proxy address to use when initiating HTTP connection(s) | -| HTTPS_PROXY | Proxy address to use when initiating HTTPS connection(s) | -| NO_PROXY | Network address(es), network address range(s) and domains to exclude from using the proxy when initiating connection(s).

The value must be a comma-delimited string which contains IP addresses, CIDR notation, domain names, or special DNS labels (*). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) | +| Environment variable | Purpose | +| -------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| HTTP_PROXY | Proxy address to use when initiating HTTP connection(s) | +| HTTPS_PROXY | Proxy address to use when initiating HTTPS connection(s) | +| NO_PROXY | Network address(es), network address range(s) and domains to exclude from using the proxy when initiating connection(s) | :::note Important: @@ -62,4 +62,4 @@ acl SSL_ports port 2376 acl Safe_ports port 22 # ssh acl Safe_ports port 2376 # docker port -``` +``` \ No newline at end of file diff --git a/versioned_docs/version-2.9/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md b/versioned_docs/version-2.9/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md index 0a4572822a5..7f04e7974b6 100644 --- a/versioned_docs/version-2.9/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md +++ b/versioned_docs/version-2.9/getting-started/installation-and-upgrade/other-installation-methods/rancher-behind-an-http-proxy/install-kubernetes.md @@ -12,14 +12,6 @@ The steps to set up RKE, RKE2, or K3s are shown below. For convenience, export the IP address and port of your proxy into an environment variable and set up the HTTP_PROXY variables for your current shell on every node: -:::caution - -The `NO_PROXY` environment variable is not standardized, and the accepted format of the value can differ between applications. When configuring the `NO_PROXY` variable for Rancher, the value must adhere to the format expected by Golang. - -Specifically, the value should be a comma-delimited string which only contains IP addresses, CIDR notation, domain names, or special DNS labels (e.g. `*`). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) - -::: - ``` export proxy_host="10.0.0.5:8888" export HTTP_PROXY=http://${proxy_host} diff --git a/versioned_docs/version-2.9/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md b/versioned_docs/version-2.9/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md index 65a461f374b..31aeebfad3e 100644 --- a/versioned_docs/version-2.9/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md +++ b/versioned_docs/version-2.9/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters.md @@ -56,14 +56,6 @@ GKE Autopilot clusters aren't supported. See [Compare GKE Autopilot and Standard 9. If you are using self-signed certificates, you will receive the message `certificate signed by unknown authority`. To work around this validation, copy the command starting with `curl` displayed in Rancher to your clipboard. Then run the command on a node where kubeconfig is configured to point to the cluster you want to import. 10. When you finish running the command(s) on your node, click **Done**. -:::important - -The `NO_PROXY` environment variable is not standardized, and the accepted format of the value can differ between applications. When configuring the `NO_PROXY` variable in Rancher, the value must adhere to the format expected by Golang. - -Specifically, the value should be a comma-delimited string which only contains IP addresses, CIDR notation, domain names, or special DNS labels (e.g. `*`). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) - -::: - **Result:** - Your cluster is registered and assigned a state of **Pending**. Rancher is deploying resources to manage your cluster. @@ -303,4 +295,4 @@ This section lists some of the most common errors that may occur when importing ```sh az aks update --resource-group --name --enable-local-accounts - ``` + ``` \ No newline at end of file diff --git a/versioned_docs/version-2.9/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md b/versioned_docs/version-2.9/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md index 2075854a175..00f1bc9eaff 100644 --- a/versioned_docs/version-2.9/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md +++ b/versioned_docs/version-2.9/integrations-in-rancher/fleet/use-fleet-behind-a-proxy.md @@ -22,14 +22,6 @@ For private nodes or private clusters, the environment variables need to be set When adding Fleet agent environment variables for the proxy, replace with your private proxy IP. -:::caution - -The `NO_PROXY` environment variable is not standardized, and the accepted format of the value can differ between applications. When configuring the `NO_PROXY` variable in Rancher, the value must adhere to the format expected by Golang. - -Specifically, the value should be a comma-delimited string which only contains IP addresses, CIDR notation, domain names, or special DNS labels (e.g. `*`). For a full description of the expected value format, refer to the [**upstream Golang documentation**](https://pkg.go.dev/golang.org/x/net/http/httpproxy#Config) - -::: - | Variable Name | Value | |------------------|--------| | `HTTP_PROXY` | http://:8888 | @@ -79,4 +71,4 @@ export HTTP_PROXY=http://${proxy_private_ip}:8888 export HTTPS_PROXY=http://${proxy_private_ip}:8888 export NO_PROXY=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local export KUBECONFIG=/etc/rancher/k3s/k3s.yaml -``` +``` \ No newline at end of file From 895e298b0b83bd118758ca269f6faa684eef008b Mon Sep 17 00:00:00 2001 From: Sunil Singh Date: Mon, 28 Jul 2025 17:39:10 -0700 Subject: [PATCH 3/5] Updating after review to include disk space info and moving out of experimental section. Signed-off-by: Sunil Singh --- .../installation-references/feature-flags.md | 2 +- .../ui-server-side-pagination.md | 24 +++++++++++++------ sidebars.js | 2 +- .../installation-references/feature-flags.md | 2 +- .../ui-server-side-pagination.md | 24 +++++++++++++------ versioned_sidebars/version-2.12-sidebars.json | 4 ++-- 6 files changed, 39 insertions(+), 19 deletions(-) rename docs/how-to-guides/advanced-user-guides/{enable-experimental-features => }/ui-server-side-pagination.md (59%) rename versioned_docs/version-2.12/how-to-guides/advanced-user-guides/{enable-experimental-features => }/ui-server-side-pagination.md (59%) diff --git a/docs/getting-started/installation-and-upgrade/installation-references/feature-flags.md b/docs/getting-started/installation-and-upgrade/installation-references/feature-flags.md index 5c565be1c46..e8ef27b5c19 100644 --- a/docs/getting-started/installation-and-upgrade/installation-references/feature-flags.md +++ b/docs/getting-started/installation-and-upgrade/installation-references/feature-flags.md @@ -56,7 +56,7 @@ You can enable this feature on a per-cluster basis. For more information, please - `token-hashing`: Enables token hashing. Once enabled, existing tokens will be hashed and all new tokens will be hashed automatically with the SHA256 algorithm. Once a token is hashed it can't be undone. This flag can't be disabled after its enabled. See [API Tokens](../../../api/api-tokens.md#token-hashing) for more information. - `uiextension`: Enables UI extensions. This flag is enabled by default. Enabling or disabling the flag forces the Rancher pod to restart. The first time this flag is set to `Active`, it creates a CRD and enables the controllers and endpoints necessary for the feature to work. If set to `Disabled`, it disables the previously mentioned controllers and endpoints. Setting `uiextension` to `Disabled` has no effect on the CRD -- it does not create a CRD if it does not yet exist, nor does it delete the CRD if it already exists. - `unsupported-storage-drivers`: Enables types for storage providers and provisioners that aren't enabled by default. See [Allow Unsupported Storage Drivers](../../../how-to-guides/advanced-user-guides/enable-experimental-features/unsupported-storage-drivers.md) for more information. -- `ui-sql-cache`: Enables an SQLite-based cache for UI tables and Server-Side Pagination. See [UI Server-Side Pagination](../../../how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md) for more information. +- `ui-sql-cache`: Enables an SQLite-based cache for UI tables and Server-Side Pagination. See [UI Server-Side Pagination](../../../how-to-guides/advanced-user-guides/ui-server-side-pagination.md) for more information. The following table shows the availability and default values for some feature flags in Rancher. Features marked "GA" are generally available: diff --git a/docs/how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md b/docs/how-to-guides/advanced-user-guides/ui-server-side-pagination.md similarity index 59% rename from docs/how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md rename to docs/how-to-guides/advanced-user-guides/ui-server-side-pagination.md index 85a43464999..ffa36f6eac1 100644 --- a/docs/how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md +++ b/docs/how-to-guides/advanced-user-guides/ui-server-side-pagination.md @@ -3,12 +3,22 @@ title: UI Server-Side Pagination --- - + -The feature flag `ui-sql-cache` is enabled by default and implements the UI server-side pagination caching. The functionality provides an SQLite-backed cache of Kubernetes objects to improve performance. This adds sorting, filtering and pagination features used by the UI to restrict the amount of resources it fetches and stores in browser memory. These features are primarily used to improve list performance for resources with high counts. +UI Server-Side Pagination (SSP) is **enabled by default** via the feature flag `ui-sql-cache` and provides an SQLite-backed cache of Kubernetes objects. This unlocks sorting, filtering and pagination features used by the UI to restrict the amount of resources it fetches and stores in browser memory, and also monitors. These features are primarily used to improve list performance for resources with high counts. -This feature creates file system based caches in the `rancher` pods of the upstream cluster, and in the `cattle-cluster-agent` pods of the downstream clusters. In most environments, disk usage and I/O should not be significant. However, you should monitor activity after you enable caching. +## Disk Space + +:::important +It is crucial that you review the available disk space on your nodes and plan accordingly before upgrading to Rancher v2.12.0 and later to avoid potential disk pressure and pod eviction issues. +::: + +The SSP relies on a caching mechanism that introduces a new requirement for ephemeral disk space on your cluster nodes. This cache, an internal SQLite database, is stored within the container's file system. This affects the nodes running the **Rancher server pods** (`rancher` in the `cattle-system` namespace on the local cluster) and the nodes running the **Rancher agent pods** (`cattle-cluster-agent` in the `cattle-system` namespace on all downstream clusters). + +The amount of disk space required is dynamic and depends on the quantity and size of Kubernetes resources visualized in the UI. As a guideline, the cache may consume approximately **twice the size of the raw Kubernetes objects** it stores. + +For example, internal tests showed that caching 5000 ConfigMaps, totaling 50 MB, consumed 81 MB of disk space. For a conservative, high-level estimate, you can plan for the available disk space on each relevant node to be at least **twice the size of your etcd snapshot**. For most production environments, ensuring a few extra gigabytes of storage are available on the relevant nodes is a safe starting point. SQLite-backed caching persists copies of any cached Kubernetes objects to disk. See [Encrypting SQLite-backed Caching](#encrypting-sqlite-backed-caches) if this is a security concern. @@ -34,13 +44,13 @@ Secrets and security Tokens are always encrypted regardless of the above setting ## Known Limitations of UI Server-Side Pagination -This initial release improves the performance of Pods, Secrets, Nodes and ConfigMaps in the Cluster Explorer pages, and most resources in the Explorer's **More Resources** section. - -Pages can't be automatically refreshed. You can manually refresh table contents by clicking the **Refresh** button. +- This initial release improves the performance of most pages used to view, create or edit resources within the `local` or downstream clusters i.e. the Cluster Explorer view. +- Areas outside the Cluster Explorer are not yet covered by this feature. +- Resources in Lists are automatically updated, however not instantaneously. ### Regressions -There were performance regressions following the resource cache support changes, and they are outlined below: +The following regressions occur when the feature is enabled. These mainly revolve around different sort or filter behaviors in affected lists. - All lists that utilize Server-Side Pagination: - `State` column sort and filter features work on the resources `metadata.state.name` field instead of one deduced locally by the UI. diff --git a/sidebars.js b/sidebars.js index a522e28d011..82385fea87c 100644 --- a/sidebars.js +++ b/sidebars.js @@ -785,7 +785,6 @@ const sidebars = { id: "how-to-guides/advanced-user-guides/enable-experimental-features/enable-experimental-features", }, items: [ - "how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination", "how-to-guides/advanced-user-guides/enable-experimental-features/rancher-on-arm64", "how-to-guides/advanced-user-guides/enable-experimental-features/unsupported-storage-drivers", "how-to-guides/advanced-user-guides/enable-experimental-features/istio-traffic-management-features", @@ -801,6 +800,7 @@ const sidebars = { "how-to-guides/advanced-user-guides/enable-cluster-agent-scheduling-customization", "how-to-guides/advanced-user-guides/configure-layer-7-nginx-load-balancer", "how-to-guides/advanced-user-guides/configure-oidc-provider", + "how-to-guides/advanced-user-guides/ui-server-side-pagination" ] } ] diff --git a/versioned_docs/version-2.12/getting-started/installation-and-upgrade/installation-references/feature-flags.md b/versioned_docs/version-2.12/getting-started/installation-and-upgrade/installation-references/feature-flags.md index 5c565be1c46..e8ef27b5c19 100644 --- a/versioned_docs/version-2.12/getting-started/installation-and-upgrade/installation-references/feature-flags.md +++ b/versioned_docs/version-2.12/getting-started/installation-and-upgrade/installation-references/feature-flags.md @@ -56,7 +56,7 @@ You can enable this feature on a per-cluster basis. For more information, please - `token-hashing`: Enables token hashing. Once enabled, existing tokens will be hashed and all new tokens will be hashed automatically with the SHA256 algorithm. Once a token is hashed it can't be undone. This flag can't be disabled after its enabled. See [API Tokens](../../../api/api-tokens.md#token-hashing) for more information. - `uiextension`: Enables UI extensions. This flag is enabled by default. Enabling or disabling the flag forces the Rancher pod to restart. The first time this flag is set to `Active`, it creates a CRD and enables the controllers and endpoints necessary for the feature to work. If set to `Disabled`, it disables the previously mentioned controllers and endpoints. Setting `uiextension` to `Disabled` has no effect on the CRD -- it does not create a CRD if it does not yet exist, nor does it delete the CRD if it already exists. - `unsupported-storage-drivers`: Enables types for storage providers and provisioners that aren't enabled by default. See [Allow Unsupported Storage Drivers](../../../how-to-guides/advanced-user-guides/enable-experimental-features/unsupported-storage-drivers.md) for more information. -- `ui-sql-cache`: Enables an SQLite-based cache for UI tables and Server-Side Pagination. See [UI Server-Side Pagination](../../../how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md) for more information. +- `ui-sql-cache`: Enables an SQLite-based cache for UI tables and Server-Side Pagination. See [UI Server-Side Pagination](../../../how-to-guides/advanced-user-guides/ui-server-side-pagination.md) for more information. The following table shows the availability and default values for some feature flags in Rancher. Features marked "GA" are generally available: diff --git a/versioned_docs/version-2.12/how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md b/versioned_docs/version-2.12/how-to-guides/advanced-user-guides/ui-server-side-pagination.md similarity index 59% rename from versioned_docs/version-2.12/how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md rename to versioned_docs/version-2.12/how-to-guides/advanced-user-guides/ui-server-side-pagination.md index 85a43464999..ffa36f6eac1 100644 --- a/versioned_docs/version-2.12/how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination.md +++ b/versioned_docs/version-2.12/how-to-guides/advanced-user-guides/ui-server-side-pagination.md @@ -3,12 +3,22 @@ title: UI Server-Side Pagination --- - + -The feature flag `ui-sql-cache` is enabled by default and implements the UI server-side pagination caching. The functionality provides an SQLite-backed cache of Kubernetes objects to improve performance. This adds sorting, filtering and pagination features used by the UI to restrict the amount of resources it fetches and stores in browser memory. These features are primarily used to improve list performance for resources with high counts. +UI Server-Side Pagination (SSP) is **enabled by default** via the feature flag `ui-sql-cache` and provides an SQLite-backed cache of Kubernetes objects. This unlocks sorting, filtering and pagination features used by the UI to restrict the amount of resources it fetches and stores in browser memory, and also monitors. These features are primarily used to improve list performance for resources with high counts. -This feature creates file system based caches in the `rancher` pods of the upstream cluster, and in the `cattle-cluster-agent` pods of the downstream clusters. In most environments, disk usage and I/O should not be significant. However, you should monitor activity after you enable caching. +## Disk Space + +:::important +It is crucial that you review the available disk space on your nodes and plan accordingly before upgrading to Rancher v2.12.0 and later to avoid potential disk pressure and pod eviction issues. +::: + +The SSP relies on a caching mechanism that introduces a new requirement for ephemeral disk space on your cluster nodes. This cache, an internal SQLite database, is stored within the container's file system. This affects the nodes running the **Rancher server pods** (`rancher` in the `cattle-system` namespace on the local cluster) and the nodes running the **Rancher agent pods** (`cattle-cluster-agent` in the `cattle-system` namespace on all downstream clusters). + +The amount of disk space required is dynamic and depends on the quantity and size of Kubernetes resources visualized in the UI. As a guideline, the cache may consume approximately **twice the size of the raw Kubernetes objects** it stores. + +For example, internal tests showed that caching 5000 ConfigMaps, totaling 50 MB, consumed 81 MB of disk space. For a conservative, high-level estimate, you can plan for the available disk space on each relevant node to be at least **twice the size of your etcd snapshot**. For most production environments, ensuring a few extra gigabytes of storage are available on the relevant nodes is a safe starting point. SQLite-backed caching persists copies of any cached Kubernetes objects to disk. See [Encrypting SQLite-backed Caching](#encrypting-sqlite-backed-caches) if this is a security concern. @@ -34,13 +44,13 @@ Secrets and security Tokens are always encrypted regardless of the above setting ## Known Limitations of UI Server-Side Pagination -This initial release improves the performance of Pods, Secrets, Nodes and ConfigMaps in the Cluster Explorer pages, and most resources in the Explorer's **More Resources** section. - -Pages can't be automatically refreshed. You can manually refresh table contents by clicking the **Refresh** button. +- This initial release improves the performance of most pages used to view, create or edit resources within the `local` or downstream clusters i.e. the Cluster Explorer view. +- Areas outside the Cluster Explorer are not yet covered by this feature. +- Resources in Lists are automatically updated, however not instantaneously. ### Regressions -There were performance regressions following the resource cache support changes, and they are outlined below: +The following regressions occur when the feature is enabled. These mainly revolve around different sort or filter behaviors in affected lists. - All lists that utilize Server-Side Pagination: - `State` column sort and filter features work on the resources `metadata.state.name` field instead of one deduced locally by the UI. diff --git a/versioned_sidebars/version-2.12-sidebars.json b/versioned_sidebars/version-2.12-sidebars.json index 47b2c79edcc..bbfd19321bc 100644 --- a/versioned_sidebars/version-2.12-sidebars.json +++ b/versioned_sidebars/version-2.12-sidebars.json @@ -751,7 +751,6 @@ "id": "how-to-guides/advanced-user-guides/enable-experimental-features/enable-experimental-features" }, "items": [ - "how-to-guides/advanced-user-guides/enable-experimental-features/ui-server-side-pagination", "how-to-guides/advanced-user-guides/enable-experimental-features/rancher-on-arm64", "how-to-guides/advanced-user-guides/enable-experimental-features/unsupported-storage-drivers", "how-to-guides/advanced-user-guides/enable-experimental-features/istio-traffic-management-features", @@ -766,7 +765,8 @@ "how-to-guides/advanced-user-guides/enable-user-retention", "how-to-guides/advanced-user-guides/enable-cluster-agent-scheduling-customization", "how-to-guides/advanced-user-guides/configure-layer-7-nginx-load-balancer", - "how-to-guides/advanced-user-guides/configure-oidc-provider" + "how-to-guides/advanced-user-guides/configure-oidc-provider", + "how-to-guides/advanced-user-guides/ui-server-side-pagination" ] } ] From 45ee3ffa8023026116851b5fd59bc7b81c49f4a1 Mon Sep 17 00:00:00 2001 From: Sunil Singh Date: Tue, 29 Jul 2025 16:56:16 -0700 Subject: [PATCH 4/5] Updating content after review feedback. Synthesizing the known limitations section. Signed-off-by: Sunil Singh --- .../ui-server-side-pagination.md | 29 +++++++++---------- .../ui-server-side-pagination.md | 29 +++++++++---------- 2 files changed, 28 insertions(+), 30 deletions(-) diff --git a/docs/how-to-guides/advanced-user-guides/ui-server-side-pagination.md b/docs/how-to-guides/advanced-user-guides/ui-server-side-pagination.md index ffa36f6eac1..9ede757bbad 100644 --- a/docs/how-to-guides/advanced-user-guides/ui-server-side-pagination.md +++ b/docs/how-to-guides/advanced-user-guides/ui-server-side-pagination.md @@ -6,7 +6,9 @@ title: UI Server-Side Pagination -UI Server-Side Pagination (SSP) is **enabled by default** via the feature flag `ui-sql-cache` and provides an SQLite-backed cache of Kubernetes objects. This unlocks sorting, filtering and pagination features used by the UI to restrict the amount of resources it fetches and stores in browser memory, and also monitors. These features are primarily used to improve list performance for resources with high counts. +Server-Side Pagination (SSP) is a Rancher feature to provide significant performance improvements across the UI for resources with high counts, restricting the amount of resources browser fetches and stores in memory. + +Note that SSP is optional, **enabled by default**, and it can be disabled via the feature flag `ui-sql-cache`. ## Disk Space @@ -22,14 +24,14 @@ For example, internal tests showed that caching 5000 ConfigMaps, totaling 50 MB, SQLite-backed caching persists copies of any cached Kubernetes objects to disk. See [Encrypting SQLite-backed Caching](#encrypting-sqlite-backed-caches) if this is a security concern. -## Enabling via UI: `ui-sql-cache` and Server-Side Pagination +## Enabling Server-Side Pagination 1. In the upper left corner, click **☰ > Global Settings > Feature Flags**. 1. Find **`ui-sql-cache`** and select **⋮ > Activate > Activate**. 1. Wait for Rancher to restart. This also restarts agents on all downstream clusters. 1. Reload the page with the browser button (or the equivalent keyboard combination, typically `CTRL + R` on Windows and Linux, and `⌘ + R` on macOS). -## Disabling via UI: `ui-sql-cache` and Server-Side Pagination +## Disabling Server-Side Pagination 1. In the upper left corner, click **☰ > Global Settings > Feature Flags**. 1. Find **`ui-sql-cache`** and select **⋮ > Deactivate > Deactivate**. @@ -44,20 +46,17 @@ Secrets and security Tokens are always encrypted regardless of the above setting ## Known Limitations of UI Server-Side Pagination -- This initial release improves the performance of most pages used to view, create or edit resources within the `local` or downstream clusters i.e. the Cluster Explorer view. -- Areas outside the Cluster Explorer are not yet covered by this feature. -- Resources in Lists are automatically updated, however not instantaneously. +This release improves the performance of most pages used to view, create or edit resources within the `local` or downstream clusters i.e. the Cluster Explorer view. However, RBAC related resources and areas outside the Cluster Explorer are not yet covered by this feature. -### Regressions - -The following regressions occur when the feature is enabled. These mainly revolve around different sort or filter behaviors in affected lists. +Additionally, the following limitations are present when the feature is enabled. These mainly revolve around different sort or filter behaviors in affected lists: +- Resources in lists are automatically updated, however, not instantaneously. - All lists that utilize Server-Side Pagination: - `State` column sort and filter features work on the resources `metadata.state.name` field instead of one deduced locally by the UI. - Updates are shown every 5 seconds, rather than instantly. - Cluster Explorer: - `Cluster` group --> `Nodes` page - - The following columns are now not sortable or filterable: `Roles`, `External/Internal IP`, `CPU`, `RAM` (logic to determine their value is calculated in the browser) + - The following columns are not sortable or filterable: `Roles`, `External/Internal IP`, `CPU`, `RAM` (logic to determine their value is calculated in the browser) - `Workloads` list: - The `Workloads` list, which showed multiple different resource types has been removed. - Server-Side Pagination of multiple resources is not currently possible. @@ -65,13 +64,13 @@ The following regressions occur when the feature is enabled. These mainly revolv - `Pod Restarts` and `Workload Health` columns have been removed. - [Re-enable Pod Restart Count and Pod Health columns for Workload lists #14211](https://github.com/rancher/dashboard/issues/14211) - `Workloads` group / `Job` List - - `Duration` is now not sortable (sorting on a duration). + - `Duration` is not sortable (sorting on a duration). - [Implement more complex server-side pagination sorting #12815](https://github.com/rancher/dashboard/issues/12815) - `Workloads` group / `Pod` List - - `Images` is now not sortable (sorting on an array). + - `Images` is not sortable (sorting on an array). - `Service Discovery` group / `Ingresses` - - `Default` is now not sortable/filterable (logic to determine their value is calculated in the browser). + - `Default` is not sortable/filterable (logic to determine their value is calculated in the browser). - `Storage` group / `ConfigMaps` - - `Data` is now not sortable/filterable (logic to determine their value is calculated in the browser). + - `Data` is not sortable/filterable (logic to determine their value is calculated in the browser). - `Storage` group / `Secrets` - - `Data` is now not sortable/filterable (logic to determine their value is calculated in the browser). + - `Data` is not sortable/filterable (logic to determine their value is calculated in the browser). diff --git a/versioned_docs/version-2.12/how-to-guides/advanced-user-guides/ui-server-side-pagination.md b/versioned_docs/version-2.12/how-to-guides/advanced-user-guides/ui-server-side-pagination.md index ffa36f6eac1..9ede757bbad 100644 --- a/versioned_docs/version-2.12/how-to-guides/advanced-user-guides/ui-server-side-pagination.md +++ b/versioned_docs/version-2.12/how-to-guides/advanced-user-guides/ui-server-side-pagination.md @@ -6,7 +6,9 @@ title: UI Server-Side Pagination -UI Server-Side Pagination (SSP) is **enabled by default** via the feature flag `ui-sql-cache` and provides an SQLite-backed cache of Kubernetes objects. This unlocks sorting, filtering and pagination features used by the UI to restrict the amount of resources it fetches and stores in browser memory, and also monitors. These features are primarily used to improve list performance for resources with high counts. +Server-Side Pagination (SSP) is a Rancher feature to provide significant performance improvements across the UI for resources with high counts, restricting the amount of resources browser fetches and stores in memory. + +Note that SSP is optional, **enabled by default**, and it can be disabled via the feature flag `ui-sql-cache`. ## Disk Space @@ -22,14 +24,14 @@ For example, internal tests showed that caching 5000 ConfigMaps, totaling 50 MB, SQLite-backed caching persists copies of any cached Kubernetes objects to disk. See [Encrypting SQLite-backed Caching](#encrypting-sqlite-backed-caches) if this is a security concern. -## Enabling via UI: `ui-sql-cache` and Server-Side Pagination +## Enabling Server-Side Pagination 1. In the upper left corner, click **☰ > Global Settings > Feature Flags**. 1. Find **`ui-sql-cache`** and select **⋮ > Activate > Activate**. 1. Wait for Rancher to restart. This also restarts agents on all downstream clusters. 1. Reload the page with the browser button (or the equivalent keyboard combination, typically `CTRL + R` on Windows and Linux, and `⌘ + R` on macOS). -## Disabling via UI: `ui-sql-cache` and Server-Side Pagination +## Disabling Server-Side Pagination 1. In the upper left corner, click **☰ > Global Settings > Feature Flags**. 1. Find **`ui-sql-cache`** and select **⋮ > Deactivate > Deactivate**. @@ -44,20 +46,17 @@ Secrets and security Tokens are always encrypted regardless of the above setting ## Known Limitations of UI Server-Side Pagination -- This initial release improves the performance of most pages used to view, create or edit resources within the `local` or downstream clusters i.e. the Cluster Explorer view. -- Areas outside the Cluster Explorer are not yet covered by this feature. -- Resources in Lists are automatically updated, however not instantaneously. +This release improves the performance of most pages used to view, create or edit resources within the `local` or downstream clusters i.e. the Cluster Explorer view. However, RBAC related resources and areas outside the Cluster Explorer are not yet covered by this feature. -### Regressions - -The following regressions occur when the feature is enabled. These mainly revolve around different sort or filter behaviors in affected lists. +Additionally, the following limitations are present when the feature is enabled. These mainly revolve around different sort or filter behaviors in affected lists: +- Resources in lists are automatically updated, however, not instantaneously. - All lists that utilize Server-Side Pagination: - `State` column sort and filter features work on the resources `metadata.state.name` field instead of one deduced locally by the UI. - Updates are shown every 5 seconds, rather than instantly. - Cluster Explorer: - `Cluster` group --> `Nodes` page - - The following columns are now not sortable or filterable: `Roles`, `External/Internal IP`, `CPU`, `RAM` (logic to determine their value is calculated in the browser) + - The following columns are not sortable or filterable: `Roles`, `External/Internal IP`, `CPU`, `RAM` (logic to determine their value is calculated in the browser) - `Workloads` list: - The `Workloads` list, which showed multiple different resource types has been removed. - Server-Side Pagination of multiple resources is not currently possible. @@ -65,13 +64,13 @@ The following regressions occur when the feature is enabled. These mainly revolv - `Pod Restarts` and `Workload Health` columns have been removed. - [Re-enable Pod Restart Count and Pod Health columns for Workload lists #14211](https://github.com/rancher/dashboard/issues/14211) - `Workloads` group / `Job` List - - `Duration` is now not sortable (sorting on a duration). + - `Duration` is not sortable (sorting on a duration). - [Implement more complex server-side pagination sorting #12815](https://github.com/rancher/dashboard/issues/12815) - `Workloads` group / `Pod` List - - `Images` is now not sortable (sorting on an array). + - `Images` is not sortable (sorting on an array). - `Service Discovery` group / `Ingresses` - - `Default` is now not sortable/filterable (logic to determine their value is calculated in the browser). + - `Default` is not sortable/filterable (logic to determine their value is calculated in the browser). - `Storage` group / `ConfigMaps` - - `Data` is now not sortable/filterable (logic to determine their value is calculated in the browser). + - `Data` is not sortable/filterable (logic to determine their value is calculated in the browser). - `Storage` group / `Secrets` - - `Data` is now not sortable/filterable (logic to determine their value is calculated in the browser). + - `Data` is not sortable/filterable (logic to determine their value is calculated in the browser). From b6b14495065bde4441c78f8cc89f53fc95bfc7ac Mon Sep 17 00:00:00 2001 From: Sunil Singh Date: Wed, 30 Jul 2025 09:09:28 -0700 Subject: [PATCH 5/5] Adding in info for ephemeral storage. Signed-off-by: Sunil Singh --- .../advanced-user-guides/ui-server-side-pagination.md | 4 ++++ .../advanced-user-guides/ui-server-side-pagination.md | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/docs/how-to-guides/advanced-user-guides/ui-server-side-pagination.md b/docs/how-to-guides/advanced-user-guides/ui-server-side-pagination.md index 9ede757bbad..d9bdef91c50 100644 --- a/docs/how-to-guides/advanced-user-guides/ui-server-side-pagination.md +++ b/docs/how-to-guides/advanced-user-guides/ui-server-side-pagination.md @@ -22,6 +22,10 @@ The amount of disk space required is dynamic and depends on the quantity and siz For example, internal tests showed that caching 5000 ConfigMaps, totaling 50 MB, consumed 81 MB of disk space. For a conservative, high-level estimate, you can plan for the available disk space on each relevant node to be at least **twice the size of your etcd snapshot**. For most production environments, ensuring a few extra gigabytes of storage are available on the relevant nodes is a safe starting point. +Please note this space counts against [ephemeral storage](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#setting-requests-and-limits-for-local-ephemeral-storage) requests and limits you might have set for your Rancher container via the `resource` value in the Helm chart. Make sure those settings provide for abundant available space. + +If you see the error `database or disk is full (13)` in the pod logs, this is a symptom that more space needs to be allocated. + SQLite-backed caching persists copies of any cached Kubernetes objects to disk. See [Encrypting SQLite-backed Caching](#encrypting-sqlite-backed-caches) if this is a security concern. ## Enabling Server-Side Pagination diff --git a/versioned_docs/version-2.12/how-to-guides/advanced-user-guides/ui-server-side-pagination.md b/versioned_docs/version-2.12/how-to-guides/advanced-user-guides/ui-server-side-pagination.md index 9ede757bbad..d9bdef91c50 100644 --- a/versioned_docs/version-2.12/how-to-guides/advanced-user-guides/ui-server-side-pagination.md +++ b/versioned_docs/version-2.12/how-to-guides/advanced-user-guides/ui-server-side-pagination.md @@ -22,6 +22,10 @@ The amount of disk space required is dynamic and depends on the quantity and siz For example, internal tests showed that caching 5000 ConfigMaps, totaling 50 MB, consumed 81 MB of disk space. For a conservative, high-level estimate, you can plan for the available disk space on each relevant node to be at least **twice the size of your etcd snapshot**. For most production environments, ensuring a few extra gigabytes of storage are available on the relevant nodes is a safe starting point. +Please note this space counts against [ephemeral storage](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#setting-requests-and-limits-for-local-ephemeral-storage) requests and limits you might have set for your Rancher container via the `resource` value in the Helm chart. Make sure those settings provide for abundant available space. + +If you see the error `database or disk is full (13)` in the pod logs, this is a symptom that more space needs to be allocated. + SQLite-backed caching persists copies of any cached Kubernetes objects to disk. See [Encrypting SQLite-backed Caching](#encrypting-sqlite-backed-caches) if this is a security concern. ## Enabling Server-Side Pagination