Minikube服务访问本地VPN

2023-12-20

如何让我的 pod 或 minikube 能够查看我的笔记本电脑通过 VPN 连接到的 10.x 网络?

设置: * 迷你库贝 * PHP 容器

php 代码访问私有存储库,10.x 地址。东西可以在本地找到,但我无法在 Pod 中访问同一个 10.x 地址。

如何让我的 pod/minikube 访问我的 VPN 路由?

my-pod-99dc9d9d4-6thdj# 
my-pod-99dc9d9d4-6thdj# wget https://private.network.host.com/
Connecting to private.network.host.com (10.x.x.x:443)
^C
my-pod-99dc9d9d4-6thdj# 

(显然是经过消毒的)

PS:我确实找到了一篇文章提到了我所追求的内容,但我似乎无法让它发挥作用:如何从 Kubernetes Pod 连接到私有 IP https://stackoverflow.com/questions/55458997/how-to-connect-to-a-private-ip-from-kubernetes-pod

仍然无法访问私有IP(通过我的主机的VPN)。


有几种方法可以实现这一目标。

如果您只想从 VPN 向 minikube 公开一些服务,那么您可以利用 SSH 的反向隧道,如本文所述;将服务代理到 minikube https://medium.com/tarkalabs/proxying-services-into-minikube-8355db0065fd。这会将服务呈现为 minikube VM 上的端口,因此本质上就像一个 nodePort,然后 SSH 会将这些服务导出,主机将通过 VPN 为您路由它们。

但是,如果您确实需要访问 VPN 后面的整个网络,那么您将需要使用不同的方法。以下假设您的 VPN 配置为分割隧道,它使用 NAT,并且没有使用冲突的 IP 范围。

最简单的选择是在 minikube 内运行 VPN 客户端,从而提供对 VPN 和网络的一流访问,并且不需要设置任何路由。另一种选择是自行设置路由,以便到达主机上的 VPN。这意味着确保涵盖以下内容:

  1. Pod 网络的主机路由;sudo ip route add $REPLACE_WITH_POD_NETWORK} via $(minikube ip)例如就我而言,这是sudo ip route add 10.0.2.0/24 via 192.168.99.119
  2. 从主机 ping 到 pod 网络地址(您必须使用 kubectl 进行查找,例如kubectl get pod -n kube-system kube-apiserver-minikube -o yaml)

这应该可行,因为 pod/service/kubelet 中的网络/路由是由默认路由处理的,它涵盖了所有内容。然后,当流量到达主机时,VPN 及其暴露的任何网络都会有相应的路由,主机将知道将其路由到 VPN,并对其进行 NAT 以处理返回路径。当流量返回时,由于 NAT,它将到达您的主机,它将查找路由表,查看您之前添加的条目,并将流量转发到 minikube,然后转发到 pod/服务,瞧!

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Minikube服务访问本地VPN 的相关文章

