With ingress-nginx 1.0 the project dropped support for the removed Ingress beta APIs, so it needs Kubernetes 1.19 or later, and it selects ingresses with an IngressClass.
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata: { name: nginx }
spec:
controller: k8s.io/ingress-nginx
spec:
ingressClassName: nginx # replaces the old kubernetes.io/ingress.class annotation
rules: [...]
Upgrade checklist:
- Move every Ingress to
networking.k8s.io/v1. - Replace the
kubernetes.io/ingress.classannotation withingressClassName. - Run the upgrade in a test cluster and compare generated config.
- Review annotations such as
rewrite-target, which behave differently with path regexes.
kubectl get ingressclass
kubectl describe ingress site
If an ingress shows no address, check that its class matches a controller that is actually running.