如何回滚 Kubernetes StatefulSet 应用程序

How to rollaback Kubernetes StatefulSet application

目前,我正在将我们的一项微服务从 K8S 部署类型迁移到 StatefulSets。 在更新 Kubernetes 部署配置时,我注意到 StatefulSets 不支持 revisionHistoryLimitminReadySeconds.

  1. revesionHistoryLimit用于保留前N个副本集回滚
  2. minReadySeconds 是 pod 在没有任何容器崩溃的情况下应该准备就绪的秒数。

我找不到 StatefulSets 的任何兼容设置。

所以我的问题是: 1) master 需要等多久才能考虑 Stateful Pod 就绪? 2) 如何处理有状态应用的回滚。

  1. 您应该定义一个就绪探测器,master 将等待它报告 pod 就绪。
  2. StatefulSet 目前不支持回滚。
  1. 恢复配置后,您还必须删除 StatefulSet 已尝试 运行 使用错误配置的任何 Pods。新的 pod 将自动以正确的配置启动。