我有一个“大”微服务(网站),在生产环境中使用 Helm Chart 部署了 3 个 Pod,但是当我部署新版本的 Helm Chart 时,在 40 秒(启动我的大微服务的时间)内,我网站有问题(503服务不可用)
所以,我研究了一个解决方案,告诉 kubernetes 在新版本完全启动之前不要杀死旧的 pod
我尝试了--wait --timeout
,但它对我不起作用。
我的 EKS 版本:“v1.14.6-eks-5047ed”
最佳答案
如果没有有关 Pod 的更多详细信息,我建议:
使用Deployment (如果还没有)以便 Pod 由复制 Controller 管理,这允许执行 rolling updates ,并且与 configured 结合 Startup Probe(如果在 k8s v1.16+ 上)或 Readiness Probe,以便 Kubernetes 知道新的 Pod 何时准备好接收流量(当 Pod 的所有容器都准备就绪时,该 Pod 被视为准备就绪)。
关于在 Helm 部署期间,Kubernetes Helm 在杀死旧 Pod 之前等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58980083/