Normally, such an operation should not be necessary.
Try deploying simple “hello world” web application.
$ kubectl create deployment web --image=gcr.io/google-samples/hello-app:1.0
deployment.apps/web created
$ kubectl expose deployment web --port 8080
service/web exposed
$ cat <<EOF | kubectl apply -f -
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: hello-world.info
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web
port:
number: 8080
EOF
ingress.networking.k8s.io/example-ingress created
Then access this web app over FQDN, from the outside of the cluster e.g. different server or workstation. Replace 203.0.113.1
to your actual IP address.
$ curl --resolve hello-world.info:80:203.0.113.1 http://hello-world.info
Hello, world!
Version: 1.0.0
Hostname: web-57f46db77f-2fdl5
Usually, there is an LB in front of the Ingress Controller, and the LB listens for 443. Have you set up the equivalent of “Ingress-managed load balancer” in the diagram in the official documentation?: Ingress | Kubernetes
The MetalLB is the famous one for on-prem kubernetes cluster.
I don’t know where your cluster is located, how many nodes you have, and which distribution of kubernetes are you using, but first of all, try to get the hello world described above working.