Problem
The major version upgrade does not delete the old Traefik version and the resources associated with it. How to remove them manually?
Solution
1) Make sure that your DNS and external load balancer are configured to route traffic to the load balancer IP address of the new Traefik ingress controller.
To transition your Ingresses from the old LoadBalancer to the new one
2) Copy your existing Ingresses by running the following command:
kubectl get ingress -n <namespace> <name> -o yaml > <name>-2x.yaml
3) Update the annotation from kubernetes.io/ingress.class: traefik
to kubernetes.io/ingress.class": "kommander-traefik"
in the copied Ingress file (<name>-2x.yaml
).
4) Create the new Ingress with the updated annotation by running:
kubectl create -f <name>-2x.yaml
5) Clean up the old resources with these commands:
helm uninstall -n kubeaddons defaultstorageclass-protection-kubeaddons traefik-kubeaddons
kubectl delete svc -n kubeaddons traefik-kubeaddons-entrypoint
kubectl delete namespace kubeaddons
6) Finally, verify that no resources remain in the kubeaddons
namespace with:
kubectl get all -n kubeaddons
You should see the following output:
No resources found in kubeaddons namespace.