GKE 集群升级到 1.14.6 后,VPN 无法访问内部网络

2023-11-27

我们将现有的开发集群从 1.13.6-gke.13 升级到 1.14.6-gke.13,我们的 Pod 无法再通过 Google Cloud VPN 访问我们的内部网络。我们的生产集群(仍在 1.13 上)共享相同的 VPC 网络和 VPN 隧道,并且仍然运行良好。唯一发生变化的是开发集群上的管理节点和节点池升级到 1.14。

我在开发集群上的 Pod 中打开了一个 shell,并尝试 ping 我们需要访问的内部服务器的 IP 地址。没有收到回复。在我们的生产集群中的 Pod 上执行相同的操作可以按预期进行。

我通过 ssh 连接到集群中的一个节点,并且能够 ping 通内部网络。所以这只是 Pod 存在网络问题。

对集群中公开服务的访问仍然按预期进行。健康检查没问题。

UPDATE:

我使用最新的 1.13 版本创建了一个新的节点池,从 1.14 池中排出了 pod,并且 pod 再次在 1.13 池上运行,一切正常。 1.14 肯定有问题。这是由某些新配置选项引起的问题还是只是一个错误还有待观察。

解决:

IP伪装在这里讨论https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent。我的解决方案是将每个集群的 Pod 子网添加到 GCP 上的 VPN 云路由器的公布网络列表中。现在 Pod 网络可以穿越 VPN。


在 GKE 1.13.x 之前,即使没有必要,GKE 也会伪装尝试访问外部 IP 的 pod,即使在集群的同一 VPC 上也是如此,除非目标位于 10.0.0.0/8 范围内。

从 1.14.x 版本开始,集群上不再默认添加此规则。这意味着,由于伪装规则已被删除,尝试到达任何端点的 pod 将显示其 Pod IP,而不是节点 IP。

您可以尝试重新创建 Cloud VPN 以包含 POD IP 范围。

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

GKE 集群升级到 1.14.6 后,VPN 无法访问内部网络 的相关文章

