【问题标题】:JupyterHub kernel connection returns HTTP504 GATEWAY_TIMEOUTJupyterHub 内核连接返回 HTTP504 GATEWAY_TIMEOUT
【发布时间】:2019-12-09 09:35:42
【问题描述】:

我正在将 JupyterHub 0.8.2 部署到 kubernetes(AWS 上的 EKS,v1.13)。

当我通过 helm 将 JupyterHub 应用程序部署到 EKS 时,一切都已部署并开始正常运行。但是,当我生成一个笔记本服务器并创建一个 python 笔记本时,内核在尝试连接时会挂起。 (见底部截图)

我在这里看到了一个类似的问题:https://github.com/jupyter/notebook/issues/2664,似乎在 tornado python 包中有回归。但是,我尝试降级到 5.1.1 并没有解决问题...

接下来我可以尝试哪些故障排除步骤?在哪里可以找到 python 内核的诊断信息/日志?

更新:我们现有的一个集群运行了大约 2 个月,今天开始遇到这个内核问题。这让我想知道这是否是某种回归,但是这将如何影响尚未修改的 jupyterhub 部署? jupyterhub 会在未经同意的情况下自行更新库/包吗?

更新2:我在浏览器中检查了网络流量,发现对https://<<JUPYTERHUB_DOMAIN>>/user/me/api/kernels/<<KERNEL_ID>>/channels?session_id=<<SESSION_ID>>的请求正在返回HTTP 504 GATEWAY_TIMEOUT

详细的 HTTP 请求:

GET wss://<<MY_JHUB_DOMAIN>>/user/me/api/kernels/eaf397d3-36da-473c-8342-c4d4d3ad5256/channels?session_id=fa79dc80238648b8b1ea4c3982cb0612 HTTP/1.1
Host: <<MY_JHUB_DOMAIN>>
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
Origin: https://<<MY_JHUB_DOMAIN>>
Sec-WebSocket-Version: 13
User-Agent: redacted
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Cookie: redacted
Sec-WebSocket-Key:redacted
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits

详细的 HTTP 响应:

HTTP/1.1 504 GATEWAY_TIMEOUT
Content-Length: 0
Connection: keep-alive

data:undefined,

【问题讨论】:

    标签: python amazon-web-services jupyter-notebook jupyterhub amazon-eks


    【解决方案1】:

    问题是我们将代理公共 ELB 切换为侦听 http 而不是 tcp,这破坏了内核端点,因为它使用 Web 套接字

    我希望我们在提供 100 个代表赏金后 10 分钟内没有发现这一点:(

    【讨论】:

    • 至少你想通了!
    【解决方案2】:

    问题在于,proxy-public ELB 被切换为侦听 http 而不是 tcp,这破坏了内核端点,因为它使用了 Web 套接字。

    归功于 OP 解决了他们自己的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-22
      • 2021-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多