StatefulSet是一种有状态服务,其存储卷的使用有多种方式:
使用共享存储,这时在模板中定义一个volume卷,可以给多个pod共享;
每个pod配置独立的存储卷,使用非共享存储(块存储)时需要这样配置,通过配置volumeClaimTemplates实现;
对于StatefulSet使用localvolume的场景,和上述两种情况都不一样:
通过volumeClaimTemplates自动生成localvolume的controller没有提供;
localvolume本身定义了节点信息,会导致使用这个pv的pod调度到相应节点;
StatefulSet如果多个pod使用同一个localvolume,会导致多个pod调度到相同节点;
本文先通过手动创建pvc、localvolume的方式,并利用statefulset 自动生成pvc的规