gpt4 book ai didi

kubernetes - 寻找使 "kubectl rollout"等待足够长的时间以使服务完成加载数据库的方法

转载 作者:行者123 更新时间:2023-12-02 12:16:26 24 4
gpt4 key购买 nike

我需要了解哪些限制会导致 kubectl 推出超时,并出现“在超时前关闭 watch ”。

我正在推出一项需要在启动时加载数据库的服务。我们在一个节点上运行此服务,不幸的是,该节点与数据库服务器的连接相对较慢。 51 分钟后,它仍然有相当多的数据要加载,但那是推出超时的时候,即使我在服务上的“初始活跃度延迟”设置为 90 分钟。还有什么可能导致它在初始事件延迟之前超时?

更新 :

要同时回答评论和答案:

Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-21T09:17:39Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"8+", GitVersion:"v1.8.5+coreos.0", GitCommit:"b8e596026feda7b97f4337b115d1a9a250afa8ac", GitTreeState:"clean", BuildDate:"2017-12-12T11:01:08Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

我不控制平台。我相信由于我们拥有的服务器版本,我仅限于该客户端版本。

更新 :

我将其更改为将您指定的属性设置为 7200,但它似乎没有任何区别。

然后我决定改变 active 探针的工作方式。该服务有一个自定义的 SpringBoot 健康检查,在今天之前只有当数据库完全加载时才会返回 UP。我现在对其进行了更改,以便 liveness 探针调用运行状况检查,并带有一个指示它是实时检查的参数,因此它可以将实时检查与就绪检查区分开来。它无条件地返回现场,但只有在它准备好时才准备好。不幸的是,这对推广没有帮助。尽管我可以看到实时检查正在返回,但显然需要等待服务准备好。它在 53 分钟后超时,在它准备好之前。

我现在要看看一个有点丑陋的折衷方案,即让环境知道它处于“慢”环境中,并且即使它还没有准备好也准备好返回就绪检查。我想我们至少会为此增加一个很大的初始延迟。

最佳答案

我相信你想要的是.spec.progressDeadlineSeconds在您的部署中。如果您看到 kubectl describe deployment <deployment-name> 的输出,它将具有以下值:Type=Progressing, Status=False. and Reason=ProgressDeadlineExceeded .

您可以将其设置为一个非常大的数字,大于 pod/容器所需的数量。即7200秒,即 2 小时。

关于kubernetes - 寻找使 "kubectl rollout"等待足够长的时间以使服务完成加载数据库的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55870710/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com