跳转至主要内容

VPN proxy

VPN proxy 模式#

Nocalhost 支持 VPN 功能,如果你的应用能以简单方式运行,并不依赖于像 PVC,Cm 等 K8s 资源,那么你可以使用流量代理模式来进入开发模式

在这种模式下,Nocalhost 将会为你本地网络提供 K8s 集群的网络环境,你可以直接使用 K8s DNS 来访问 K8s 服务 (例如直接通过 svc name 来访问 K8s service),或者通过 pod ip 和 svc ip 等方式。

同时,Nocalhost 将会拦截所有流入指定 service 的流量并转发到本地,你可以在本地直接启动业务进程来开发和调试。

特性#

  • 在本地使用 k8s DNS 直接访问 K8s 集群上的服务。
  • 拦截所有流入指定 service 的流量并转发到本地。
  • 支持多种协议,包括 TCP, UDP, ICMP, 等。
  • 支持多种操作系统,包括 Windows, macOS, Linux 等。

架构#

像下面的图片所展示的一样,在同一个集群和命名空间中

  • 开发者 1 拦截服务 3。
  • 开发者 2 拦截服务 4。
  • 服务 3 所有入站流量都将通过流量管理器转发到开发者 1 的本地。
  • 服务 4 所有入站流量都将通过流量管理器转发到开发者 2 的本地。
  • 开发者 1 可以通过流量管理器访问集群网络。
  • 开发者 2 可以通过流量管理器访问集群网络。
  • 开发者 1 和开发者 2 可以使用内部 IP 访问对方(魔法操作)。

architecture

使用方法#

进入 VPN proxy 模式#

vscode

  • 在 Windows 上,你将看到一个全屏的提示,选择 yes

vscode

  • 在 Linux/Mac OS 上,你需要输入 sudo 密码以允许 nhctl 创建虚拟网络设备

vscode

jetbrains

Demo 演示#