Files
Kubernetes-Build/Migration.md
T
Janik von Rotz f82724a5cb feat(ingress): complete migration from ingress-nginx to Traefik
- Replace all instances of ingress-nginx with Traefik in documentation and task scripts
- Add new Traefik installation and forwarding tasks
- Update add-repos to include Traefik repo and deprecate ingress-nginx
- Add uninstall-ingress-nginx task for cleanup
- Update test-chart-nextcloud and start-and-prepare to use Traefik
- Update documentation across Exoscale.md, Development.md, and K3s.md
- Mark ingress-nginx as deprecated in list-external-charts
- Add new prompt file for Traefik migration task
- Update ingress class names in clusterIssuer and odoo values to traefik
- Add Migration.md guide for transitioning from ingress-nginx to Traefik
2026-04-01 17:19:03 +02:00

1.6 KiB

Migration from ingress-nginx to Traefik

This guide will help you migrate your Kubernetes cluster from using ingress-nginx to Traefik as your ingress controller.

For a comprehensive, official guide with detailed instructions and troubleshooting, refer to the Traefik documentation on migrating from ingress-nginx.

Prerequisites

  • Kubernetes cluster with ingress-nginx installed
  • Helm 3 installed
  • kubectl configured to access your cluster

Step 1: Install Traefik

  1. Add the Traefik Helm repository:
task add-repos
  1. Install Traefik:
task install-traefik

Step 2: Update Ingress Resources

  1. Update the releases with ingress definitions:
task upgrade-release <chart> <values>

Step 4: Uninstall ingress-nginx

Once you've verified that Traefik is working correctly, you can uninstall ingress-nginx:

task uninstall-release ingress-nginx

Step 5: Verify the Migration

  1. Check that Traefik is running:
kubectl get pods -n kube-system | grep traefik
  1. Test your applications by accessing them through the Traefik ingress:
kubectl get ingress -A
  1. Verify that your applications are accessible through Traefik:
curl -H "Host: your-app.example.com" http://<traefik-service-ip>

Troubleshooting

  • If your applications are not accessible, check the Traefik logs:
kubectl logs -n kube-system -l app.kubernetes.io/name=traefik
  • Ensure that your ingress resources have the correct ingress class set to "traefik"
  • Verify that your DNS records point to the Traefik service IP