<p>Now here are the details:</p>
<ol>
<li>I'm running minikube on WSL2 Ubuntu app (5.10.16.3-microsoft-standard-WSL2):</li>
</ol>
<pre><code>$ lsb_release -a
  No LSB modules are available.
  Distributor ID: Ubuntu
  Description:    Ubuntu 20.04.6 LTS
  Release:        20.04
  Codename:       focal
</code></pre>
<ol start="2">
<li>My minikube VM's driver: <code>--driver=docker</code>.</li>
</ol>
<p>Whenever I run the <code>minikube service</code> command, my web app is automatically opened on my browser at the localhost URL with a random port number different from the port number specified on my service configuration file.</p>
<p>After starting minikube and successfully creating deployment and service with configuration files, when I run:</p>
<pre><code>$ minikube service demo-app-service -n demo-app
</code></pre>
<p>I get the following output:</p>
<pre><code>|-----------------|------------------|-------------|---------------------------|
|    NAMESPACE    |      NAME        | TARGET PORT |            URL            |
|-----------------|------------------|-------------|---------------------------|
| demo-app        | demo-app-service |          80 | http://192.168.49.2:30021 |
|-----------------|------------------|-------------|---------------------------|
🏃  Starting tunnel for service demo-app-service.
|-----------------|------------------|-------------|------------------------|
|    NAMESPACE    |      NAME        | TARGET PORT |          URL           |
|-----------------|------------------|-------------|------------------------|
| demo-app        | demo-app-service |             | http://127.0.0.1:38243 |
|-----------------|------------------|-------------|------------------------|
🎉  Opening service demo-app/demo-app-service in default browser...
❗  Because you are using a Docker driver on linux, the terminal needs to be open to run it.

</code></pre>
<p>First, my local browser opens up automatically and I am able to access my demo app on the localhost URL (<a href="http://127.0.0.1:38243" rel="nofollow noreferrer">http://127.0.0.1:38243</a>), but the port number seems to be randomly assigned as it keeps changing every time I rerun the <code>minikube service</code> command to deploy the same app.</p>
<p>Secondly, my main concern is that the demo app is never reachable at <code>minikube_IP:nodePort</code> (<a href="http://192.168.49.2:30021" rel="nofollow noreferrer">http://192.168.49.2:30021</a>) on my local browser. This is the same <code>nodePort</code> I defined on my service configuration file, and the <code>minikube_IP</code> is the same IP minikube returns when I run</p>
<pre><code>$ minikube ip
</code></pre>
<p>However, when I execute</p>
<pre><code>$ minikube service demo-app-service -n demo-app --url
</code></pre>
<p>the output only provides the localhost URL with a new random port number (<a href="http://127.0.0.1" rel="nofollow noreferrer">http://127.0.0.1</a>:&lt;random_portNumber&gt;).</p>
<p>According to minikube's <a href="https://minikube.sigs.k8s.io/docs/handbook/accessing/#using-minikube-service-with-tunnel" rel="nofollow noreferrer">official documentation</a>, it was stated that,</p>
<p>&quot;The network is limited if using the Docker driver on Darwin, Windows, or WSL, and the Node IP is not reachable directly.&quot;</p>
<p>However, I was hoping this issue may have been resolved by now or maybe there is a workaround it. I have also tried installing VirtualBox as <code>--driver</code> but it just doesn't work.</p>
<p>Please any help will be greatly appreciated. Thank you.</p>

Cloudlord
<p>I kept running into errors trying to install <code>google-chrome</code> on WSL2. Eventually, I had to resort to using the port-forwarding cmd:</p>
<pre><code>kubectl port-forward service/demo-app-service 30021:80 -n demo-app
</code></pre>
<p>With this, I can access my app at my pre-defined node port number (http://localhost:30021) which works well for me.</p>
