问题描述
我正在努力了解如何在Kubernetes中处理以下情况。
我有一个带有守护程序(而不是守护程序)的应用程序
- 一次只能有一个实例。
- PVC应该专门安装到活动POD
- 停机时间可以接受(很明显)
为了实现这一点,我必须将副本设置为0(在部署中),以摆脱正在运行的Pod,然后推出更新。否则,Kubernetes只会将Pod安装在第二个副本中,并且应用程序将继续崩溃,因为它的只有一个实例可以以写入模式访问PVC。我不能允许ReadWriteMany,也不能容忍那些正在运行2个版本的滚动更新。
我阅读了有状态集,但这似乎不起作用,因为k8将创建一个新的PVC存储,我想避免这种情况。
解决此问题的最佳方法是什么? (除了将副本设置为0之外)
谢谢
解决方法
该解决方案非常简单:
http://api.web.com
https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#recreate-deployment