From doc, creating a Gateway listener requires specifying a port, which tells the underlying service which port should listen on. But in Traefik implementation, the port must be one of its entrypoints. Traefik won’t just listen to whatever port the Gateway tells it to.
This seems weird to me. Because in this way, the Gateway actually is not flexible as it should be, certain resource is tied to certain implementation.
Another weird part is that, for example, I used Helm to install Traefik. By default, the pod listens to 8000/8443, and the service listens to 80/443. Guess which ports should be used in Gateway? The pod ports. Hence the Gateway resource actually does not reflect which port is the listener actually listens on. It tells the port is 8000, but external user accesses from 80.