随机推荐

  • ggplot2 boxplots - 当没有显着比较时如何避免额外的垂直空间?

    在关于如何制作具有方面和显着性水平的箱线图的许多问题之后 特别是this https stackoverflow com questions 45476950 r ggplot2 boxplots ggpubr stat compare m
  • 扩展第三方库/模块的存根文件

    我正在使用yarl https github com aio libs yarl blob master yarl init pyi图书馆的URL object 它具有准私有属性 val 这是一个urllib parse SplitResu
  • Safari 浏览器(iPhone 模拟器):如何查看/监控所有正在触发的事件?

    我正在 Safari OSX 中使用 iPhone 模拟器来调试 JavaScript 然而 我正在使用控制台 因为页面上有许多事件处理程序 另外我想看看浏览器是否还触发任何其他事件 例如 触摸时悬停 看到任何事件处理程序都会非常有用 所有
  • JavaScript - addEventListener“点击”不起作用

    我想在单击按钮后从输入中获取值 但始终起作用 var buttonToBinary document querySelector toBinary buttonToBinary addEventListener click console
  • 有没有办法让 SAS 在第一次警告或错误时停止?

    SAS 喜欢在出现警告和错误后继续处理 因此我经常需要向后滚动日志中的页面以查找问题 有没有更好的办法 我希望它在出现第一个错误或警告时立即停止 以便我可以修复它并重试 之前建议使用 ERRORS 1 选项 但这只会阻止错误消息写入日志 我
  • vscode package.json 字符串与模式不匹配

    我正在一个使用 npm 的现有项目上尝试 VSCode 该项目有一个 package json 文件 该文件具有相应的 name 键 其中读取 SpecPro File Management UI VSCode 反对这一行 字符串与模式不匹
  • 处理形状可绘制差异的最佳方法 Android 2.3.5 与 4.0

    我正在尝试使用以下形状绘制一个形状 当使用以下命令时 这在 1 6 到 2 3 5 中可以正常工作
  • 从另一个分支更新 github 分支

    我从另一个分支创建了一个分支 然后我回到之前的分支并继续工作 现在我已经转到第二分行了 但是第二个分支没有第一个分支的新变化 我只想更新第一个分支的第二个分支而不删除其中任何一个 但是第二个分支没有第一个分支的新变化 单独切换到第二个分支不
  • C struct 的 Python 等效项(将应用程序从 C 移植到 python)

    我正在移植一个简单 的蓝牙应用程序 它将 L2Cap 协议上的 神奇 数据包发送到蓝牙设备 我在将 C 中的结构对象转换为等效的 python 时遇到问题 In c command types define CFGBT TYPE SETRE
  • 如何重写泛型方法

    通用方法 public
  • 使用 glob() 显示目录中的图像,同时回显唯一的第一张图像

    我对 PHP 很陌生 我不想在这里问任何事情 直到我完全找不到方法来做到这一点 我有一种情况 我想使用 PHP 读取并显示目录中的图像 但我希望读取的第一个图像能够唯一地回显 我当前的代码如下 imageDir img landMarks
  • 如何使用 RGB 图像作为 C# EvalDll 包装器的输入?

    我使用提供的 ImageReader 训练了一个网络 现在我尝试在 C 项目中使用 CNTK EvalDll 来评估 RGB 图像 我看过与 EvalDll 相关的示例 但输入始终是浮点 双精度数组 而不是图像 如何使用公开的接口将经过训练
  • 从函数返回数组/指针

    我正在尝试创建一个从字符串派生的新整数数组 例如 char x 12334 23845 32084 int y 12334 23845 32084 我无法理解如何从函数返回数组 我理解这是不可能的 我最初尝试过 Convert string
  • 无法通过 HTTPS 在 Linux 上克隆 github 存储库

    我正在尝试做一个简单的git clone https github com org project git在 CentOS 机器上但得到 错误 访问时请求的 URL 返回错误 401https github com org project
  • R 中“存在的一切都是对象”的真正含义是什么?

    I saw 要理解 R 中的计算 有两个口号很有帮助 存在的一切都是对象 发生的一切都是函数调用 约翰 钱伯斯 但我刚刚发现 a lt 2 is object a FALSE 实际上 如果一个变量是纯基类型 它的结果 is object 将
  • 运行“Composer Install”后缺少“vendor”文件夹

    我目前正在尝试在 Vagrant Homestead 上运行一个从 Github 拉取的 Laravel 应用程序 我将其连接到数据库 并在文件夹内运行 Composer Install Composer Update 当我尝试在浏览器上访
  • 从二项式分布生成相关随机数

    我试图找到一种方法从几个二项式分布生成相关随机数 我知道如何用正态分布来做到这一点 使用MASS mvrnorm 但我没有找到适用于二项式响应的函数 您可以使用以下命令生成相关制服copula包 然后使用qbinom函数将它们转换为二项式变
  • Python,选择日志文件的目录

    我正在使用 Python 日志记录库 并且想要选择将写入日志文件的文件夹 目前 我举了一个例子TimedRotatingFileHandler与入口参数filename myLogFile log 这边走myLogFile log与我的 p
  • 处理 J2ME 中的可选 API

    是什么right在 Java Mobile 中使用可选 API 的方式 是否需要制作不同版本的应用程序 或者使用以下命令在运行时检查 API 可用性是否足够System getProperty 假设我希望我的应用程序支持 JSR 256 传
  • Minikube服务访问本地VPN

    如何让我的 pod 或 minikube 能够查看我的笔记本电脑通过 VPN 连接到的 10 x 网络 设置 迷你库贝 PHP 容器 php 代码访问私有存储库 10 x 地址 东西可以在本地找到 但我无法在 Pod 中访问同一个 10 x