当前位置: 首页 > 知识库问答 >
问题:

Kubernetes的掌舵人在掌舵人部署期间杀死旧吊舱之前等待着

郑伟彦
2023-03-14

我有一个“大”微服务(网站),在production env中部署了3个POD和Helm Chart,但当我部署新版本的Helm Chart时,在40秒内(启动我的大微服务的时间),我的网站(503服务不可用)出现问题

我尝试了--wait--timeout,但它对我不起作用。

我的EKS版本:“V1.14.6-EKS-5047ED”

共有1个答案

姜旭
2023-03-14

如果没有更多关于吊舱的细节,我建议:

使用部署(如果还没有),这样Pod就可以由复制控制器管理,它允许进行滚动更新,并且结合配置的启动探测(如果在k8s v1.16+)或就绪探测,这样Kubernetes就可以知道新的Pod何时准备好接受流量(当Pod的所有容器都准备好了,就认为Pod就绪了)。

 类似资料:
  • 我创建了一个有2个节点的kubernetes集群(GCP GKE)。我为druid(端口2181)设置了zookeeper我工作得很好,但是,我想在同一个集群中部署kafka pod。所以我使用helm,但是当我在脚本values.yaml末尾更改端口时,我运行helm upgrade如下所示 并使用

  • 删除缓存的存档以强制重新下载: 执行明确的回购更新 比较github上8天前修改的最新版本:https://github.com/confluentinc/cp-helm-charts/blob/master/charts/cp-kafka/templates/statefulset.yaml#L140 github版本具有。Helm提取的版本只有而没有后面的。 为什么Helm拉出的文件在GitH

  • 我正在考虑有一个init容器,在运行第二个pod之前定期检查第一个pod的就绪探测(不确定是否可以这样做)?不确定--请给我点子...

  • 当我将触发helm install命令时,helm将读取所有的yml,因此将尝试一次部署所有的pods,这是我不想要的。我希望我的工作首先成功,然后只有其他的吊舱应该开始部署。当作业正在运行时,所有其他POD都应该等待或不应该启动,因为它们都依赖于作业的成功。 我怎样才能用Helm完成这个案子。请建议。我如何让其他豆荚等待,让他们知道工作已经成功地完成了。

  • 我在kubernetes部署了一个基于play框架的java应用程序。其中一个吊舱因内存不足/内存泄漏而死亡。在本地,可以使用一些实用程序并监视jvm堆的使用情况。我是库伯内特斯的新手。 如果您告诉我如何在一个被杀死的Kubernetes吊舱中检查我的应用程序的堆使用历史记录,我将不胜感激。kubectl get events on this killed pod将提供事件历史记录,但我想检查该死

  • 然后用 我可以看到新的豆荚开始,旧的豆荚终止。我想知道,一旦旧的pod被终止,并且从中消失,我还能找到它们的pod名称吗?