<p>(WSL2, minikube, Windows 11, Calico plugin, Docker-Desktop)</p>
<p>I simply don't understand why curl timed out when doing <code>curl http://$(minikube ip):32000</code>.
I saw <a href="https://stackoverflow.com/questions/54699742/minikube-has-ip-cant-curl">SO questions</a> but they are not applicable.</p>
<pre><code>$ k create deploy nginxsvc --image=nginx --replicas=3
$ k expose deploy nginxsvc --port=80
</code></pre>
<p>Then I edited the service to change Service Type to NodePort.</p>
<pre><code>$ k get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 &lt;none&gt; 443/TCP 18d
nginxsvc NodePort 10.103.11.225 &lt;none&gt; 80:32000/TCP 19m
regular-encourager NodePort 10.102.236.129 &lt;none&gt; 8080:32058/TCP 15d

$ curl http://$(minikube ip):32000
curl: (28) Failed to connect to 192.168.49.2 port 32000: Connection timed out

$ k describe svc nginxsvc

Name: nginxsvc

Namespace: default

Labels: app=nginxsvc

Annotations: &lt;none&gt;

Selector: app=nginxsvc

Type: NodePort

IP Family Policy: SingleStack

IP Families: IPv4

IP: 10.103.11.225

IPs: 10.103.11.225

Port: &lt;unset&gt; 80/TCP

TargetPort: 80/TCP

NodePort: &lt;unset&gt; 32000/TCP

Endpoints: 10.244.1.233:80,10.244.1.234:80,10.244.1.235:80

Session Affinity: None

External Traffic Policy: Cluster

Events: &lt;none&gt;

$ k get svc nginxsvc -o yaml
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: &quot;2023-03-28T23:18:04Z&quot;
  labels:
    app: nginxsvc
  name: nginxsvc
  namespace: default
  resourceVersion: &quot;531373&quot;
  uid: fcd7960e-8610-4099-a014-9b4ce94cdec2
spec:
  clusterIP: 10.103.11.225
  clusterIPs:
  - 10.103.11.225
  externalTrafficPolicy: Cluster
  internalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  ports:
  - nodePort: 32000
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginxsvc
  sessionAffinity: None
  type: NodePort
status:
  loadBalancer: {}
</code></pre>

likejudo
<p>As @glv pointed <a href="https://minikube.sigs.k8s.io/docs/handbook/accessing/#using-minikube-service-with-tunnel" rel="nofollow noreferrer">out</a>,</p>
<blockquote>
<p>The network is limited if using the Docker driver on Darwin, Windows,
or WSL, and the Node IP is not reachable directly.</p>
</blockquote>
<p>The solution was to</p>
<ol>
<li><p>remove minikube from WSL</p>
<p>minikube delete --purge</p>
</li>
<li><p>Then installed VirtualBox on Windows</p>
</li>
<li><p>Install Ubuntu</p>
</li>
<li><p>Install docker then minikube, kubectl on Ubuntu</p>
</li>
<li><p>Start minikube</p>
<p>minikube start --memory=6g --cpus=4 --driver=docker --cni=calico</p>
</li>
</ol>
<p>Now all the networking that earlier failed, is now working!</p>
