1.一种实现有状态服务存储数据共享的方法,其特征在于,包括以下步骤:步骤1,在一个POD的启动过程中,首先启动的是存储容器,然后是业务容器;步骤2,存储容器在第一次启动,需要连接远端的存储服务模块,进行资源初始化;步骤3,存储容器启动成功后,业务容器启动,按照服务数据持久化需求,把数据写入到共享卷;步骤4,存储容器实时监测共享卷中的数据,并同步到远端的存储服务模块,同时根据创建存储版本;步骤5,如果业务容器宕机,同时POD没有漂移到其他的负载节点,存储容器在启动时,如果远端的存储服务模块的存储版本和共享卷中的存储版本一致,则直接启动业务容器,如果不一致,则根据远端的存储服务模块的最新存储版本先进行数据恢复,即从远端的的存储服务模块中还原数据到共享卷中,然后启动业务容器;步骤6,如果POD漂移到其他负载节点,存储容器在启动时,会检测远端的存储服务模块是否有对应的存储资源,如果远端的存储服务模块已经存在存储资源数据,则对远端的存储服务模块的存储版本和共享卷中的存储版本进行匹配,如果远端的存储服务模块的版本较新,则开始从远端的存储服务模块中恢复数据到共享卷,然后业务容器启动后就可以读到宕机前最新的版本数据;当业务容器有写入数据到共享卷中,存储容器会实时同步到远端的存储服务模块中。
2.使用权利要求1方法的一种实现有状态服务存储数据共享的系统,其特征在于,包括容器平台、存储服务模块、业务容器、存储容器和共享卷,所述的业务容器、所述的存储容器和所述的共享卷部署在所述的容器平台中,所述的存储容器用以实现与所述的存储服务模块的数据交互功能,所述的业务容器和所述的存储容器能够读写同一个共享卷,实现数据共享。
3.根据权利要求2所述的一种实现有状态服务存储数据共享的系统,其特征在于,所述的业务容器和所述的存储容器采用边车模式部署在一个POD内,两者挂载同一个共享卷。
4.根据权利要求2所述的一种实现有状态服务存储数据共享的系统,其特征在于,所述的容器平台为kubernetes容器平台。
5.根据权利要求2所述的一种实现有状态服务存储数据共享的系统,其特征在于,所述的存储服务模块采用NAS或/和S3存储模式。