随机推荐

  • 如何在 MATLAB 中对齐子图中的图/图形?

    我有 3 个对象 一张照片和 2 个绘图 要放入一个图形的子图中 它应该看起来像这样 但正如人们所注意到的 照片不应该是正方形 而是矩形 我尝试这样做 在这里找到Matlab 当子图之一包含颜色条时如何对齐子图的轴 main subplot
  • C# 使用 xpath 解析 html

    我正在尝试使用 HTML 文档中的一段简单的 C 代码来解析股票交易信息 问题是我无法理解语法 tr 类 LomakeTaustaVari 被解析出来 但我如何获得没有 tr 类的第二位 这是 HTML 的一部分 它使用不同的值重复自身 t
  • HttpSession 为 SPRING_SECURITY_CONTEXT 返回 null 对象

    我正在尝试整合Spring Saml 库在示例 Web 应用程序中 使用 Shibboleth 作为 IDP 我能够加载登录页面 登录并显示索引页面 问题是 当我单击其他链接时 Web 应用程序会将我重定向到登录页面 然后 IDP 会识别我
  • 在 SwiftUI 中用波浪动画填充圆圈

    我在 swiftUI 中创建了一个圆圈 我想用正弦波动画填充它以实现水波效果 动画 我想用类似的外观来填充它 下面是我的代码 import SwiftUI struct CircleWaveView View var body some V
  • 删除每个 y 轴子图的第一个和最后一个刻度标签

    为了创建 5 个子图 我使用了 ax plt subplots 5 sharex True 然后 我想删除每个 y 轴子图的第一个和最后一个标签刻度 因为它们相互重叠 我使用了 plt setp a get yticklabels 0 1
  • 使用Sinon.js 存根类方法

    我正在尝试使用 sinon js 存根方法 但出现以下错误 Uncaught TypeError Attempted to wrap undefined property sample pressure as function 我也去了这个
  • python多处理池重试

    如果原始计算失败 是否可以使用简单的池重新发送一段数据进行处理 import random from multiprocessing import Pool def f x if random getrandbits 1 raise Val
  • 在Android Studio 4.0中安装CSV插件后无法打开项目设置和build.gradle

    这是我第一次在 Studio 4 0 中遇到这个问题 项目和应用程序级文件无法打开 下面是一些无法打开的其他文件 Android Studio 4 0 csv 文件未打开 不显示任何内容 java 文件未打开 kt 文件未打开 以前有其他人
  • 如何更改视图和部分视图的默认位置

    我是 MVC 新手 非常想知道如何更改视图和部分视图位置 我们知道视图和部分视图存储在视图文件夹中 如果我的控制器名称是 home 则视图必须存储在视图文件夹内的主文件夹中 并且所有部分视图存储在共享文件夹中 我想知道如何更改视图和部分视图
  • Chrome 要求使用 Thin 在我的 Rails 应用程序上为 SSL“选择证书”

    我有一个配置为仅使用 SSL 的 Rails 应用程序 我还拥有 StartSSL 提供的免费 SSL 证书 我通过以下命令使用 Thin 作为我的 Web 服务器 thin start p 80 thin start p 443 ssl
  • Snapchat 一次性下载所有记忆

    多年来 我在 Snapchat 上保存了很多照片 现在我想检索它们 问题是它们不容易导出 但幸运的是 如果您上网 您可以请求所有数据 这太棒了 我可以看到我的所有照片下载链接 并使用本地 HTML 文件 如果我单击 下载 它就会开始下载 这
  • 在 AFNetworking 中使用 URL 参数和 JSON 正文进行 POST

    我想进行一个同时包含 URL 参数和 JSON 正文的 POST 调用 URL http example com register apikey mykey JSON field value 如何通过 AFNNetworking 同时使用两
  • 用Python计算农历/阴阳假期

    这里有日历坚果吗 我一直在寻找有关如何计算公历中不规则发生的当年假期的信息 通常会发生这种情况 因为该假期是基于较旧的农历 我在谷歌上进行了令人作呕的搜索并取得了一些进展 但无法完成 如果有人有现代语言的示例代码来描述他们的计算 我将非常感
  • 在 for 循环中, (int i : high) 做什么,其中 high 是 int 数组 [重复]

    这个问题在这里已经有答案了 正如标题所说 有些人告诉我 如果我想打印数字数组中所有内容的总和 我应该使用上述参数进行 for 循环 如果需要进一步解释 代码将遵循 但其作用的确切定义是什么 我的意思是 部分 是吗 对于数组中的每个数字 i
  • )?图ql' aria-label='不知道如何转换Django字段技能()?图ql'> 不知道如何转换Django字段技能()?图ql

    我正在努力改变我的rest端点指向graphql我有一个图书馆叫TaggableManager作为其中之一model fields 有人知道这如何与 graphql 一起使用吗 提前致谢 你必须明确告诉石墨烯如何转换TaggableMang
  • 在 adb shell 中找不到 grep 命令

    我的手机通过adb连接到电脑后 进入adb shell 然后输入grep给我 grep not found 这是我的adb安装问题还是我的手机问题 如何让 grep 适用于我的设备 PS 这就是为什么我认为这可能是我的手机有问题的原因 而不
  • 错误:使用react-redux时,提供商的钩子调用无效

    我正在制作一个应用程序来从 url 获取参数并根据 url 的值工作 为了做到这一点 我尝试实现 redux 我想我编写了大部分代码 并且我是 React 和 Redux 的初学者 当我在 index js 文件中插入 Provider 时
  • 使用 Gmail 发送邮件的脚本:无法在 SMTP 服务器上进行身份验证

    我很难让 PHP 脚本使用 SMTP Gmail 帐户发送电子邮件 我正在使用 PHP 和 Symfony2 SwiftMailer 但问题似乎出在我的 Gmail 帐户配置上 在我的日志中 我最终收到以下错误消息 ERROR Except
  • 如何在 android ExoPlayer 中显示字幕

    我正在使用 Exoplayer 来播放 URL 我想在 exoplayer 中添加 srt 文件 但我认为播放器不支持srt文件 所以我将文件内容放入 1 个变量中 如何在 android exoplayer 中显示字幕 有点晚了 但它可能
  • GKE 集群升级到 1.14.6 后,VPN 无法访问内部网络

    我们将现有的开发集群从 1 13 6 gke 13 升级到 1 14 6 gke 13 我们的 Pod 无法再通过 Google Cloud VPN 访问我们的内部网络 我们的生产集群 仍在 1 13 上 共享相同的 VPC 网络和 VPN