保护容器编排平台的资源的实例免于无意删除制造技术

技术编号:37108596 阅读:26 留言:0更新日期:2023-04-01 05:07
本公开涉及保护容器编排平台的资源的实例免于无意删除。容器编排平台管理包括第一自定义资源和第二自定义资源的多个资源实例。容器编排平台的API服务器接收删除第二自定义资源的实例的请求;确定与第二自定义资源的实例相关联的实例数据是否具有标识第一自定义资源的实例的反向引用,该反向引用指示第一自定义资源的实例依赖于第二自定义资源的实例;以及响应于确定实例数据具有对第一自定义资源的实例的反向引用,绕过第二自定义资源的实例的删除。的删除。的删除。

【技术实现步骤摘要】
保护容器编排平台的资源的实例免于无意删除
[0001]相关申请的交叉引用
[0002]本申请要求于2021年9月30日提交的美国专利申请号17/491,224的优先权权益,其全部内容通过引用结合于此。


[0003]本公开涉及计算系统,并且更具体地,涉及容器编排平台(container orchestration platforms)。

技术介绍

[0004]在典型的云数据中心环境中,存在提供计算和/或存储容量来运行各种应用的大型互连服务器集合。例如,数据中心可包括托管订户(即,数据中心的客户)的应用和服务的设施。数据中心可以例如托管诸如联网和存储系统、冗余电源和环境控制的基础设施设备。在典型的数据中心中,存储系统集群和应用服务器经由由一层或多层物理网络交换机和路由器提供的高速交换机结构来互连。更复杂的数据中心利用位于各种物理主机设施中的订户支持设备来提供分散在世界各地的基础设施。数据对象的不同实例可用于描述和配置云数据中心网络的设备、服务和其他资源。

技术实现思路

