📄️ 链接到集群网络
使用命令 kubevpn connect 链接到集群,请注意这里需要输入电脑密码。因为需要 root 权限。(创建虚拟网卡)
📄️ 域名解析
支持 k8s dns 解析。比如一个名为 productpage 的 Pod 或者 Service 处于 default 命名空间下可以被如下域名正常解析到:
📄️ 短域名解析
连接到此命名空间下,可以直接使用 service name 的方式访问,否则访问其它命令空间下的服务,需要带上命令空间作为域名的一部分,使用如下的域名即可。
📄️ 链接到多个集群网络
可以看到已经链接到了一个集群 ccijorbccotmqodvr189g
📄️ 反向代理
使用命令 kubevpn proxy 将某个工作负载的入站流量反向代理到本地电脑。
📄️ 反向代理支持服务网格
支持 HTTP, gRPC, Thrift 和 WebSocket 等, 携带了指定 header "foo: bar" 的流量,将会路由到本地
📄️ 本地进入运行模式
将 Kubernetes pod 运行在本地的 Docker 容器中🐳,同时配合 service mesh 拦截流量到本地——可以是带有指定 header(--headers)的请求,或在不带 header 时拦截工作负载已声明容器端口上的所有流量。这个运行模式依赖于本地 Docker。
📄️ 在 Docker 中使用 (Docker in Docker)
如果你想在本地使用 Docker in Docker (DinD) 的方式启动运行模式, 由于程序会读写 /tmp
📄️ 同步模式
在同一个集群中运行同步工作负载,并与服务网格配合,拦截带有指定 header 的流量或全部流量到同步的服务。
📄️ 支持多种协议
支持 OSI 模型三层及三层以上的协议,例如:
📄️ 支持三大平台
支持全平台,同时也支持 arm64 和 amd64 架构
📄️ RBAC 权限
KubeVPN 涉及两个不同的身份,各自需要不同的 RBAC 权限:
📄️ SSH 连接到远程服务器
使用命令 kubevpn ssh 连接到远程服务器,可选创建双向网络隧道。
📄️ 本地出站代理 (proxy-out)
对于嵌套 VPN 场景或无法使用 TUN 设备的环境,kubevpn 提供了本地 SOCKS5 和 HTTP CONNECT 代理来访问集群服务。
📄️ 连接管理
当同时连接到多个 Kubernetes 集群时,kubevpn 提供连接管理命令来列出和切换活跃连接。
📄️ 路由管理
kubevpn 提供路由管理命令,用于在 TUN 设备上添加、删除和搜索路由。
📄️ 镜像管理
kubevpn 提供镜像管理命令,用于跨仓库复制和重新标记容器镜像。基于