0

我在 GKE 中部署了一个应用程序(比如 app1),在现有集群中使用 Jenkins 和另一个应用程序(比如 app2)提供服务、部署和证书设置。另一个应用程序的部署方式与新应用程序相同,带有证书(以及静态 IP 和 DNS 条目)。

Jenkins 没有暴露给外部 IP,所以我曾经在云控制台中使用端口转发选项,然后使用 Web 预览 - 这会创建一个 apppot URL,它允许我登录到 Web 管理员。

部署 app2 后发生了一些奇怪的事情。我使用 webpreview 按钮对其进行了测试,并且可以访问它。一切都很好,它可以通过 HTTPS 和所有的新 URL 访问。但在那之后,Jenkins 的网络预览就不再工作了。相反,我总是会被重定向到 app2。

我不知道为什么,所以我从 app2 中删除了所有内容,现在我遇到了一些非常奇怪的情况:

  • 在我执行大部分操作的(Chrome)浏览器中,我仍然可以在 DNS 中的 FQDN 和 apppot 链接(https://8080-dot-1234567-dot-devshell.appspot )上访问(损坏的)应用程序.com/即使在我重新启动后,清除缓存并注销 google 帐户(甚至删除了 statis IP) - 端口转发操作有效并提供上述链接(带有其他数字)
  • 在运行 Ubuntu 的同一台笔记本电脑上的另一个(Chromium)浏览器中,portford 操作有效,但是当单击浏览器中的链接时,它不会生成另一个 appot url,并且失败并显示 500 错误屏幕

在阅读了一下之后,我知道有一些代理用于进行转发,我希望代理会“挂起”一些方式,最重要的是,集群中似乎有一些应用程序遗留下来,实际上不应该在那里

我目前有基本支持,因此没有资格获得技术支持。我找不到手动访问 apppot 代理的方法,也没有发现负载均衡器或我知道的任何其他可能导致此问题的东西。

如果我在第二个浏览器的云 shell 中运行 portfoward,我可以在暴露的端口上卷曲到 localhost 并获取 Jenkins,因此该部分似乎可以工作,但 Web 预览则不能。

我该如何解决这个问题(意味着回到为 Jenkins 工作的 Web 预览并摆脱应用程序遗留问题)?

4

1 回答 1

1

我实际上是在同事的帮助下找到了这个问题的原因。我部署的第二个应用程序是 Yopass。事实证明,它使用了一个服务工作者,它缓存(几乎)浏览器中的所有内容,包括大部分应用程序,我想是离线运行的。

尽管我尝试在开发人员选项的网络选项卡中清除缓存,但我仍然有这种行为,这让我认为这不是缓存问题。删除 FQDN url 和应用程序域的应用程序选项卡中的所有缓存后,行为恢复正常。

我还不能在其他浏览器中修复它,但我想那也是缓存。感谢您的帮助,我认为这已解决。

于 2020-08-13T13:41:41.800 回答