【发布时间】:2020-08-10 19:35:15
【问题描述】:
我很难理解如何在 Kubernetes 中处理以下场景。
我有一个带有守护程序(不是守护程序集)的应用程序
- 一次应该只有一个实例。
- PVC 应仅安装到活动 POD
- 停机时间可以接受(显然)
为了实现这一点,我必须将副本设置为 0(在部署中)以摆脱正在运行的 pod,然后推出更新。否则,Kubernetes 只是将 pod 挂载到第二个副本中,并且应用程序不断崩溃,因为它只有一个实例可以在写入模式下访问 PVC。我不能允许 ReadWriteMany,也不能容忍运行 2 个版本的滚动更新。
我阅读了 Stateful Sets,但这似乎不起作用,因为 k8s 会创建一个新的 PVC 存储,我想避免这种情况。
这个问题最优雅的解决方案是什么? (除了将副本设置为 0)
谢谢
【问题讨论】:
标签: kubernetes deployment infrastructure