StatefulSet是一種有狀態服務,其存儲卷的使用有多種方式:
使用共享存儲,這時在模板中定義一個volume卷,可以給多個pod共享;
每個pod配置獨立的存儲卷,使用非共享存儲(塊存儲)時需要這樣配置,通過配置volumeClaimTemplates實現;
對於StatefulSet使用localvolume的場景,和上述兩種情況都不一樣:
通過volumeClaimTemplates自動生成localvolume的controller沒有提供;
localvolume本身定義了節點信息,會導致使用這個pv的pod調度到相應節點;
StatefulSet如果多個pod使用同一個localvolume,會導致多個pod調度到相同節點;
本文先通過手動創建pvc、localvolume的方式,並利用statefulset 自動生成pvc的規