Please use this template for troubleshooting questions.
My issue: all hosts are taken by other resources
How I encountered the problem: I am migrating my ingress-nginx service to nginx-f5. I have changed the class name and annotations properly. But when I apply I am getting the issue like **‘**all hosts are taken by other resources’
Warning Rejected nginx-ingress-controller All hosts are taken by other resources
Solutions I’ve tried: I have set the annotation allowduplicatehosts to true. But still not working
Version of NIC and/or NGINX:
app.kubernetes.io/instance: nginx-f5
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: nginx-ingress
app.kubernetes.io/version: 5.3.2
helm.sh/chart: nginx-ingress-2.4.2
Deployment environment: kubectl get ingress | grep rajdev
rajdev-example-spark nginx-f5 raj.example.com.dev 80, 443 3d6h
rajdev-ie-entry-data-ws nginx-f5 raj.example.com.dev 13.82.15.125 80, 443 3d6h
For once resource, address is resolved but for other it is giving error. I have many ingress resources that are pointing to default namespace and i dont want to put different namespaces. Please suggest the solution
1 Like
Hi @rajasekhar.yannam , thanks posting this issue. This has been answered in a previous AMA with the team; see here.
TLDR; this can be solved by using the following annotation nginx.org/mergeable-ingress-type: "master".
Example:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: cafe-ingress-master
annotations:
nginx.org/mergeable-ingress-type: "master"
spec:
ingressClassName: nginx
tls:
- hosts:
- cafe.example.com
secretName: cafe-secret
rules:
- host: cafe.example.com
and the Ingress Minion can be configured using the following:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: cafe-ingress-tea-minion
annotations:
nginx.org/mergeable-ingress-type: "minion"
spec:
ingressClassName: nginx
rules:
- host: cafe.example.com
http:
paths:
- path: /tea
pathType: Prefix
backend:
service:
name: tea-svc
port:
number: 80
Heres a link to the offical docs: Ingresses Path Matching Using Path-Regex Annotation | NGINX Documentation
Let me know if this solves your issue.
1 Like
Hi Sean_Moloney, Thank you for your prompt response. Actually, I have tried this option but this option is not feasible for my ingress resources as I am using complex annotations. Is there any alternate approach could you please kindly propose?
1 Like
Hey @rajasekhar.yannam ,No problem.
would you mind sharing some of your YAML configurations and annotations?
Hi @Sean_Moloney , Please see below two ingress resources i have provided.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
meta.helm.sh/release-name: rajdev
meta.helm.sh/release-namespace: default
nginx.org/proxy-connect-timeout: "300"
nginx.org/proxy-read-timeout: "300"
nginx.org/proxy-send-timeout: "300"
nginx.org/rewrite-target: /$1
creationTimestamp: "2026-02-03T05:31:24Z"
generation: 9
labels:
app: ie-point-data-ws
app.kubernetes.io/managed-by: Helm
chart: ie-point-data-ws-4.3.1-dev.6_ad77ead
heritage: Helm
release: rajdev
name: rajdev-ie-point-data-ws
namespace: default
spec:
ingressClassName: nginx-f5
rules:
- host: dev.us.monte.train
http:
paths:
- backend:
service:
name: rajdev-ie-point-data-ws
port:
number: 8080
path: /rajdev/point-data/(.*)
pathType: Prefix
tls:
- hosts:
- dev.us.monte.train
secretName: cert
Another Ingress resorice
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
meta.helm.sh/release-name: rajdev
meta.helm.sh/release-namespace: default
nginx.org/rewrite-target: /$1
nginx.org/use-regex: "true"
creationTimestamp: "2026-02-03T05:31:24Z"
generation: 6
labels:
app: dse-spark
app.kubernetes.io/managed-by: Helm
chart: dse-spark-4.2.1-dev.3_e33f9b5
heritage: Helm
release: rajdev
name: rajdev-dse-spark
namespace: default
spec:
ingressClassName: nginx-f5
rules:
- host: dev.us.monte.train
http:
paths:
- backend:
service:
name: rajdev-dse-spark
port:
number: 7080
path: /rajdev/dse-spark/(.*)
pathType: Prefix
tls:
- hosts:
- dev.us.monte.train
secretName: cert
Like this, I have other 20+ Ingress resorices with multiple ingress annotations. Please kindly let me know if any other details required.
Thank you for your kind help.
Please refer to the list of annotations that support mergeable ingress: kubernetes-ingress/examples/ingress-resources/mergeable-ingress-types at main · nginx/kubernetes-ingress · GitHub. Are there any particular annotations for which you would like help?
1 Like
hi @Sean_Moloney @hshannon , Thank you for your help. Actually, I have fixed the host collison issue using meegeable-ingress-types. But after I merge all the resources, Now I am getting 404 error for my UI. I did not see any information or error message in my pod logs or ingress. Could you please help what could be the possible scenarios or where can i go and check further?
@rajasekhar.yannam sorry to hear you are still having issues, can you share what your setup looks like now that you are using the meegeable-ingress-types?
Sean
1 Like
hey @rajasekhar.yannam , can you check if all the Ingresses are in Normal state or they don’t have any nginx error or warning messages ? If all is good then check NIC pod logs and see if the upstream is sending 404 or not.
1 Like