From ed88739befe5c154ff5bdabd240495d5abfacf28 Mon Sep 17 00:00:00 2001 From: Silvio Moioli Date: Tue, 6 Feb 2024 17:22:32 +0100 Subject: [PATCH] tuning: recommend against third party apps (#1086) * tuning: recommend against third party apps Signed-off-by: Silvio Moioli * Wording suggestions from code review Co-authored-by: Marty Hernandez Avedon Signed-off-by: Silvio Moioli * Apply suggestions from code review tense: was > are --------- Signed-off-by: Silvio Moioli Co-authored-by: Marty Hernandez Avedon --- ...and-best-practices-for-rancher-at-scale.md | 20 +++++++++++++++++++ ...and-best-practices-for-rancher-at-scale.md | 20 +++++++++++++++++++ ...and-best-practices-for-rancher-at-scale.md | 20 +++++++++++++++++++ ...and-best-practices-for-rancher-at-scale.md | 20 +++++++++++++++++++ 4 files changed, 80 insertions(+) diff --git a/docs/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md b/docs/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md index 896a4978b12..50687cdd32c 100644 --- a/docs/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md +++ b/docs/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md @@ -21,6 +21,26 @@ This guide describes the best practices and tuning approaches to scale Rancher s When scaling up Rancher, one typical bottleneck is resource growth in the upstream (local) Kubernetes cluster. The upstream cluster contains information for all downstream clusters. Many operations that apply to downstream clusters create new objects in the upstream cluster and require computation from handlers running in the upstream cluster. +### Minimizing Third-Party Software on the Upstream Cluster + +Running Rancher at scale can put significant load on internal Kubernetes components, such as `etcd` or `kubeapiserver`. Issues may arise if third-party software interferes with the performance of those components or with Rancher. + +Every third-party piece of software carries a risk of interference. To prevent performance issues on the upstream cluster, you should avoid running any other apps or components, beyond Kubernetes system components and Rancher itself. + +Software in the following categories generally won't interfere with Rancher or Kubernetes system performance: + * Rancher internal components, such as Fleet + * Rancher extensions + * Cluster API components + * CNIs + * Cloud controller managers + * Observability and monitoring tools (with the exception of prometheus-rancher-exporter) + +On the other hand, the following software are found to interfere with Rancher performance at scale: + * [CrossPlane](https://www.crossplane.io/) + * [Argo CD](https://argoproj.github.io/cd/) + * [Flux](https://fluxcd.io/) + * [prometheus-rancher-exporter](https://github.com/David-VTUK/prometheus-rancher-exporter) (see [issue 33](https://github.com/David-VTUK/prometheus-rancher-exporter/issues/33)) + ### Managing Your Object Counts Etcd is the backing database for Kubernetes and for Rancher. The database may eventually encounter limitations to the number of a single Kubernetes resource type it can store. Exact limits vary and depend on a number of factors. However, experience indicates that performance issues frequently arise once a single resource type's object count exceeds 60,000. Often that type is `RoleBinding`. diff --git a/versioned_docs/version-2.6/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md b/versioned_docs/version-2.6/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md index 896a4978b12..50687cdd32c 100644 --- a/versioned_docs/version-2.6/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md +++ b/versioned_docs/version-2.6/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md @@ -21,6 +21,26 @@ This guide describes the best practices and tuning approaches to scale Rancher s When scaling up Rancher, one typical bottleneck is resource growth in the upstream (local) Kubernetes cluster. The upstream cluster contains information for all downstream clusters. Many operations that apply to downstream clusters create new objects in the upstream cluster and require computation from handlers running in the upstream cluster. +### Minimizing Third-Party Software on the Upstream Cluster + +Running Rancher at scale can put significant load on internal Kubernetes components, such as `etcd` or `kubeapiserver`. Issues may arise if third-party software interferes with the performance of those components or with Rancher. + +Every third-party piece of software carries a risk of interference. To prevent performance issues on the upstream cluster, you should avoid running any other apps or components, beyond Kubernetes system components and Rancher itself. + +Software in the following categories generally won't interfere with Rancher or Kubernetes system performance: + * Rancher internal components, such as Fleet + * Rancher extensions + * Cluster API components + * CNIs + * Cloud controller managers + * Observability and monitoring tools (with the exception of prometheus-rancher-exporter) + +On the other hand, the following software are found to interfere with Rancher performance at scale: + * [CrossPlane](https://www.crossplane.io/) + * [Argo CD](https://argoproj.github.io/cd/) + * [Flux](https://fluxcd.io/) + * [prometheus-rancher-exporter](https://github.com/David-VTUK/prometheus-rancher-exporter) (see [issue 33](https://github.com/David-VTUK/prometheus-rancher-exporter/issues/33)) + ### Managing Your Object Counts Etcd is the backing database for Kubernetes and for Rancher. The database may eventually encounter limitations to the number of a single Kubernetes resource type it can store. Exact limits vary and depend on a number of factors. However, experience indicates that performance issues frequently arise once a single resource type's object count exceeds 60,000. Often that type is `RoleBinding`. diff --git a/versioned_docs/version-2.7/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md b/versioned_docs/version-2.7/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md index 896a4978b12..50687cdd32c 100644 --- a/versioned_docs/version-2.7/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md +++ b/versioned_docs/version-2.7/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md @@ -21,6 +21,26 @@ This guide describes the best practices and tuning approaches to scale Rancher s When scaling up Rancher, one typical bottleneck is resource growth in the upstream (local) Kubernetes cluster. The upstream cluster contains information for all downstream clusters. Many operations that apply to downstream clusters create new objects in the upstream cluster and require computation from handlers running in the upstream cluster. +### Minimizing Third-Party Software on the Upstream Cluster + +Running Rancher at scale can put significant load on internal Kubernetes components, such as `etcd` or `kubeapiserver`. Issues may arise if third-party software interferes with the performance of those components or with Rancher. + +Every third-party piece of software carries a risk of interference. To prevent performance issues on the upstream cluster, you should avoid running any other apps or components, beyond Kubernetes system components and Rancher itself. + +Software in the following categories generally won't interfere with Rancher or Kubernetes system performance: + * Rancher internal components, such as Fleet + * Rancher extensions + * Cluster API components + * CNIs + * Cloud controller managers + * Observability and monitoring tools (with the exception of prometheus-rancher-exporter) + +On the other hand, the following software are found to interfere with Rancher performance at scale: + * [CrossPlane](https://www.crossplane.io/) + * [Argo CD](https://argoproj.github.io/cd/) + * [Flux](https://fluxcd.io/) + * [prometheus-rancher-exporter](https://github.com/David-VTUK/prometheus-rancher-exporter) (see [issue 33](https://github.com/David-VTUK/prometheus-rancher-exporter/issues/33)) + ### Managing Your Object Counts Etcd is the backing database for Kubernetes and for Rancher. The database may eventually encounter limitations to the number of a single Kubernetes resource type it can store. Exact limits vary and depend on a number of factors. However, experience indicates that performance issues frequently arise once a single resource type's object count exceeds 60,000. Often that type is `RoleBinding`. diff --git a/versioned_docs/version-2.8/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md b/versioned_docs/version-2.8/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md index 896a4978b12..50687cdd32c 100644 --- a/versioned_docs/version-2.8/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md +++ b/versioned_docs/version-2.8/reference-guides/best-practices/rancher-server/tuning-and-best-practices-for-rancher-at-scale.md @@ -21,6 +21,26 @@ This guide describes the best practices and tuning approaches to scale Rancher s When scaling up Rancher, one typical bottleneck is resource growth in the upstream (local) Kubernetes cluster. The upstream cluster contains information for all downstream clusters. Many operations that apply to downstream clusters create new objects in the upstream cluster and require computation from handlers running in the upstream cluster. +### Minimizing Third-Party Software on the Upstream Cluster + +Running Rancher at scale can put significant load on internal Kubernetes components, such as `etcd` or `kubeapiserver`. Issues may arise if third-party software interferes with the performance of those components or with Rancher. + +Every third-party piece of software carries a risk of interference. To prevent performance issues on the upstream cluster, you should avoid running any other apps or components, beyond Kubernetes system components and Rancher itself. + +Software in the following categories generally won't interfere with Rancher or Kubernetes system performance: + * Rancher internal components, such as Fleet + * Rancher extensions + * Cluster API components + * CNIs + * Cloud controller managers + * Observability and monitoring tools (with the exception of prometheus-rancher-exporter) + +On the other hand, the following software are found to interfere with Rancher performance at scale: + * [CrossPlane](https://www.crossplane.io/) + * [Argo CD](https://argoproj.github.io/cd/) + * [Flux](https://fluxcd.io/) + * [prometheus-rancher-exporter](https://github.com/David-VTUK/prometheus-rancher-exporter) (see [issue 33](https://github.com/David-VTUK/prometheus-rancher-exporter/issues/33)) + ### Managing Your Object Counts Etcd is the backing database for Kubernetes and for Rancher. The database may eventually encounter limitations to the number of a single Kubernetes resource type it can store. Exact limits vary and depend on a number of factors. However, experience indicates that performance issues frequently arise once a single resource type's object count exceeds 60,000. Often that type is `RoleBinding`.