<p>We have an existing ALB Ingress controller deployment in EKS cluster having image as v1.1.9:</p>
<p>docker.io/amazon/aws-alb-ingress-controller:v1.1.9</p>
<p>Now we are in process of migrating from AWS ALB Ingress Controller (v1) to the new AWS Load Balancer Controller (v2).</p>
<p>Following this document : <a href="https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/deploy/upgrade/migrate_v1_v2/" rel="nofollow noreferrer">https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/deploy/upgrade/migrate_v1_v2/</a></p>
<p>It mentions that <strong>first need to manually uninstall existing AWSALBIngressController</strong>, but missing details like how to uninstall it. Tried to find AWS EKS documentation on this but everywhere it is mentioned without commands or other details for actual manual uninstallation.</p>
<p>Any help will be appreciated.</p>

<p>First, I would remove all the ingress objects that use ALB Ingress controller (will cause downtime). To do so, <code>kubectl get ingress -A</code>, go through each one of them and see if it has annotation -</p>
<pre><code>annotations:
    kubernetes.io/ingress.class: alb
</code></pre>
<p>Then use <code>kubectl delete ingress &lt;ingress-name&gt;</code> to delete the ingress objects.</p>
<p>To uninstall the controller itself, you need to figure out how it was installed.</p>
<ol>
<li>Check if helm was used - <code>helm ls -A</code>. If you find a release for ALB ingress controller, then simply delete the release using <code>helm delete &lt;release-name&gt;</code> command.</li>
<li>If helm was not use, then go through the installation of v1.1 docs - <a href="https://kubernetes-sigs.github.io/aws-load-balancer-controller/v1.1/guide/controller/setup/#installation" rel="nofollow noreferrer">https://kubernetes-sigs.github.io/aws-load-balancer-controller/v1.1/guide/controller/setup/#installation</a> and undo the steps. For example -</li>
</ol>
<pre><code>kubectl delete -f https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.9/docs/examples/rbac-role.yaml

kubectl delete -f alb-ingress-controller.yaml
</code></pre>
<p>Make sure to <code>kubectl get</code> before deleting the resources blindly and tweak the delete commands according to your setup, thanks.</p>
