一种基于Kubernetes的存储方法和网络设备技术

技术编号:37676726 阅读:17 留言:0更新日期:2023-05-26 04:41
本说明书提供一种基于Kubernetes的存储方法和网络设备,该方法包括:获取持久存储卷PV的状态标识,当检测到持久存储卷PV的状态标识为只读状态时,通过脚本指示对应的POD重新挂载PV。通过该方法,可以防止存储RBD卷启动保护机制时,变为只读状态,无法重新被应用系统挂载的问题。挂载的问题。挂载的问题。

【技术实现步骤摘要】
一种基于Kubernetes的存储方法和网络设备


[0001]本公开涉及通信
,尤其涉及一种基于Kubernetes的存储方法和网络设备。

技术介绍

[0002]Kubernetes(简称K8S)是一个可移植的,可扩展的开源平台,用于管理容器化的工作负载和服务,方便声明式配置和自动化。它拥有一个庞大且快速增长的生态系统。
[0003]PV:持久化存储资源,包括存储能力、访问方式、存储类型、后端存储类型、回收策略等。
[0004]PV卷的状态:表示PV卷可以支持的不同状态。
[0005]PVC:持久化存储资源需求,用户对存储资源的需求申请,包括存储资源需求、访问方式、存储类型、存储资源大小、存储类别。
[0006]Ceph RBD:RADOS Block Devices,Ceph提供的一种块存储,支持扩缩容。k8s通过网络挂载RBD存储块。
[0007]StorageClass:K8S集群中动态获取存储资源的一种机制。
[0008]Kubernetes集群存储PV支持Static静态配置以及Dynamic动态配置,动态卷配置(Dynamic provisioning)可以根据需要动态的创建存储卷。静态配置方式下,集群管理员通过手动调用云/存储服务提供商的接口来配置新的固定大小的Image存储卷,然后创建PV对象以在Kubernetes中请求分配使用。

技术实现思路

[0009]本公开提供了一种基于Kubernetes的存储方法和网络设备,通过该方法,可以防止存储RBD卷启动保护机制时,变为只读状态,无法重新被应用系统挂载的问题。
[0010]本公开实施例提供了一种基于Kubernetes的存储方法,该方法包括:
[0011]获取持久存储卷PV的状态标识;
[0012]当检测到持久存储卷PV的状态标识为只读状态时,通过脚本指示对应的POD重新挂载PV。
[0013]该方法还包括:通过第一报文对应用系统和存储集群间的链路进行周期性检测;
[0014]当检测到应用系统和存储集群间的链路出现故障后,将该链路对应的持久存储卷PV置为超时状态,或并当检测到应用系统和存储集群间的链路故障恢复后,将该链路对应的持久存储卷PV置为只读状态。
[0015]其中,所述通过脚本指示对应的POD重新挂载PV,包括:
[0016]通过脚本指示对应的POD重启,待POD重启后重新挂载PV;
[0017]或者,通过脚本指示对应的POD执行自动挂载PV。
[0018]其中,所述第一报文包括:keepalive报文。
[0019]其中,所述当检测到应用系统和存储集群间的链路出现故障后,将该链路对应的
持久存储卷PV置为超时状态,包括:
[0020]当keepalive报文超时后,确定应用系统和存储集群间的链路出现故障,将该链路对应的持久存储卷PV置为超时状态;
[0021]所述并当检测到应用系统和存储集群间的链路故障恢复后,将该链路对应的持久存储卷PV置为只读状态,包括:
[0022]当检测到应用系统和存储集群间的keepalive报文恢复,则确定应用系统和存储集群间的链路故障恢复,将该链路对应的持久存储卷PV置为只读状态。
[0023]通过上述方法可以看出,通过在PV中增加只读状态的状态标识时,可以通过脚本指示对应的POD重新挂载PV,无需人员进行手动干预,提高了网络的功能稳定性,以及节约了劳动资源。
[0024]本公开实施例还提供了一种基于Kubernetes的网络设备,所述网络设备包括:
[0025]获取模块,用于获取持久存储卷PV的状态标识;
[0026]处理模块,用于当检测到持久存储卷PV的状态标识为只读状态时,通过脚本指示对应的POD重新挂载PV。
[0027]其中,所述网络设备还包括:
[0028]检测模块,用于通过第一报文对应用系统和存储集群间的链路进行周期性检测,且当检测到应用系统和存储集群间的链路出现故障后,将该链路对应的持久存储卷PV置为超时状态,并当检测到应用系统和存储集群间的链路故障恢复后,将该链路对应的持久存储卷PV置为只读状态。
[0029]其中,所述处理模块,用于通过脚本指示对应的POD重启,待POD重启后重新挂载PV;
[0030]或者,通过脚本指示对应的POD执行自动挂载PV。
[0031]其中,所述第一报文包括:keepalive报文。
[0032]其中,所述处理模块,具体用于当keepalive报文超时后,确定应用系统和存储集群间的链路出现故障,将该链路对应的持久存储卷PV置为超时状态;
[0033]或者,当检测到应用系统和存储集群间的keepalive报文恢复,则确定应用系统和存储集群间的链路故障恢复,将该链路对应的持久存储卷PV置为只读状态。
附图说明
[0034]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
[0035]图1为本公开实施例提供的一种基于Kubernetes的存储方法的流程示意图。
[0036]图2为本公开实施例提供的一种基于Kubernetes存储的处理流程示意图。
具体实施方式
[0037]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
[0038]在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0039]应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0040]目前,在网络连通的情况下,K8S集群和存储系统完成对接后,POD应用可以创建PV成功,并通过PVC完成绑定,从而使用持久化存储服务进行数据读写。
[0041]但是在实际场景中,有概率会出现容器应用和存储系统之间网络断开的场景或者存储系统内部网络出现中断的场景,导致容器应用无法访问存储集群系统的RBD存储卷,在网络中断一段时间后,有概率本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Kubernetes的存储方法,其特征在于,所述方法包括:获取持久存储卷PV的状态标识;当检测到持久存储卷PV的状态标识为只读状态时,通过脚本指示对应的POD重新挂载PV。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过第一报文对应用系统和存储集群间的链路进行周期性检测;当检测到应用系统和存储集群间的链路出现故障后,将该链路对应的持久存储卷PV置为超时状态,或并当检测到应用系统和存储集群间的链路故障恢复后,将该链路对应的持久存储卷PV置为只读状态。3.根据权利要求1所述的方法,其特征在于,所述通过脚本指示对应的POD重新挂载PV,包括:通过脚本指示对应的POD重启,待POD重启后重新挂载PV;或者,通过脚本指示对应的POD执行自动挂载PV。4.根据权利要求2所述的方法,其特征在于,所述第一报文包括:keepalive报文。5.根据权利要求4所述的方法,其特征在于,所述当检测到应用系统和存储集群间的链路出现故障后,将该链路对应的持久存储卷PV置为超时状态,包括:当keepalive报文超时后,确定应用系统和存储集群间的链路出现故障,将该链路对应的持久存储卷PV置为超时状态;所述并当检测到应用系统和存储集群间的链路故障恢复后,将该链路对应的持久存储卷PV置为只读状态,包括:当检测到应用系统和存储集群间的keepalive报文恢复,则确定应用系统和存储集群间的链路...

【专利技术属性】
技术研发人员:张世坤鲁一鸣
申请(专利权)人:新华三工业互联网有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1