K8和带有PVC的守护程序

问题描述

我正在努力了解如何在Kubernetes中处理以下情况。

我有一个带有守护程序(而不是守护程序)的应用程序

  1. 一次只能有一个实例。
  2. PVC应该专门安装到活动POD
  3. 停机时间可以接受(很明显)

为了实现这一点,我必须将副本设置为0(在部署中),以摆脱正在运行的Pod,然后推出更新。否则,Kubernetes只会将Pod安装在第二个副本中,并且应用程序将继续崩溃,因为它的只有一个实例可以以写入模式访问PVC。我不能允许ReadWriteMany,也不能容忍那些正在运行2个版本的滚动更新。

我阅读了有状态集,但这似乎不起作用,因为k8将创建一个新的PVC存储,我想避免这种情况。

解决此问题的最佳方法是什么? (除了将副本设置为0之外)

谢谢

解决方法

该解决方案非常简单:

http://api.web.com

https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#recreate-deployment