---
title: "Installing Traefik on OVHcloud Managed Kubernetes"
description: "Find out how to install Traefik as an Ingress Controller on OVHcloud Managed Kubernetes"
url: https://docs.ovhcloud.com/it/guides/public-cloud/containers-orchestration/managed-kubernetes/install-traefik
lang: en
lastUpdated: 2026-10-02
---
> For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/it/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/it/llms-full.txt.

# Installing Traefik on OVHcloud Managed Kubernetes

## Objective

This tutorial explains how to install [Traefik](https://github.com/traefik/traefik) as an Ingress Controller on your OVHcloud Managed Kubernetes Service.

## Requirements

- A working OVHcloud Managed Kubernetes cluster and basic knowledge of how to operate it (see the [OVHcloud Managed Kubernetes Service Quickstart](https://docs.ovhcloud.com/it/guides/public-cloud/containers-orchestration/managed-kubernetes/deploy-hello-world.md))
- [Helm](https://helm.sh/docs/intro/install/) installed on your workstation (see the [Installing and using Helm on OVHcloud Managed Kubernetes](https://docs.ovhcloud.com/it/guides/public-cloud/containers-orchestration/managed-kubernetes/install-helm.md) tutorial)

## Ingress resources and Traefik

In Kubernetes, an Ingress resource allows you to access your Services from outside the cluster. The goal is to use a single Load Balancer for the Ingress Controller instead of creating one Load Balancer per Service.

![Kubernetes Ingress](/images/public-cloud/containers-orchestration/managed-kubernetes/installing-nginx-ingress/ingress.png)

An Ingress is implemented by a third-party Ingress Controller that watches the Kubernetes API for new and updated Ingress resources.

In this tutorial, you will install Traefik Proxy. Traefik routes incoming requests to backend Services according to the rules defined in your Ingress resources.

Deploying Traefik also creates an OVHcloud Public Cloud Load Balancer. The Load Balancer routes external traffic to Traefik, which then forwards each request to the appropriate backend Service.

:::warning
The Kubernetes community [retired ingress-nginx in March 2026](https://kubernetes.io/blog/2025/11/11/ingress-nginx-retirement/). The project no longer receives releases, bug fixes, or security updates and should not be deployed for new workloads.

This guide previously covered ingress-nginx and now uses Traefik. Existing ingress-nginx users should follow the [Traefik migration guide](https://doc.traefik.io/traefik/migrate/nginx-to-traefik/), review their controller-specific annotations, and test the migration before removing their current controller.
:::

## Instructions

### Installing the Traefik Helm chart

For this tutorial, we are using the official [Traefik Helm chart](https://github.com/traefik/traefik-helm-chart) with its default configuration.

```bash
helm repo add traefik https://traefik.github.io/charts
helm repo update traefik
helm upgrade --install traefik traefik/traefik \
  --version 41.0.2 \
  --namespace traefik \
  --create-namespace \
  --wait --timeout 3m
```

Check that the Traefik Deployment is available:

```bash
kubectl rollout status deployment/traefik -n traefik
```

The `LoadBalancer` creation is asynchronous and can take several minutes. Watch the Service until an address appears in the `EXTERNAL-IP` column:

```bash
kubectl get service traefik -n traefik --watch
```

Press `Ctrl+C` to stop watching the Service, then retrieve its external IP address:

```bash
export INGRESS_URL=$(kubectl get service traefik -n traefik -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo "Ingress URL: http://$INGRESS_URL/"
```

### Testing Traefik with an Ingress

To test Traefik, you can, for example, [install WordPress](https://docs.ovhcloud.com/it/guides/public-cloud/containers-orchestration/managed-kubernetes/install-wordpress.md) on your cluster. Then create an `ingress.yml` file with the following content:

```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress
  namespace: default
spec:
  ingressClassName: traefik
  rules:
    - http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: [YOUR_WORDPRESS_SERVICE_NAME]
                port:
                  number: 80
```

:::info
Replace `[YOUR_WORDPRESS_SERVICE_NAME]` with the name of your WordPress Service.
:::

Apply the file:

```bash
kubectl apply -f ingress.yml
```

Check that the Ingress has an address:

```bash
kubectl get ingress ingress
```

Open `http://$INGRESS_URL/` in your browser to see your WordPress site:

![WordPress using Ingress](/images/public-cloud/containers-orchestration/managed-kubernetes/installing-nginx-ingress/installing-ingress-01.png)
## Go further

Read the [Traefik Kubernetes Ingress documentation](https://doc.traefik.io/traefik/reference/routing-configuration/kubernetes/ingress/).

Learn how to [use the OVHcloud Public Cloud Load Balancer with Managed Kubernetes Service](https://docs.ovhcloud.com/it/guides/public-cloud/containers-orchestration/managed-kubernetes/expose-applications-using-load-balancer.md).

For training or technical assistance implementing our solutions, contact your sales representative or visit our [Professional Services](https://www.ovhcloud.com/it/professional-services/) page to request a quote and have your project analysed by our experts.

- Join our [community of users](https://community.ovhcloud.com/).
