diff --git a/docs/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md b/docs/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md index 6aa9bfda5ac..0d299ca6317 100644 --- a/docs/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md +++ b/docs/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md @@ -52,12 +52,6 @@ az group create --name rancher-rg --location eastus To create an AKS cluster, run the following command. Use a VM size that applies to your use case. Refer to [this article](https://docs.microsoft.com/en-us/azure/virtual-machines/sizes) for available sizes and options. When choosing a Kubernetes version, be sure to first consult the [support matrix](https://rancher.com/support-matrix/) to find the highest version of Kubernetes that has been validated for your Rancher version. -:::note - -If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. - -::: - ``` az aks create \ --resource-group rancher-rg \ @@ -81,48 +75,46 @@ This command merges your cluster's credentials into the existing kubeconfig and ## 5. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by Azure or a third-party ingress controller like Traefik. -To make sure that you choose the correct Ingress-NGINX Helm chart, first find an `Ingress-NGINX version` that's compatible with your Kubernetes version in the [Kubernetes/ingress-nginx support table](https://github.com/kubernetes/ingress-nginx#supported-versions-table). +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller is already being used. +::: -Then, list the Helm charts available to you by running the following command: +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update -helm search repo ingress-nginx -l -``` - -The `helm search` command's output contains an `APP VERSION` column. The versions under this column are equivalent to the `Ingress-NGINX version` you chose earlier. Using the app version, select a chart version that bundles an app compatible with your Kubernetes install. For example, if you have Kubernetes v1.24, you can select the v4.6.0 Helm chart, since Ingress-NGINX v1.7.0 comes bundled with that chart, and v1.7.0 is compatible with Kubernetes v1.24. When in doubt, select the most recent compatible version. - -Now that you know which Helm chart `version` you need, run the following command. It installs an `nginx-ingress-controller` with a Kubernetes load balancer service: - -``` -helm search repo ingress-nginx -l helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz \ - --set controller.service.externalTrafficPolicy=Local \ - --version 4.6.0 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ + --set service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/ping ``` ## 6. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: -``` +```bash NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.0.116.18 40.31.180.83 80:31229/TCP,443:31050/TCP +traefik LoadBalancer 10.0.116.18 40.31.180.83 80:31229/TCP,443:31050/TCP 67s ``` @@ -145,7 +137,7 @@ Use that DNS name from the previous step as the Rancher server URL when you inst When installing Rancher on top of this setup, you will also need to pass the value below into the Rancher Helm install command in order to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/docs/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md b/docs/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md index 85c83a2d503..6b9c38b344e 100644 --- a/docs/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md +++ b/docs/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md @@ -52,8 +52,6 @@ Then enter the following values: To create an EKS cluster, run the following command. Use the AWS region that applies to your use case. When choosing a Kubernetes version, be sure to first consult the [support matrix](https://rancher.com/support-matrix/) to find the highest version of Kubernetes that has been validated for your Rancher version. -**Note:** If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. - ``` eksctl create cluster \ --name rancher-server \ @@ -88,46 +86,48 @@ rancher-server-cluster us-west-2 True ### 5. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by AWS (ALB) or a third-party ingress controller like Traefik. -To make sure that you choose the correct Ingress-NGINX Helm chart, first find an `Ingress-NGINX version` that's compatible with your Kubernetes version in the [Kubernetes/ingress-nginx support table](https://github.com/kubernetes/ingress-nginx#supported-versions-table). +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller (ALB) is already being used. +::: -Then, list the Helm charts available to you by running the following command: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: + +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update -helm search repo ingress-nginx -l -``` - -The `helm search` command's output contains an `APP VERSION` column. The versions under this column are equivalent to the `Ingress-NGINX version` you chose earlier. Using the app version, select a chart version that bundles an app compatible with your Kubernetes install. For example, if you have Kubernetes v1.23, you can select the v4.6.0 Helm chart, since Ingress-NGINX v1.7.0 comes bundled with that chart, and v1.7.0 is compatible with Kubernetes v1.23. When in doubt, select the most recent compatible version. - -Now that you know which Helm chart `version` you need, run the following command. It installs an `nginx-ingress-controller` with a Kubernetes load balancer service: - -``` helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --version 4.6.0 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ ``` + ### 6. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: -``` -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) +```bash +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.100.90.18 a904a952c73bf4f668a17c46ac7c56ab-962521486.us-west-2.elb.amazonaws.com 80:31229/TCP,443:31050/TCP - 27m +traefik LoadBalancer 10.100.90.18 a904a952c73bf4f668a17c46ac7c56ab-962521486.us-west-2.elb.amazonaws.com 80:31229/TCP,443:31050/TCP + 67s ``` Save the `EXTERNAL-IP`. @@ -149,7 +149,7 @@ Use that DNS name from the previous step as the Rancher server URL when you inst When installing Rancher on top of this setup, you will also need to pass the value below into the Rancher Helm install command in order to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/docs/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md b/docs/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md index a3c3518e4c0..093c5fb589e 100644 --- a/docs/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md +++ b/docs/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md @@ -124,7 +124,6 @@ When choosing a Kubernetes version, be sure to first consult the [support matrix To successfully create a GKE cluster with Rancher, your GKE must be in Standard mode. GKE has two modes of operation when creating a Kubernetes cluster, Autopilot and Standard mode. The cluster configuration for Autopilot mode has restrictions on editing the kube-system namespace. However, Rancher needs to create resources in the kube-system namespace during installation. As a result, you will not be able to install Rancher on a GKE cluster created in Autopilot mode. For more information about the difference between GKE Autopilot mode and Standard mode, visit [Compare GKE Autopilot and Standard.](https://cloud.google.com/kubernetes-engine/docs/resources/autopilot-standard-feature-comparison) -**Note:** If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. ``` gcloud container clusters create cluster-name --num-nodes=3 --cluster-version= @@ -140,36 +139,48 @@ gcloud container clusters get-credentials cluster-name This command configures `kubectl` to use the cluster you created. + ## 7. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by GCP or a third-party ingress controller like Traefik. -The following command installs an `nginx-ingress-controller` with a LoadBalancer service: +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller is already being used. +::: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: + +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --version 4.0.18 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ ``` -## 8. Get the Load Balancer IP + +## 8. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: ``` NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.3.244.156 35.233.206.34 80:31876/TCP,443:32497/TCP 81s +traefik LoadBalancer 10.3.244.156 35.233.206.34 80:31876/TCP,443:32497/TCP 81s ``` Save the `EXTERNAL-IP`. @@ -191,7 +202,7 @@ Use the DNS name from the previous step as the Rancher server URL when you insta When installing Rancher on top of this setup, you will also need to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/versioned_docs/version-2.10/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md b/versioned_docs/version-2.10/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md index 6aa9bfda5ac..0d299ca6317 100644 --- a/versioned_docs/version-2.10/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md +++ b/versioned_docs/version-2.10/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md @@ -52,12 +52,6 @@ az group create --name rancher-rg --location eastus To create an AKS cluster, run the following command. Use a VM size that applies to your use case. Refer to [this article](https://docs.microsoft.com/en-us/azure/virtual-machines/sizes) for available sizes and options. When choosing a Kubernetes version, be sure to first consult the [support matrix](https://rancher.com/support-matrix/) to find the highest version of Kubernetes that has been validated for your Rancher version. -:::note - -If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. - -::: - ``` az aks create \ --resource-group rancher-rg \ @@ -81,48 +75,46 @@ This command merges your cluster's credentials into the existing kubeconfig and ## 5. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by Azure or a third-party ingress controller like Traefik. -To make sure that you choose the correct Ingress-NGINX Helm chart, first find an `Ingress-NGINX version` that's compatible with your Kubernetes version in the [Kubernetes/ingress-nginx support table](https://github.com/kubernetes/ingress-nginx#supported-versions-table). +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller is already being used. +::: -Then, list the Helm charts available to you by running the following command: +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update -helm search repo ingress-nginx -l -``` - -The `helm search` command's output contains an `APP VERSION` column. The versions under this column are equivalent to the `Ingress-NGINX version` you chose earlier. Using the app version, select a chart version that bundles an app compatible with your Kubernetes install. For example, if you have Kubernetes v1.24, you can select the v4.6.0 Helm chart, since Ingress-NGINX v1.7.0 comes bundled with that chart, and v1.7.0 is compatible with Kubernetes v1.24. When in doubt, select the most recent compatible version. - -Now that you know which Helm chart `version` you need, run the following command. It installs an `nginx-ingress-controller` with a Kubernetes load balancer service: - -``` -helm search repo ingress-nginx -l helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz \ - --set controller.service.externalTrafficPolicy=Local \ - --version 4.6.0 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ + --set service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/ping ``` ## 6. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: -``` +```bash NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.0.116.18 40.31.180.83 80:31229/TCP,443:31050/TCP +traefik LoadBalancer 10.0.116.18 40.31.180.83 80:31229/TCP,443:31050/TCP 67s ``` @@ -145,7 +137,7 @@ Use that DNS name from the previous step as the Rancher server URL when you inst When installing Rancher on top of this setup, you will also need to pass the value below into the Rancher Helm install command in order to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/versioned_docs/version-2.10/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md b/versioned_docs/version-2.10/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md index 85c83a2d503..6b9c38b344e 100644 --- a/versioned_docs/version-2.10/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md +++ b/versioned_docs/version-2.10/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md @@ -52,8 +52,6 @@ Then enter the following values: To create an EKS cluster, run the following command. Use the AWS region that applies to your use case. When choosing a Kubernetes version, be sure to first consult the [support matrix](https://rancher.com/support-matrix/) to find the highest version of Kubernetes that has been validated for your Rancher version. -**Note:** If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. - ``` eksctl create cluster \ --name rancher-server \ @@ -88,46 +86,48 @@ rancher-server-cluster us-west-2 True ### 5. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by AWS (ALB) or a third-party ingress controller like Traefik. -To make sure that you choose the correct Ingress-NGINX Helm chart, first find an `Ingress-NGINX version` that's compatible with your Kubernetes version in the [Kubernetes/ingress-nginx support table](https://github.com/kubernetes/ingress-nginx#supported-versions-table). +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller (ALB) is already being used. +::: -Then, list the Helm charts available to you by running the following command: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: + +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update -helm search repo ingress-nginx -l -``` - -The `helm search` command's output contains an `APP VERSION` column. The versions under this column are equivalent to the `Ingress-NGINX version` you chose earlier. Using the app version, select a chart version that bundles an app compatible with your Kubernetes install. For example, if you have Kubernetes v1.23, you can select the v4.6.0 Helm chart, since Ingress-NGINX v1.7.0 comes bundled with that chart, and v1.7.0 is compatible with Kubernetes v1.23. When in doubt, select the most recent compatible version. - -Now that you know which Helm chart `version` you need, run the following command. It installs an `nginx-ingress-controller` with a Kubernetes load balancer service: - -``` helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --version 4.6.0 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ ``` + ### 6. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: -``` -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) +```bash +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.100.90.18 a904a952c73bf4f668a17c46ac7c56ab-962521486.us-west-2.elb.amazonaws.com 80:31229/TCP,443:31050/TCP - 27m +traefik LoadBalancer 10.100.90.18 a904a952c73bf4f668a17c46ac7c56ab-962521486.us-west-2.elb.amazonaws.com 80:31229/TCP,443:31050/TCP + 67s ``` Save the `EXTERNAL-IP`. @@ -149,7 +149,7 @@ Use that DNS name from the previous step as the Rancher server URL when you inst When installing Rancher on top of this setup, you will also need to pass the value below into the Rancher Helm install command in order to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/versioned_docs/version-2.10/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md b/versioned_docs/version-2.10/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md index a3c3518e4c0..093c5fb589e 100644 --- a/versioned_docs/version-2.10/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md +++ b/versioned_docs/version-2.10/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md @@ -124,7 +124,6 @@ When choosing a Kubernetes version, be sure to first consult the [support matrix To successfully create a GKE cluster with Rancher, your GKE must be in Standard mode. GKE has two modes of operation when creating a Kubernetes cluster, Autopilot and Standard mode. The cluster configuration for Autopilot mode has restrictions on editing the kube-system namespace. However, Rancher needs to create resources in the kube-system namespace during installation. As a result, you will not be able to install Rancher on a GKE cluster created in Autopilot mode. For more information about the difference between GKE Autopilot mode and Standard mode, visit [Compare GKE Autopilot and Standard.](https://cloud.google.com/kubernetes-engine/docs/resources/autopilot-standard-feature-comparison) -**Note:** If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. ``` gcloud container clusters create cluster-name --num-nodes=3 --cluster-version= @@ -140,36 +139,48 @@ gcloud container clusters get-credentials cluster-name This command configures `kubectl` to use the cluster you created. + ## 7. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by GCP or a third-party ingress controller like Traefik. -The following command installs an `nginx-ingress-controller` with a LoadBalancer service: +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller is already being used. +::: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: + +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --version 4.0.18 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ ``` -## 8. Get the Load Balancer IP + +## 8. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: ``` NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.3.244.156 35.233.206.34 80:31876/TCP,443:32497/TCP 81s +traefik LoadBalancer 10.3.244.156 35.233.206.34 80:31876/TCP,443:32497/TCP 81s ``` Save the `EXTERNAL-IP`. @@ -191,7 +202,7 @@ Use the DNS name from the previous step as the Rancher server URL when you insta When installing Rancher on top of this setup, you will also need to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/versioned_docs/version-2.11/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md b/versioned_docs/version-2.11/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md index 6aa9bfda5ac..0d299ca6317 100644 --- a/versioned_docs/version-2.11/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md +++ b/versioned_docs/version-2.11/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md @@ -52,12 +52,6 @@ az group create --name rancher-rg --location eastus To create an AKS cluster, run the following command. Use a VM size that applies to your use case. Refer to [this article](https://docs.microsoft.com/en-us/azure/virtual-machines/sizes) for available sizes and options. When choosing a Kubernetes version, be sure to first consult the [support matrix](https://rancher.com/support-matrix/) to find the highest version of Kubernetes that has been validated for your Rancher version. -:::note - -If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. - -::: - ``` az aks create \ --resource-group rancher-rg \ @@ -81,48 +75,46 @@ This command merges your cluster's credentials into the existing kubeconfig and ## 5. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by Azure or a third-party ingress controller like Traefik. -To make sure that you choose the correct Ingress-NGINX Helm chart, first find an `Ingress-NGINX version` that's compatible with your Kubernetes version in the [Kubernetes/ingress-nginx support table](https://github.com/kubernetes/ingress-nginx#supported-versions-table). +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller is already being used. +::: -Then, list the Helm charts available to you by running the following command: +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update -helm search repo ingress-nginx -l -``` - -The `helm search` command's output contains an `APP VERSION` column. The versions under this column are equivalent to the `Ingress-NGINX version` you chose earlier. Using the app version, select a chart version that bundles an app compatible with your Kubernetes install. For example, if you have Kubernetes v1.24, you can select the v4.6.0 Helm chart, since Ingress-NGINX v1.7.0 comes bundled with that chart, and v1.7.0 is compatible with Kubernetes v1.24. When in doubt, select the most recent compatible version. - -Now that you know which Helm chart `version` you need, run the following command. It installs an `nginx-ingress-controller` with a Kubernetes load balancer service: - -``` -helm search repo ingress-nginx -l helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz \ - --set controller.service.externalTrafficPolicy=Local \ - --version 4.6.0 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ + --set service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/ping ``` ## 6. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: -``` +```bash NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.0.116.18 40.31.180.83 80:31229/TCP,443:31050/TCP +traefik LoadBalancer 10.0.116.18 40.31.180.83 80:31229/TCP,443:31050/TCP 67s ``` @@ -145,7 +137,7 @@ Use that DNS name from the previous step as the Rancher server URL when you inst When installing Rancher on top of this setup, you will also need to pass the value below into the Rancher Helm install command in order to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/versioned_docs/version-2.11/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md b/versioned_docs/version-2.11/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md index 85c83a2d503..6b9c38b344e 100644 --- a/versioned_docs/version-2.11/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md +++ b/versioned_docs/version-2.11/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md @@ -52,8 +52,6 @@ Then enter the following values: To create an EKS cluster, run the following command. Use the AWS region that applies to your use case. When choosing a Kubernetes version, be sure to first consult the [support matrix](https://rancher.com/support-matrix/) to find the highest version of Kubernetes that has been validated for your Rancher version. -**Note:** If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. - ``` eksctl create cluster \ --name rancher-server \ @@ -88,46 +86,48 @@ rancher-server-cluster us-west-2 True ### 5. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by AWS (ALB) or a third-party ingress controller like Traefik. -To make sure that you choose the correct Ingress-NGINX Helm chart, first find an `Ingress-NGINX version` that's compatible with your Kubernetes version in the [Kubernetes/ingress-nginx support table](https://github.com/kubernetes/ingress-nginx#supported-versions-table). +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller (ALB) is already being used. +::: -Then, list the Helm charts available to you by running the following command: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: + +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update -helm search repo ingress-nginx -l -``` - -The `helm search` command's output contains an `APP VERSION` column. The versions under this column are equivalent to the `Ingress-NGINX version` you chose earlier. Using the app version, select a chart version that bundles an app compatible with your Kubernetes install. For example, if you have Kubernetes v1.23, you can select the v4.6.0 Helm chart, since Ingress-NGINX v1.7.0 comes bundled with that chart, and v1.7.0 is compatible with Kubernetes v1.23. When in doubt, select the most recent compatible version. - -Now that you know which Helm chart `version` you need, run the following command. It installs an `nginx-ingress-controller` with a Kubernetes load balancer service: - -``` helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --version 4.6.0 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ ``` + ### 6. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: -``` -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) +```bash +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.100.90.18 a904a952c73bf4f668a17c46ac7c56ab-962521486.us-west-2.elb.amazonaws.com 80:31229/TCP,443:31050/TCP - 27m +traefik LoadBalancer 10.100.90.18 a904a952c73bf4f668a17c46ac7c56ab-962521486.us-west-2.elb.amazonaws.com 80:31229/TCP,443:31050/TCP + 67s ``` Save the `EXTERNAL-IP`. @@ -149,7 +149,7 @@ Use that DNS name from the previous step as the Rancher server URL when you inst When installing Rancher on top of this setup, you will also need to pass the value below into the Rancher Helm install command in order to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/versioned_docs/version-2.11/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md b/versioned_docs/version-2.11/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md index a3c3518e4c0..093c5fb589e 100644 --- a/versioned_docs/version-2.11/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md +++ b/versioned_docs/version-2.11/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md @@ -124,7 +124,6 @@ When choosing a Kubernetes version, be sure to first consult the [support matrix To successfully create a GKE cluster with Rancher, your GKE must be in Standard mode. GKE has two modes of operation when creating a Kubernetes cluster, Autopilot and Standard mode. The cluster configuration for Autopilot mode has restrictions on editing the kube-system namespace. However, Rancher needs to create resources in the kube-system namespace during installation. As a result, you will not be able to install Rancher on a GKE cluster created in Autopilot mode. For more information about the difference between GKE Autopilot mode and Standard mode, visit [Compare GKE Autopilot and Standard.](https://cloud.google.com/kubernetes-engine/docs/resources/autopilot-standard-feature-comparison) -**Note:** If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. ``` gcloud container clusters create cluster-name --num-nodes=3 --cluster-version= @@ -140,36 +139,48 @@ gcloud container clusters get-credentials cluster-name This command configures `kubectl` to use the cluster you created. + ## 7. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by GCP or a third-party ingress controller like Traefik. -The following command installs an `nginx-ingress-controller` with a LoadBalancer service: +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller is already being used. +::: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: + +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --version 4.0.18 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ ``` -## 8. Get the Load Balancer IP + +## 8. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: ``` NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.3.244.156 35.233.206.34 80:31876/TCP,443:32497/TCP 81s +traefik LoadBalancer 10.3.244.156 35.233.206.34 80:31876/TCP,443:32497/TCP 81s ``` Save the `EXTERNAL-IP`. @@ -191,7 +202,7 @@ Use the DNS name from the previous step as the Rancher server URL when you insta When installing Rancher on top of this setup, you will also need to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/versioned_docs/version-2.12/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md b/versioned_docs/version-2.12/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md index 6aa9bfda5ac..0d299ca6317 100644 --- a/versioned_docs/version-2.12/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md +++ b/versioned_docs/version-2.12/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md @@ -52,12 +52,6 @@ az group create --name rancher-rg --location eastus To create an AKS cluster, run the following command. Use a VM size that applies to your use case. Refer to [this article](https://docs.microsoft.com/en-us/azure/virtual-machines/sizes) for available sizes and options. When choosing a Kubernetes version, be sure to first consult the [support matrix](https://rancher.com/support-matrix/) to find the highest version of Kubernetes that has been validated for your Rancher version. -:::note - -If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. - -::: - ``` az aks create \ --resource-group rancher-rg \ @@ -81,48 +75,46 @@ This command merges your cluster's credentials into the existing kubeconfig and ## 5. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by Azure or a third-party ingress controller like Traefik. -To make sure that you choose the correct Ingress-NGINX Helm chart, first find an `Ingress-NGINX version` that's compatible with your Kubernetes version in the [Kubernetes/ingress-nginx support table](https://github.com/kubernetes/ingress-nginx#supported-versions-table). +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller is already being used. +::: -Then, list the Helm charts available to you by running the following command: +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update -helm search repo ingress-nginx -l -``` - -The `helm search` command's output contains an `APP VERSION` column. The versions under this column are equivalent to the `Ingress-NGINX version` you chose earlier. Using the app version, select a chart version that bundles an app compatible with your Kubernetes install. For example, if you have Kubernetes v1.24, you can select the v4.6.0 Helm chart, since Ingress-NGINX v1.7.0 comes bundled with that chart, and v1.7.0 is compatible with Kubernetes v1.24. When in doubt, select the most recent compatible version. - -Now that you know which Helm chart `version` you need, run the following command. It installs an `nginx-ingress-controller` with a Kubernetes load balancer service: - -``` -helm search repo ingress-nginx -l helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz \ - --set controller.service.externalTrafficPolicy=Local \ - --version 4.6.0 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ + --set service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/ping ``` ## 6. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: -``` +```bash NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.0.116.18 40.31.180.83 80:31229/TCP,443:31050/TCP +traefik LoadBalancer 10.0.116.18 40.31.180.83 80:31229/TCP,443:31050/TCP 67s ``` @@ -145,7 +137,7 @@ Use that DNS name from the previous step as the Rancher server URL when you inst When installing Rancher on top of this setup, you will also need to pass the value below into the Rancher Helm install command in order to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/versioned_docs/version-2.12/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md b/versioned_docs/version-2.12/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md index 85c83a2d503..6b9c38b344e 100644 --- a/versioned_docs/version-2.12/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md +++ b/versioned_docs/version-2.12/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md @@ -52,8 +52,6 @@ Then enter the following values: To create an EKS cluster, run the following command. Use the AWS region that applies to your use case. When choosing a Kubernetes version, be sure to first consult the [support matrix](https://rancher.com/support-matrix/) to find the highest version of Kubernetes that has been validated for your Rancher version. -**Note:** If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. - ``` eksctl create cluster \ --name rancher-server \ @@ -88,46 +86,48 @@ rancher-server-cluster us-west-2 True ### 5. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by AWS (ALB) or a third-party ingress controller like Traefik. -To make sure that you choose the correct Ingress-NGINX Helm chart, first find an `Ingress-NGINX version` that's compatible with your Kubernetes version in the [Kubernetes/ingress-nginx support table](https://github.com/kubernetes/ingress-nginx#supported-versions-table). +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller (ALB) is already being used. +::: -Then, list the Helm charts available to you by running the following command: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: + +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update -helm search repo ingress-nginx -l -``` - -The `helm search` command's output contains an `APP VERSION` column. The versions under this column are equivalent to the `Ingress-NGINX version` you chose earlier. Using the app version, select a chart version that bundles an app compatible with your Kubernetes install. For example, if you have Kubernetes v1.23, you can select the v4.6.0 Helm chart, since Ingress-NGINX v1.7.0 comes bundled with that chart, and v1.7.0 is compatible with Kubernetes v1.23. When in doubt, select the most recent compatible version. - -Now that you know which Helm chart `version` you need, run the following command. It installs an `nginx-ingress-controller` with a Kubernetes load balancer service: - -``` helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --version 4.6.0 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ ``` + ### 6. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: -``` -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) +```bash +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.100.90.18 a904a952c73bf4f668a17c46ac7c56ab-962521486.us-west-2.elb.amazonaws.com 80:31229/TCP,443:31050/TCP - 27m +traefik LoadBalancer 10.100.90.18 a904a952c73bf4f668a17c46ac7c56ab-962521486.us-west-2.elb.amazonaws.com 80:31229/TCP,443:31050/TCP + 67s ``` Save the `EXTERNAL-IP`. @@ -149,7 +149,7 @@ Use that DNS name from the previous step as the Rancher server URL when you inst When installing Rancher on top of this setup, you will also need to pass the value below into the Rancher Helm install command in order to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/versioned_docs/version-2.12/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md b/versioned_docs/version-2.12/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md index a3c3518e4c0..093c5fb589e 100644 --- a/versioned_docs/version-2.12/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md +++ b/versioned_docs/version-2.12/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md @@ -124,7 +124,6 @@ When choosing a Kubernetes version, be sure to first consult the [support matrix To successfully create a GKE cluster with Rancher, your GKE must be in Standard mode. GKE has two modes of operation when creating a Kubernetes cluster, Autopilot and Standard mode. The cluster configuration for Autopilot mode has restrictions on editing the kube-system namespace. However, Rancher needs to create resources in the kube-system namespace during installation. As a result, you will not be able to install Rancher on a GKE cluster created in Autopilot mode. For more information about the difference between GKE Autopilot mode and Standard mode, visit [Compare GKE Autopilot and Standard.](https://cloud.google.com/kubernetes-engine/docs/resources/autopilot-standard-feature-comparison) -**Note:** If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. ``` gcloud container clusters create cluster-name --num-nodes=3 --cluster-version= @@ -140,36 +139,48 @@ gcloud container clusters get-credentials cluster-name This command configures `kubectl` to use the cluster you created. + ## 7. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by GCP or a third-party ingress controller like Traefik. -The following command installs an `nginx-ingress-controller` with a LoadBalancer service: +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller is already being used. +::: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: + +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --version 4.0.18 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ ``` -## 8. Get the Load Balancer IP + +## 8. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: ``` NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.3.244.156 35.233.206.34 80:31876/TCP,443:32497/TCP 81s +traefik LoadBalancer 10.3.244.156 35.233.206.34 80:31876/TCP,443:32497/TCP 81s ``` Save the `EXTERNAL-IP`. @@ -191,7 +202,7 @@ Use the DNS name from the previous step as the Rancher server URL when you insta When installing Rancher on top of this setup, you will also need to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/versioned_docs/version-2.13/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md b/versioned_docs/version-2.13/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md index 6aa9bfda5ac..0d299ca6317 100644 --- a/versioned_docs/version-2.13/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md +++ b/versioned_docs/version-2.13/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md @@ -52,12 +52,6 @@ az group create --name rancher-rg --location eastus To create an AKS cluster, run the following command. Use a VM size that applies to your use case. Refer to [this article](https://docs.microsoft.com/en-us/azure/virtual-machines/sizes) for available sizes and options. When choosing a Kubernetes version, be sure to first consult the [support matrix](https://rancher.com/support-matrix/) to find the highest version of Kubernetes that has been validated for your Rancher version. -:::note - -If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. - -::: - ``` az aks create \ --resource-group rancher-rg \ @@ -81,48 +75,46 @@ This command merges your cluster's credentials into the existing kubeconfig and ## 5. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by Azure or a third-party ingress controller like Traefik. -To make sure that you choose the correct Ingress-NGINX Helm chart, first find an `Ingress-NGINX version` that's compatible with your Kubernetes version in the [Kubernetes/ingress-nginx support table](https://github.com/kubernetes/ingress-nginx#supported-versions-table). +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller is already being used. +::: -Then, list the Helm charts available to you by running the following command: +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update -helm search repo ingress-nginx -l -``` - -The `helm search` command's output contains an `APP VERSION` column. The versions under this column are equivalent to the `Ingress-NGINX version` you chose earlier. Using the app version, select a chart version that bundles an app compatible with your Kubernetes install. For example, if you have Kubernetes v1.24, you can select the v4.6.0 Helm chart, since Ingress-NGINX v1.7.0 comes bundled with that chart, and v1.7.0 is compatible with Kubernetes v1.24. When in doubt, select the most recent compatible version. - -Now that you know which Helm chart `version` you need, run the following command. It installs an `nginx-ingress-controller` with a Kubernetes load balancer service: - -``` -helm search repo ingress-nginx -l helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz \ - --set controller.service.externalTrafficPolicy=Local \ - --version 4.6.0 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ + --set service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/ping ``` ## 6. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: -``` +```bash NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.0.116.18 40.31.180.83 80:31229/TCP,443:31050/TCP +traefik LoadBalancer 10.0.116.18 40.31.180.83 80:31229/TCP,443:31050/TCP 67s ``` @@ -145,7 +137,7 @@ Use that DNS name from the previous step as the Rancher server URL when you inst When installing Rancher on top of this setup, you will also need to pass the value below into the Rancher Helm install command in order to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/versioned_docs/version-2.13/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md b/versioned_docs/version-2.13/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md index 85c83a2d503..6b9c38b344e 100644 --- a/versioned_docs/version-2.13/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md +++ b/versioned_docs/version-2.13/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md @@ -52,8 +52,6 @@ Then enter the following values: To create an EKS cluster, run the following command. Use the AWS region that applies to your use case. When choosing a Kubernetes version, be sure to first consult the [support matrix](https://rancher.com/support-matrix/) to find the highest version of Kubernetes that has been validated for your Rancher version. -**Note:** If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. - ``` eksctl create cluster \ --name rancher-server \ @@ -88,46 +86,48 @@ rancher-server-cluster us-west-2 True ### 5. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by AWS (ALB) or a third-party ingress controller like Traefik. -To make sure that you choose the correct Ingress-NGINX Helm chart, first find an `Ingress-NGINX version` that's compatible with your Kubernetes version in the [Kubernetes/ingress-nginx support table](https://github.com/kubernetes/ingress-nginx#supported-versions-table). +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller (ALB) is already being used. +::: -Then, list the Helm charts available to you by running the following command: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: + +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update -helm search repo ingress-nginx -l -``` - -The `helm search` command's output contains an `APP VERSION` column. The versions under this column are equivalent to the `Ingress-NGINX version` you chose earlier. Using the app version, select a chart version that bundles an app compatible with your Kubernetes install. For example, if you have Kubernetes v1.23, you can select the v4.6.0 Helm chart, since Ingress-NGINX v1.7.0 comes bundled with that chart, and v1.7.0 is compatible with Kubernetes v1.23. When in doubt, select the most recent compatible version. - -Now that you know which Helm chart `version` you need, run the following command. It installs an `nginx-ingress-controller` with a Kubernetes load balancer service: - -``` helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --version 4.6.0 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ ``` + ### 6. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: -``` -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) +```bash +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.100.90.18 a904a952c73bf4f668a17c46ac7c56ab-962521486.us-west-2.elb.amazonaws.com 80:31229/TCP,443:31050/TCP - 27m +traefik LoadBalancer 10.100.90.18 a904a952c73bf4f668a17c46ac7c56ab-962521486.us-west-2.elb.amazonaws.com 80:31229/TCP,443:31050/TCP + 67s ``` Save the `EXTERNAL-IP`. @@ -149,7 +149,7 @@ Use that DNS name from the previous step as the Rancher server URL when you inst When installing Rancher on top of this setup, you will also need to pass the value below into the Rancher Helm install command in order to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/versioned_docs/version-2.13/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md b/versioned_docs/version-2.13/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md index a3c3518e4c0..093c5fb589e 100644 --- a/versioned_docs/version-2.13/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md +++ b/versioned_docs/version-2.13/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md @@ -124,7 +124,6 @@ When choosing a Kubernetes version, be sure to first consult the [support matrix To successfully create a GKE cluster with Rancher, your GKE must be in Standard mode. GKE has two modes of operation when creating a Kubernetes cluster, Autopilot and Standard mode. The cluster configuration for Autopilot mode has restrictions on editing the kube-system namespace. However, Rancher needs to create resources in the kube-system namespace during installation. As a result, you will not be able to install Rancher on a GKE cluster created in Autopilot mode. For more information about the difference between GKE Autopilot mode and Standard mode, visit [Compare GKE Autopilot and Standard.](https://cloud.google.com/kubernetes-engine/docs/resources/autopilot-standard-feature-comparison) -**Note:** If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. ``` gcloud container clusters create cluster-name --num-nodes=3 --cluster-version= @@ -140,36 +139,48 @@ gcloud container clusters get-credentials cluster-name This command configures `kubectl` to use the cluster you created. + ## 7. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by GCP or a third-party ingress controller like Traefik. -The following command installs an `nginx-ingress-controller` with a LoadBalancer service: +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller is already being used. +::: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: + +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --version 4.0.18 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ ``` -## 8. Get the Load Balancer IP + +## 8. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: ``` NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.3.244.156 35.233.206.34 80:31876/TCP,443:32497/TCP 81s +traefik LoadBalancer 10.3.244.156 35.233.206.34 80:31876/TCP,443:32497/TCP 81s ``` Save the `EXTERNAL-IP`. @@ -191,7 +202,7 @@ Use the DNS name from the previous step as the Rancher server URL when you insta When installing Rancher on top of this setup, you will also need to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/versioned_docs/version-2.14/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md b/versioned_docs/version-2.14/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md index 6aa9bfda5ac..0d299ca6317 100644 --- a/versioned_docs/version-2.14/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md +++ b/versioned_docs/version-2.14/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-aks.md @@ -52,12 +52,6 @@ az group create --name rancher-rg --location eastus To create an AKS cluster, run the following command. Use a VM size that applies to your use case. Refer to [this article](https://docs.microsoft.com/en-us/azure/virtual-machines/sizes) for available sizes and options. When choosing a Kubernetes version, be sure to first consult the [support matrix](https://rancher.com/support-matrix/) to find the highest version of Kubernetes that has been validated for your Rancher version. -:::note - -If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. - -::: - ``` az aks create \ --resource-group rancher-rg \ @@ -81,48 +75,46 @@ This command merges your cluster's credentials into the existing kubeconfig and ## 5. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by Azure or a third-party ingress controller like Traefik. -To make sure that you choose the correct Ingress-NGINX Helm chart, first find an `Ingress-NGINX version` that's compatible with your Kubernetes version in the [Kubernetes/ingress-nginx support table](https://github.com/kubernetes/ingress-nginx#supported-versions-table). +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller is already being used. +::: -Then, list the Helm charts available to you by running the following command: +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update -helm search repo ingress-nginx -l -``` - -The `helm search` command's output contains an `APP VERSION` column. The versions under this column are equivalent to the `Ingress-NGINX version` you chose earlier. Using the app version, select a chart version that bundles an app compatible with your Kubernetes install. For example, if you have Kubernetes v1.24, you can select the v4.6.0 Helm chart, since Ingress-NGINX v1.7.0 comes bundled with that chart, and v1.7.0 is compatible with Kubernetes v1.24. When in doubt, select the most recent compatible version. - -Now that you know which Helm chart `version` you need, run the following command. It installs an `nginx-ingress-controller` with a Kubernetes load balancer service: - -``` -helm search repo ingress-nginx -l helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz \ - --set controller.service.externalTrafficPolicy=Local \ - --version 4.6.0 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ + --set service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/ping ``` ## 6. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: -``` +```bash NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.0.116.18 40.31.180.83 80:31229/TCP,443:31050/TCP +traefik LoadBalancer 10.0.116.18 40.31.180.83 80:31229/TCP,443:31050/TCP 67s ``` @@ -145,7 +137,7 @@ Use that DNS name from the previous step as the Rancher server URL when you inst When installing Rancher on top of this setup, you will also need to pass the value below into the Rancher Helm install command in order to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/versioned_docs/version-2.14/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md b/versioned_docs/version-2.14/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md index 85c83a2d503..6b9c38b344e 100644 --- a/versioned_docs/version-2.14/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md +++ b/versioned_docs/version-2.14/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-amazon-eks.md @@ -52,8 +52,6 @@ Then enter the following values: To create an EKS cluster, run the following command. Use the AWS region that applies to your use case. When choosing a Kubernetes version, be sure to first consult the [support matrix](https://rancher.com/support-matrix/) to find the highest version of Kubernetes that has been validated for your Rancher version. -**Note:** If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. - ``` eksctl create cluster \ --name rancher-server \ @@ -88,46 +86,48 @@ rancher-server-cluster us-west-2 True ### 5. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by AWS (ALB) or a third-party ingress controller like Traefik. -To make sure that you choose the correct Ingress-NGINX Helm chart, first find an `Ingress-NGINX version` that's compatible with your Kubernetes version in the [Kubernetes/ingress-nginx support table](https://github.com/kubernetes/ingress-nginx#supported-versions-table). +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller (ALB) is already being used. +::: -Then, list the Helm charts available to you by running the following command: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: + +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update -helm search repo ingress-nginx -l -``` - -The `helm search` command's output contains an `APP VERSION` column. The versions under this column are equivalent to the `Ingress-NGINX version` you chose earlier. Using the app version, select a chart version that bundles an app compatible with your Kubernetes install. For example, if you have Kubernetes v1.23, you can select the v4.6.0 Helm chart, since Ingress-NGINX v1.7.0 comes bundled with that chart, and v1.7.0 is compatible with Kubernetes v1.23. When in doubt, select the most recent compatible version. - -Now that you know which Helm chart `version` you need, run the following command. It installs an `nginx-ingress-controller` with a Kubernetes load balancer service: - -``` helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --version 4.6.0 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ ``` + ### 6. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: -``` -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) +```bash +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.100.90.18 a904a952c73bf4f668a17c46ac7c56ab-962521486.us-west-2.elb.amazonaws.com 80:31229/TCP,443:31050/TCP - 27m +traefik LoadBalancer 10.100.90.18 a904a952c73bf4f668a17c46ac7c56ab-962521486.us-west-2.elb.amazonaws.com 80:31229/TCP,443:31050/TCP + 67s ``` Save the `EXTERNAL-IP`. @@ -149,7 +149,7 @@ Use that DNS name from the previous step as the Rancher server URL when you inst When installing Rancher on top of this setup, you will also need to pass the value below into the Rancher Helm install command in order to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option. diff --git a/versioned_docs/version-2.14/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md b/versioned_docs/version-2.14/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md index a3c3518e4c0..093c5fb589e 100644 --- a/versioned_docs/version-2.14/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md +++ b/versioned_docs/version-2.14/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/rancher-on-gke.md @@ -124,7 +124,6 @@ When choosing a Kubernetes version, be sure to first consult the [support matrix To successfully create a GKE cluster with Rancher, your GKE must be in Standard mode. GKE has two modes of operation when creating a Kubernetes cluster, Autopilot and Standard mode. The cluster configuration for Autopilot mode has restrictions on editing the kube-system namespace. However, Rancher needs to create resources in the kube-system namespace during installation. As a result, you will not be able to install Rancher on a GKE cluster created in Autopilot mode. For more information about the difference between GKE Autopilot mode and Standard mode, visit [Compare GKE Autopilot and Standard.](https://cloud.google.com/kubernetes-engine/docs/resources/autopilot-standard-feature-comparison) -**Note:** If you're updating from an older version of Kubernetes, to Kubernetes v1.22 or above, you also need to [update](https://kubernetes.github.io/ingress-nginx/user-guide/k8s-122-migration/) ingress-nginx. ``` gcloud container clusters create cluster-name --num-nodes=3 --cluster-version= @@ -140,36 +139,48 @@ gcloud container clusters get-credentials cluster-name This command configures `kubectl` to use the cluster you created. + ## 7. Install an Ingress -The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. +The cluster needs an Ingress so that Rancher can be accessed from outside the cluster. Installing an Ingress requires allocating a public IP address. Ensure you have sufficient quota, otherwise it will fail to assign the IP address. Limits for public IP addresses are applicable at a regional level per subscription. You can use a managed ingress controller provided by GCP or a third-party ingress controller like Traefik. -The following command installs an `nginx-ingress-controller` with a LoadBalancer service: +:::warning +It is not recommended to install a third-party ingress controller, like Traefik, if a managed ingress controller is already being used. +::: -``` -helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +:::warning +**Ingress-NGINX EOL:** The community `ingress-nginx` controller reaches End-of-Life (EOL) in March 2026. This page uses Traefik, which is the recommended migration path for Rancher environments. +::: + +Traefik includes a native Ingress NGINX provider. This allows you to migrate from NGINX without rewriting your existing Ingress objects, as Traefik will automatically interpret `nginx.ingress.kubernetes.io` annotations. If you are upgrading a cluster that is already using `ingress-nginx`, follow this [guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/) for more information. + +To install Traefik (chart version 39.0.0) on a fresh cluster, run the following `helm` commands: +```bash +helm repo add traefik https://traefik.github.io/charts helm repo update helm upgrade --install \ - ingress-nginx ingress-nginx/ingress-nginx \ - --namespace ingress-nginx \ - --set controller.service.type=LoadBalancer \ - --version 4.0.18 \ - --create-namespace + traefik traefik/traefik \ + --namespace traefik \ + --version 39.0.0 \ + --create-namespace \ + --set service.type=LoadBalancer \ + --set ping.enabled=true \ ``` -## 8. Get the Load Balancer IP + +## 8. Get Load Balancer IP To get the address of the load balancer, run: -``` -kubectl get service ingress-nginx-controller --namespace=ingress-nginx +```bash +kubectl get service traefik --namespace=traefik ``` The result should look similar to the following: ``` NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress-nginx-controller LoadBalancer 10.3.244.156 35.233.206.34 80:31876/TCP,443:32497/TCP 81s +traefik LoadBalancer 10.3.244.156 35.233.206.34 80:31876/TCP,443:32497/TCP 81s ``` Save the `EXTERNAL-IP`. @@ -191,7 +202,7 @@ Use the DNS name from the previous step as the Rancher server URL when you insta When installing Rancher on top of this setup, you will also need to set the name of the ingress controller to be used with Rancher's ingress resource: ``` ---set ingress.ingressClassName=nginx +--set ingress.ingressClassName=traefik ``` Refer [here for the Helm install command](install-upgrade-on-a-kubernetes-cluster.md#5-install-rancher-with-helm-and-your-chosen-certificate-option) for your chosen certificate option.