Question I have is what happens when I create a service as type NodePort?
Andy Shi

As mentioned here:

If use NodePort: “This gives developers the freedom to set up their own load balancers, to configure environments that are not fully supported by Kubernetes, or even to just expose one or more nodes’ IPs directly”.

So, you will need to add your own load balancer (if you need load balancing) or you simply will be able to connect to that port directly.