From a657a464232d974797f4cf43cff44d9d09e73b3e Mon Sep 17 00:00:00 2001 From: Catherine Luse Date: Fri, 23 Apr 2021 15:54:57 -0700 Subject: [PATCH] Clarify ingress requirements for Kubernetes installs --- .../en/installation/requirements/_index.md | 22 ++++++++++++++++++- .../resources/k8s-tutorials/ha-RKE2/_index.md | 7 ++---- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/content/rancher/v2.x/en/installation/requirements/_index.md b/content/rancher/v2.x/en/installation/requirements/_index.md index b37c05a8fe5..fcd4f09e23f 100644 --- a/content/rancher/v2.x/en/installation/requirements/_index.md +++ b/content/rancher/v2.x/en/installation/requirements/_index.md @@ -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.]({{}}/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]({{}}/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.]({{}}/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.]({{}}/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. diff --git a/content/rancher/v2.x/en/installation/resources/k8s-tutorials/ha-RKE2/_index.md b/content/rancher/v2.x/en/installation/resources/k8s-tutorials/ha-RKE2/_index.md index 3d208d1e19c..4fed80ea758 100644 --- a/content/rancher/v2.x/en/installation/resources/k8s-tutorials/ha-RKE2/_index.md +++ b/content/rancher/v2.x/en/installation/resources/k8s-tutorials/ha-RKE2/_index.md @@ -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.]({{}}/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.]({{}}/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" ```