Clarify ingress requirements for Kubernetes installs

This commit is contained in:
Catherine Luse
2021-04-23 15:54:57 -07:00
parent 0092b276d7
commit a657a46423
2 changed files with 23 additions and 6 deletions
@@ -18,6 +18,7 @@ Make sure the node(s) for the Rancher server fulfill the following requirements:
- [RancherD](#rancherd)
- [RKE2](#rke2)
- [CPU and Memory for Rancher before v2.4.0](#cpu-and-memory-for-rancher-before-v2-4-0)
- [Ingress](#ingress)
- [Disks](#disks)
- [Networking Requirements](#networking-requirements)
- [Node IP Addresses](#node-ip-addresses)
@@ -73,10 +74,12 @@ Docker is not required for RancherD installs.
_The RKE2 install is available as of v2.5.6._
For details on which OS versions were tested with RKE2, refer to the [RKE documentation.](https://docs.rke2.io/install/requirements/#operating-systems)
For details on which OS versions were tested with RKE2, refer to the [support maintenance terms.](https://rancher.com/support-maintenance-terms/)
Docker is not required for RKE2 installs.
The Ingress should be deployed as DaemonSet to ensure your load balancer can successfully route traffic to all nodes. Currently, RKE2 deploys nginx-ingress as a deployment by default, so you will need to deploy it as a DaemonSet by following [these steps.]({{<baseurl>}}/rancher/v2.x/en/installation/resources/k8s-tutorials/ha-rke2/#5-configure-nginx-to-be-a-daemonset)
### Installing Docker
Docker is required for Helm chart installs, and it can be installed by following the steps in the official [Docker documentation.](https://docs.docker.com/) Rancher also provides [scripts]({{<baseurl>}}/rancher/v2.x/en/installation/requirements/installing-docker) to install Docker with one command.
@@ -165,6 +168,23 @@ These CPU and memory requirements apply to installing Rancher on an RKE Kubernet
| XX-Large | 100+ | 1000+ | [Contact Rancher](https://rancher.com/contact/) | [Contact Rancher](https://rancher.com/contact/) |
{{% /accordion %}}
# 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, K3s and RancherD installations, you don't have to install the Ingress manually because is is installed by default.
For hosted Kubernetes clusters (EKS, GKE, AKS) and RKE2 Kubernetes installations, you will need to set up the ingress.
### Ingress for RKE2
Currently, RKE2 deploys nginx-ingress as a deployment by default, so you will need to deploy it as a DaemonSet by following [these steps.]({{<baseurl>}}/rancher/v2.x/en/installation/resources/k8s-tutorials/ha-rke2/#5-configure-nginx-to-be-a-daemonset)
### Ingress for EKS
For an example of how to deploy an nginx-ingress-controller with a LoadBalancer service, refer to [this section.]({{<baseurl>}}/rancher/v2.x/en/installation/install-rancher-on-k8s/amazon-eks/#5-install-an-ingress)
# 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.
@@ -9,7 +9,7 @@ This section describes how to install a Kubernetes cluster according to the [bes
# Prerequisites
These instructions assume you have set up three nodes, a load balancer, a DNS record, [this section.]({{<baseurl>}}/rancher/v2.x/en/installation/resources/k8s-tutorials/infrastructure-tutorials/infra-for-rke2-ha)
These instructions assume you have set up three nodes, a load balancer, and a DNS record, as described in [this section.]({{<baseurl>}}/rancher/v2.x/en/installation/resources/k8s-tutorials/infrastructure-tutorials/infra-for-rke2-ha)
Note that in order for RKE2 to work correctly with the load balancer, you need to set up two listeners: one for the supervisor on port 9345, and one for the Kubernetes API on port 6443.
@@ -161,7 +161,7 @@ Currently, RKE2 deploys nginx-ingress as a deployment, and that can impact the R
To rectify that, place the following file in /var/lib/rancher/rke2/server/manifests on any of the server nodes:
```
```yaml
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
@@ -173,7 +173,4 @@ spec:
kind: DaemonSet
daemonset:
useHostPort: true
image:
repository: us.gcr.io/k8s-artifacts-prod/ingress-nginx/controller
tag: "v0.34.1"
```