首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes HTTP流量被更新到pod

Kubernetes HTTP流量被更新到pod
EN

Stack Overflow用户
提问于 2021-06-30 08:38:11
回答 1查看 77关注 0票数 0

我有一个具有以下结构的管道:

代码语言:javascript
复制
Step 1: kubernetes-deployment
Step 2: kubectl rollout restart deploy -n NAMESPACE
Step 3: http-calls to deployment A and B

在相同的名称空间中,有一个数据库pod,Pod AB连接到这个数据库。

问题所在

这个问题现在是由滚动更新引起的--当应用滚动更新时,kubernetes会在部署更新时启动新的吊舱。但是,在相应的新吊舱开始之前,旧吊舱不会被终止。

由于kubectl rollout restart deploy是一个非阻塞调用,它不会等待更新完成.而afaik,没有内在的方式来强制这样的行为。

当我在调用它之后执行一些HTTP请求时,我现在遇到了一个问题,即有时是,当更新不够快时,来自部署AB的旧pods接收并应答HTTP调用。不久后,旧豆荚将被终止,因为新的是启动和运行。

这导致了这样的问题,即这些HTTP请求的影响不再可见,因为它们是由旧的吊舱接收的,从而将相应的数据保存在位于“旧”数据库荚中的数据库中。当数据库pod重新启动时,数据将丢失。

请注意,在本例中,我不使用persistent Volume,因为这来自夜间构建场景,我希望每天重新启动这些部署,数据库状态应该始终只包含当前构建的数据。

你能找到解决这个问题的办法吗?包括一个简单的wait步骤可能会有效,但我很好奇是否有更好的解决方案。

提前谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-03 15:05:15

kubectl rollout status deployment <deploymentname>startupProbelivenessProbe一起解决了我的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68191250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档