目录
RollingUpdate
OnDelete
Partitioned
RollingUpdate
当updateStrategy的值被设置为RollingUpdate时,StatefulSet Controller会删除并创建StatefulSet相关的每个Pod对象,其处理顺序与StatefulSet终止Pod的顺序一致,即从序号最大的Pod开始重建,每次更新一个Pod。注意,如果StatefulSet的Pod Management Policy被设置为OrderedReady,则可能在更新过程中发生一些意外,从而导致StatefulSet陷入奔溃状态,此时需要用户手动修复。
OnDelete
当updateStrategy的值被设置为OnDelete时,StatefulSet Controller并不会自动更新StatefulSet中的Pod实例,而是需要用户手动删除这些Pod并触发StatefulSet Controller创建新的Pod实例来弥补,因此这其实是一种手动升级模式。
Partitioned
updateStrategy也支持特殊的分区升级策略(Partitioned),在这种模式下,用户指定一个序号,StatefulSet中序号大于等于此序号的Pod实例会全部被升级,小于此序号的Pod实例则保留旧版本不变,即使这些Pod被删除、重建,也仍然保持原来的旧版本。这种分区升级策略通常用于按计划分步骤的系统升级过程中。