[0005]总体上,本公开描述用于防止Kubernetes自定义资源的实例被无意或错误删除的技术。Kubernetes是用于自动化、缩放和管理容器化应用的容器编排平台。自定义资源可以用于通过允许用户定义在Kubernetes平台的默认安装中可能不可用的应用程序接口(API)来扩展Kubernetes平台。自定义资源是包括数据和/或方法的对象,所述数据和/或方法描述自定义资源并定义用于创建和操纵数据的API。在SDN的实例中,自定义资源可以描述SDN的物理基础设施、虚拟基础设施、配置和其他资源。作为SDN的配置和操作的一部分,可以实例化各种自定义资源。例如,边缘节点可以利用虚拟网络进行路由,并且可以利用具有媒体访问控制(MAC)地址的虚拟接口来通过虚拟网络进行通信。此外,边缘节点可以被分配互联网协议(IP)地址。由此,边缘节点可以认为依赖于虚拟网络、虚拟接口和IP地址资源。开发者可以定义表示边缘节点、虚拟网络、虚拟接口、以及将Kubernetes平台扩展到默认Kubernetes资源之外的IP地址的自定义资源。当SDN的编排器的API服务器接收到创建边缘节点的实例的请求时,编排器可部署边缘节点的实例,其中边缘节点已被定义自定义资源。实例数据可包括描述自定义资源的值。此外,边缘节点自定义资源的协调器可确定该边缘节点所依赖的资源,并且协调器可为每个这样的依赖性创建自定义资源的实例。每个自定义资源的实例数据将根据自定义资源的类型而变化。在以上实例中,协调器可创建虚拟接口自定义资源的实例、虚拟网络自定义资源的实例和IP地址自定义资源的实例。一旦创建了边缘节点和边缘节点所依赖的资源,边缘节点就可以作为计算集群的边缘节点来操作。
[0006]当边缘节点不再需要或不存在于集群中时,可删除边缘节点。在这种情况下,可以
删除边缘节点自定义资源的实例。另外,边缘节点自定义资源使用的自定义资源的实例(例如,虚拟接口自定义资源的实例、虚拟网络自定义资源的实例和IP地址自定义资源的实例)也可被删除。
[0007]在一些情况下,管理员或程序可能错误地或无意地请求删除仍由另一自定义资源使用的自定义资源。当自定义资源仍然由另一资源使用时删除该自定义资源可导致依赖于该自定义资源的系统的中断和/或错误操作。使用以上提供的实例,删除虚拟网络自定义资源可导致边缘节点失效,从而导致集群内的中断。当前的Kubernetes平台既不检测也不防止自定义资源的这种错误或无意删除。
[0008]本公开描述了用于防止Kubernetes自定义资源的依赖实例的无意或错误删除的技术。在一些方面,当实现在此公开的技术的系统创建依赖于另一第二自定义资源的第一自定义资源时,系统将指示对第二自定义资源的依赖性的标签(称为“引用标签”)添加到第一自定义资源的实例数据。此外,系统向第二自定义资源的实例数据添加标签(称为“反向引用标签”),该标签将第一自定义资源标识为依赖于第二自定义资源。如果系统接收到删除自定义资源的请求,则系统检查自定义资源的实例数据以确定实例数据中是否存在反向引用标签。如果在实例数据中存在反向引用标签,则系统可防止自定义资源被删除。系统可记录删除自定义资源的错误尝试或以其他方式向管理员指示做出了这样的尝试。
[0009]本文公开的技术可包括在提供优于现有系统的技术优点的实际应用中。例如,如上所述,现有的基于Kubernetes的系统不提供针对由自定义资源的另一实例所依赖的自定义资源的实例的无意和/或错误删除的任何保护。如果发生这种无意的或错误的删除,则系统可能被中断或不能正确地操作。本文公开的技术的技术优点在于防止由另一自定义资源所依赖的自定义资源的实例的这种错误或无意删除。使用以上实例,如果尝试删除由边缘节点资源的实例所依赖的虚拟网络自定义资源的实例,容器编排平台可以防止删除,并且编排集群的正常操作可以不中断地继续。因此,本文公开的技术可通过减少系统操作中的错误和中断而对现有系统进行改进。
[0010]在一个实例中,一种方法包括:由管理包括第一自定义资源和第二自定义资源的多个自定义资源的实例的容器编排平台的API服务器,接收删除第二自定义资源的实例的请求;由API服务器确定与第二自定义资源的实例相关联的实例数据是否具有标识第一自定义资源的实例的反向引用,该反向引用指示第一自定义资源的实例依赖于第二自定义资源的实例;以及响应于确定实例数据具有对第一自定义资源的实例的反向引用,绕过第二自定义资源的实例的删除。
[0011]在另一实例中,被配置为管理包括第一自定义资源和第二自定义资源的多个自定义资源的实例的容器编排系统包括API服务器,该API服务器包括处理电路,处理电路被配置为:接收删除第二自定义资源的实例的请求;确定与第二自定义资源的实例相关联的实例数据是否具有标识第一自定义资源的实例的反向引用,该反向引用指示第一自定义资源的实例依赖于第二自定义资源的实例;并且响应于确定实例数据具有对第一自定义资源的实例的反向引用,绕过第二自定义资源的实例的删除。
[0012]在另一实例中,计算机可读存储介质包括存储于其上的指令,该指令使管理包括第一自定义资源和第二自定义资源的多个自定义资源的实例的容器编排平台的一个或多个处理器执行操作,该操作包括:接收删除第二自定义资源的实例的请求;确定与第二自定
义资源的实例相关联的实例数据是否具有标识第一自定义资源的实例的反向引用,该反向引用指示第一自定义资源的实例依赖于第二自定义资源的实例;以及响应确定实例数据具有对第一自定义资源的实例的反向引用,绕过第二自定义资源的实例的删除。
[0013]在附图和以下描述中阐述了一个或多个实例的细节。其他特征、目的、和优点将从说明书和附图以及从权利要求中显而易见。
附图说明
[0014]图1是示出根据本公开的一个或多个方面的示例性网络的框图。
[0015]图2是示出根据本公开的一个或多个方面的Kubernetes平台的细节的框图。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种容器编排方法,包括:由容器编排平台的应用编程接口API服务器接收删除第二自定义资源的实例的请求,所述容器编排平台管理包括第一自定义资源和所述第二自定义资源的多个自定义资源的实例;由所述API服务器确定与所述第二自定义资源的实例相关联的实例数据是否具有标识所述第一自定义资源的实例的反向引用,所述反向引用指示所述第一自定义资源的实例依赖于所述第二自定义资源的实例;以及响应于确定所述实例数据具有对所述第一自定义资源的实例的所述反向引用,绕过对所述第二自定义资源的实例的删除。2.根据权利要求1所述的方法,还包括:由所述API服务器接收创建所述第一自定义资源的实例的请求;由所述容器编排平台的协调器确定所述第一自定义资源的实例与所述第二自定义资源的实例相关联;创建与所述第二自定义资源的实例相关联的所述实例数据;生成标识所述第一自定义资源的实例的反向引用标签;以及将所述反向引用标签插入到与所述第二自定义资源的实例相关联的所述实例数据中。3.根据权利要求2所述的方法,其中,生成所述反向引用标签包括:将把标签标识为所述反向引用标签的标签前缀和所述第一自定义资源的实例的标识符,插入所述反向引用标签中。4.根据权利要求3所述的方法,其中,生成所述反向引用标签还包括:将名称插入到所述反向引用标签中;以及对所述第一自定义资源的实例的标识符进行散列以创建所述标识符的散列值,其中,将所述第一自定义资源的实例的标识符插入到所述反向引用标签中包括将所述散列值插入到所述反向引用标签中。5.根据权利要求1所述的方法,其中,确定与所述第二自定义资源的实例相关联的所述实例数据是否具有标识所述第一自定义资源的实例的所述反向引用包括:确定与第二实例数据是否包括反向引用标签。6.根据权利要求1

5中任一项所述的方法,还包括:响应于确定所述实例数据具有对所述第一自定义资源的实例的所述反向引用,输出请求删除所述第二自定义资源的实例的错误的指示。7.根据权利要求1

5中任一项所述的方法,其中,响应于确定所述实例数据不具有对任何自定义资源的反向引用,删除所述第二自定义资源的实例。8.根据权利要求1

5中任一项所述的方法,其中,所述API服务器包括用于处理标识所述第二自定义资源的请求的扩展API服务器。9.根据权利要求1

5中任一项所述的方法,其中,由所述API服务器确定与所述第二自定义资源的实例相关联的所述实例数据是否具有标识所述第一自定义资源的实例的所述反向引用包括:由与所述API服务器的验证准入块相关联的网络挂钩确定与所述第二自定义资源的实例相关联的实例数据是否具有标识所述第一自定义资源的实例的所述反向引用。
10.根据权利要求1

5中任一项所述的方法,其中,所述第二自定义资源的实例的所述反向引用...

【专利技术属性】
技术研发人员:尤瓦拉亚
申请(专利权)人:瞻博网络公司
类型:发明
国别省市:

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

1