Signed-off-by: Silvio Moioli <silvio@moioli.net>
12 KiB
title, description
| title | description |
|---|---|
| Installation Requirements | Learn the node requirements for each node running Rancher server when you’re configuring Rancher to run either in a Docker or Kubernetes setup |
This page describes the software, hardware, and networking requirements for the nodes where the Rancher server will be installed. The Rancher server can be installed on a single node or a high-availability Kubernetes cluster.
:::note Important:
If you install Rancher on a Kubernetes cluster, requirements are different from the node requirements for downstream user clusters, which will run your apps and services.
:::
The Rancher UI works best in Firefox or Chromium based browsers (Chrome, Edge, Opera, Brave, etc).
See our page on best practices for a list of recommendations for running a Rancher server in production.
Kubernetes Compatibility with Rancher
Rancher needs to be installed on a supported Kubernetes version. Consult the Rancher support matrix to ensure that your intended version of Kubernetes is supported.
Operating Systems and Container Runtime Requirements
All supported operating systems are 64-bit x86. Rancher should work with any modern Linux distribution.
The Rancher support matrix lists which OS and Docker versions were tested for each Rancher version.
Docker is required for nodes that will run RKE clusters. It is not required for RKE2 or K3s clusters.
The ntp (Network Time Protocol) package should be installed. This prevents errors with certificate validation that can occur when the time is not synchronized between the client and server.
Some distributions of Linux may have default firewall rules that block communication within the Kubernetes cluster. Since Kubernetes v1.19, firewalld must be turned off, because it conflicts with the Kubernetes networking plugins.
If you don't feel comfortable doing so, you might check suggestions in the respective issue. Some users were successful creating a separate firewalld zone with a policy of ACCEPT for the Pod CIDR.
If you plan to run Rancher on ARM64, see Running on ARM64 (Experimental).
RKE2 Specific Requirements
For the container runtime, RKE2 bundles its own containerd. Docker is not required for RKE2 installs.
For details on which OS versions were tested with RKE2, refer to the Rancher support matrix.
K3s Specific Requirements
For the container runtime, K3s bundles its own containerd by default. Alternatively, you can configure K3s to use an already installed Docker runtime. For more information on using K3s with Docker see the K3s documentation.
Rancher needs to be installed on a supported Kubernetes version. To find out which versions of Kubernetes are supported for your Rancher version, refer to the Rancher support matrix. To specify the K3s version, use the INSTALL_K3S_VERSION environment variable when running the K3s installation script.
If you are installing Rancher on a K3s cluster with Raspbian Buster, follow these steps to switch to legacy iptables.
If you are installing Rancher on a K3s cluster with Alpine Linux, follow these steps for additional setup.
RKE Specific Requirements
For the container runtime, RKE should work with any modern Docker version.
For more information see Installing Docker,
Hardware Requirements
The following sections describe the CPU, memory, and I/O requirements for nodes where Rancher is installed.
Premise
Rancher's hardware footprint depends on a number of factors, including:
- size of managed infrastructure (eg. node count, cluster count)
- complexity of the desired access control rules (eg.
RoleBindingobject count) - number of workloads (eg. Kubernetes deployments, Fleet deployments)
- usage patterns (eg. subset of functionality actively used, frequency of use, number of concurrently active users)
Because of the high number of influencing factors and their variability over time, requirements in this document have to be interpreted as reasonable starting points that worked acceptably well in most observed use cases so far. Nevertheless, particular use cases may differ - with higher or lower requirements. For enquiries about a specific scenario please contact Rancher for further guidance.
:::note Evolution:
Rancher's code base evolves, use cases change, and the body of accumulated Rancher experience grows every day.
Because of that, this document's recommendations are subject to change over time with the aim of providing increasingly more concrete and accurate guidelines.
If you find your Rancher deployment does not comply with recommendations in this document, while it used to comply with earlier revisions, you can contact Rancher for an ad-hoc evaluation.
:::
RKE2 Kubernetes
Minimum CPU and memory requirements for each individual node in the Kubernetes cluster Rancher is installed in are listed in the table below.
Please note that a highly available setup with at least 3 nodes is required for all production usages.
| Deployment Size | Clusters | Nodes | vCPUs | RAM |
|---|---|---|---|---|
| Small | Up to 150 | Up to 1500 | 4 | 16 GB |
| Medium | Up to 300 | Up to 3000 | 8 | 32 GB |
| Large | Up to 500 | Up to 5000 | 16 | 64 GB |
| Larger | (†) | (†) | (†) | (†) |
(†): Depending on various factors, larger deployment sizes are generally possible with ad-hoc hardware recommendations and tuning. You can contact Rancher for a customized evaluation.
K3s Kubernetes
Minimum CPU and memory requirements for each individual node in the Kubernetes cluster Rancher is installed in are listed in the table below.
Please note that a highly available setup with at least 3 nodes is required for all production usages.
| Deployment Size | Clusters | Nodes | vCPUs | RAM | Database Size |
|---|---|---|---|---|---|
| Small | Up to 150 | Up to 1500 | 4 | 16 GB | 2 cores, 4 GB + 1000 IOPS |
| Medium | Up to 300 | Up to 3000 | 8 | 32 GB | 2 cores, 4 GB + 1000 IOPS |
| Large | Up to 500 | Up to 5000 | 16 | 64 GB | 2 cores, 4 GB + 1000 IOPS |
RKE and Hosted Kubernetes
Minimum CPU and memory requirements for each individual node in the Kubernetes cluster Rancher is installed in are listed in the table below.
Please note that a highly available setup with at least 3 nodes is required for all production usages.
These requirements apply to RKE Kubernetes clusters, as well as to hosted Kubernetes clusters such as EKS.
| Deployment Size | Clusters | Nodes | vCPUs | RAM |
|---|---|---|---|---|
| Small | Up to 150 | Up to 1500 | 2 | 8 GB |
| Medium | Up to 300 | Up to 3000 | 4 | 16 GB |
| Large | Up to 500 | Up to 5000 | 8 | 32 GB |
Docker
Minimum CPU and memory requirements for a single node installation of Rancher are listed in the table below.
Please note that a Docker installation is only suitable for development or testing purposes and is not meant to be used in production environments.
| Deployment Size | Clusters | Nodes | vCPUs | RAM |
|---|---|---|---|---|
| Small | Up to 5 | Up to 50 | 1 | 4 GB |
| Medium | Up to 15 | Up to 200 | 2 | 8 GB |
Ingress
Each node in the Kubernetes cluster that Rancher is installed on should run an Ingress.
The Ingress should be deployed as DaemonSet to ensure your load balancer can successfully route traffic to all nodes.
For RKE, RKE2 and K3s installations, you don't have to install the Ingress manually because it is installed by default.
For hosted Kubernetes clusters (EKS, GKE, AKS), you will need to set up the ingress.
- Amazon EKS: For details on how to install Rancher on Amazon EKS, including how to install an ingress so that the Rancher server can be accessed, refer to this page.
- AKS: For details on how to install Rancher with Azure Kubernetes Service, including how to install an ingress so that the Rancher server can be accessed, refer to this page.
- GKE: For details on how to install Rancher with Google Kubernetes Engine, including how to install an ingress so that the Rancher server can be accessed, refer to this page.
Disks
Rancher performance depends on etcd in the cluster performance. To ensure optimal speed, we recommend always using SSD disks to back your Rancher management Kubernetes cluster. On cloud providers, you will also want to use the minimum size that allows the maximum IOPS. In larger clusters, consider using dedicated storage devices for etcd data and wal directories.
Networking Requirements
This section describes the networking requirements for the node(s) where the Rancher server is installed.
:::caution
If a server containing Rancher has the X-Frame-Options=DENY header, some pages in the new Rancher UI will not be able to render after upgrading from the legacy UI. This is because some legacy pages are embedded as iFrames in the new UI.
:::
Node IP Addresses
Each node used should have a static IP configured, regardless of whether you are installing Rancher on a single node or on an HA cluster. In case of DHCP, each node should have a DHCP reservation to make sure the node gets the same IP allocated.
Port Requirements
To operate properly, Rancher requires a number of ports to be open on Rancher nodes and on downstream Kubernetes cluster nodes. Port Requirements lists all the necessary ports for Rancher and Downstream Clusters for the different cluster types.
Dockershim Support
For more information on Dockershim support, refer to this page.