kubernetes 请求挂起,除非提供超时参数

6uxekuva  于 2022-12-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(97)

我的后端在openshift上运行,并通过kubernetes python客户端向其他openshift集群发出get请求。我遇到了一个问题,请求在达到默认超时值之前挂起。我在pod中做了一些测试,看看它是否可以到达其他openshift集群,并发现了以下问题:requests.get("some_other_cluster_api_url")将挂起并在2分钟内正确返回,但requests.get("some_other_cluster_api_url", timeout=1)在1秒内正确返回。为什么在第一种情况下请求没有立即返回?
编辑:curl也能立即返回正确的响应

6qftjkof

6qftjkof1#

根据这个Timeout文档,在第一种情况下,你没有设置任何超时值。默认情况下,请求不会超时,除非显式设置了超时值。如果没有超时,你的代码可能会挂起几分钟或更长时间。
在第二种情况下,您将超时值设置为1,这将仅在1秒内返回响应。
例如:

If you specify a single value for the timeout, like this:
r = requests.get('https://github.com', timeout=5)

然后在5秒内返回响应。
有关超时请求的更多信息和用法,请参阅本文档和SO

相关问题