<p>Whats the difference between kubectl port-forwarding (which forwards port from local host to the pod in the cluster to gain access to cluster resources) and NodePort Service type ?</p>

<p>You are comparing two completely different things. You should <a href="https://medium.com/google-cloud/kubernetes-nodeport-vs-loadbalancer-vs-ingress-when-should-i-use-what-922f010849e0" rel="noreferrer">compare</a> ClusterIP, NodePort, LoadBalancer and Ingress.</p>
<p>The first and most important difference is that NodePort expose is persistent while by doing it using port-forwarding, you always have to run <code>kubectl port-forward ...</code> and kept it active.</p>
<p>kubectl port-forward is meant for testing, labs, troubleshooting and not for long term solutions. It will create a tunnel between your machine and kubernetes so this solution will serve demands from/to your machine.</p>
<p>NodePort can give you long term solution and it can serve demands from/to anywhere inside the network your nodes reside.</p>
