<p>Given:</p>

<ul>
<li>VPN instance. This instance runs on internal IP 10.6.240.3</li>
<li>Kubernetes POD running on internal IP 10.6.240.4 </li>
</ul>

<p>Question:
Why is it not possible to ping / curl / access the POD ip from the VPN instance?</p>

<p>What I need to archieve is to connect to the POD ip from inside my local network through the VPN tunnel. </p>

<p>What am I doing wrong?</p>

<p><strong>EDIT:</strong>
Same applies to NodePorts:
<a href="https://i.stack.imgur.com/5PJN2.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/5PJN2.png" alt="enter image description here"></a></p>

<pre><code>@vpn-gateway:~$ curl -vvv 10.7.244.149:666
* Rebuilt URL to: 10.7.244.149:666/
*   Trying 10.7.244.149...
* TCP_NODELAY set
</code></pre>

<p>The VPN gateway cannot access the NodePort</p>

<p><strong>EDIT2:</strong> Service configuration:</p>

<pre><code>apiVersion: v1
kind: Service
metadata:
  labels:
    app: scs-ui
  name: scs-ui
spec:
  clusterIP: None
  ports:
  - name: application
    port: 666
  selector:
    app: scs-ui
</code></pre>

Alex Tbk
<p>Just found an solution:</p>

<p>Create a LB in the address range of the VPN / Kubernetes. This way the request is routed through the VPN into the service from my local mashine.</p>

<pre><code>apiVersion: v1
kind: Service
metadata:
  name: elassandra-ingress
  annotations:
    cloud.google.com/load-balancer-type: "Internal"
  labels:
    app: elassandra-ingress
spec:
  type: LoadBalancer
  loadBalancerIP: 10.164.0.100
  ports:
  - port: 9042
    protocol: TCP
  selector:
    app: elassandra
</code></pre>
