<p>There're some ways to expose services: NodePort, LoadBalancer, etc</p>

<p>K8s cluster is in-network 192.168.10.0/24 but I want to access it from 10.100.10.0/24, assume that we have a firewall configured.</p>

<p>How can I access services in the k8s cluster from an external local network 10.100.10.0/24?</p>

<p>You've already mentioned it <a href="https://kubernetes.io/docs/concepts/services-networking/service/#nodeport" rel="nofollow noreferrer"><code>NodePort</code></a> and <a href="https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer" rel="nofollow noreferrer"><code>LoadBalancer</code></a>. </p>

<p>In the case of <code>NodePort</code>, you would use the IP address of the node and the specific TCP/UDP port on that node.</p>

<p>In the case of <code>LoadBalancer</code>, you would you use an <a href="https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer" rel="nofollow noreferrer">'internal'</a> load balancer and use the IP or DNS entry for that load balancer.</p>
