assuming three nodes k8s or minikube cluster
see ingress-ds
the alternative is to use NodePort and force the port number – beware internal here doesn’t mean internal network. it means cluster network between pods.
service: enabled: true type: NodePort external: enabled: true externalTrafficPolicy: Local nodePorts: http: 30080 https: 30443 internal: enabled: false
# ingress-nodeport alternative nmap -p 30080,30443 $node2 nmap -p 30080,30443 $node3
you will get EXTERNAL-IP <pending>
as the default type for ingress service is LoadBalancer
.
as we use on-premises bare-metal, we need to find another way.
https://kubernetes.io/docs/concepts/services-networking/service-traffic-policy/
https://kubernetes.io/docs/concepts/services-networking/service/
https://stackoverflow.com/questions/51511547/empty-address-kubernetes-ingress
https://stackoverflow.com/questions/44110876/kubernetes-service-external-ip-pending
https://stackoverflow.com/questions/70497416/kubernetes-ingress-nginx-controller-external-ip-pending
https://serverfault.com/questions/934800/kubernetes-nginx-ingress-load-balancer-external-ip-pending