资源对象保护的方法与流程

未命名 07-20 阅读:95 评论:0


1.本技术涉及计算机技术领域,尤其涉及一种资源对象保护的方法。


背景技术:

2.容器开发逐步成为主流的应用开发技术,越来越多的项目开始基于设备集群如k8s(kubernetes)集群等来部署搭建。k8s核心的特点之一就是自动化,能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着,管理员可以加载一个微型服务,让调度器(kube-scheduler)来找到合适的位置,然后由控制器(controller)监控并协调其运行状态,另外,用户能够在k8s上部署自己的应用,更加人性化。
3.k8s集群的创建和应用、资源的配置部署是比较复杂的,导致k8s集群中的资源对象之间存在复杂的相互依赖关系。为了保证k8s集群的正常工作,不能随意对资源对象进行修改,需要对资源进行保护。
4.目前,亟需一种对设备集群中的资源对象的保护方法。
5.公开于该背景技术部分的信息仅仅旨在增加对本技术的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。


技术实现要素:

6.本技术实施例提供了一种资源对象保护的方法,能够对设备集群中的资源对象进行保护,提高安全性。
7.第一方面,本技术实施例提供了一种资源对象保护的方法,包括:
8.获取第一资源对象对应的第一信息;其中,所述第一资源对象为设备集群中的多个资源对象中的任一资源对象,所述第一信息至少指示了监控到的对所述第一资源对象的第一操作;
9.基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果;其中,所述第二信息指示了所述多个资源对象之间的依赖关系;所述保护策略指示了对所述第一资源对象保护的策略,所述决策结果指示了是否允许对所述第一资源对象的第一操作。
10.本方案中,基于资源对象之间的依赖关系和预设配置的保护策略,实现对资源对象的保护,尽可能防止出现误操作。
11.在一种可能的实现方式中,所述方法还包括:在基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作时,基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果。
12.在一种可能的实现方式中,所述方法还包括:在所述第一资源对象在所述第一操作前、后依赖的资源对象不同时,基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果。
13.在一种可能的实现方式中,所述方法还包括:
14.在所述第一资源对象对应的安全要求程度值高于预设阈值,基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果;其中,所述安全要求程度值指示了对安全要求的程度。
15.本方案中,在资源对象的安全要求较高时,综合依赖关系和预设配置的保护策略,强化对资源对象的保护,尽可能防止出现误操作。
16.在一种可能的实现方式中,所述基于所述第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果,包括:
17.基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作,且基于保护策略确定允许对所述第一资源对象的第一操作,确定所述决策结果为允许对所述第一资源对象的第一操作;
18.基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作,基于保护策略确定不允许对所述第一资源对象的第一操作,确定所述决策结果为不允许对所述第一资源对象的第一操作;
19.基于保护策略确定允许对所述第一资源对象的第一操作,基于所述第一信息和第二信息确定不允许对所述第一资源对象的第一操作,确定所述决策结果为不允许对所述第一资源对象的第一操作。
20.在一种可能的实现方式中,所述基于保护策略确定不允许对所述第一资源对象的第一操作,包括:在所述保护策略指示了不允许对所述第一资源对象进行所述操作,确定不允许对所述第一资源对象的第一操作。
21.在一种可能的实现方式中,所述保护策略指示了在第一条件时允许对所述第一资源对象进行所述第一操作;
22.所述基于保护策略确定不允许对所述第一资源对象的第一操作,包括:在不满足所述第一条件时,确定不允许对所述第一资源对象的第一操作;
23.所述基于保护策略确定允许对所述第一资源对象的第一操作,包括:在满足所述第一条件时,确定允许对所述第一资源对象的第一操作。
24.在一种可能的实现方式中,所述第一操作为更新操作,所述第一条件为所述k8s集群的负载小于等于预设阈值。
25.在一种可能的实现方式中,所述第一资源对象对应第一标识;其中,所述第一标识指示了发起所述第一资源对象的第一操作的对象的标识;所述第一条件为匹配第二标识;其中,所述第二标识指示了允许发起所述第一资源对象的第一操作的对象的标识。
26.在一种可能的实现方式中,所述第一信息包括第二资源对象对应的变化标识,所述变化标识指示了新增或删除,所述第二资源对象为所述第一资源对象在所述第一操作前、后依赖的资源对象存在差异的资源对象;
27.所述基于所述第一信息和第二信息确定不允许对所述第一资源对象的第一操作,包括:在所述第二资源对象对应的变化标识指示新增,所述第二信息中不存在指示所述第二资源对象的信息时,确定不允许对所述第一资源对象的第一操作;
28.所述基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作,包括:在所述第二资源对象对应的变化标识指示新增,所述第二信息中存在指示所述第二资源对象的信息时,确定允许对所述第一资源对象的第一操作。
29.在一种可能的实现方式中,所述第一操作为删除操作;所述第一操作为删除操作;
30.所述基于所述第一信息和第二信息确定不允许对所述第一资源对象的第一操作,包括:基于所述第一信息,在确定所述第二信息中所述第一资源对象被所述多个资源对象中的任一资源对象依赖时,确定不允许对所述第一资源对象的第一操作;
31.所述基于所述第一信息和第二信息确定不允许对所述第一资源对象的第一操作,包括:基于所述第一信息,在确定所述第二信息中所述第一资源对象未被所述多个资源对象中的资源对象依赖时,确定允许对所述第一资源对象的第一操作。
32.在所述第二资源对象对应的变化标识指示删除,基于所述第二信息确定所述第二资源对象被所述多个资源对象中的任一资源对象依赖时,确定不允许对所述第一资源对象的第一操作。
33.第二方面,本技术实施例提供了一种资源对象保护的方法,应用于保护系统,所述保护系统包括设备集群和决策中心,所述方法包括:
34.所述设备集群获取第一资源对象对应的第一信息;其中,所述第一资源对象为k8s集群中的多个资源对象中的任一资源对象,所述第一信息至少指示了监控到的对所述第一资源对象的第一操作;
35.所述决策中心基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果;其中,所述第二信息指示了所述多个资源对象之间的依赖关系;所述保护策略指示了对所述第一资源对象保护的策略,所述决策结果指示了是否允许对所述第一资源对象的第一操作。
36.本方案中,一方面,基于资源对象之间的依赖关系和预设配置的保护策略,实现对资源对象的保护,尽可能防止出现误操作。另一方面,将决策的内容交由决策中心实现,确保k8s集群的性能。
37.在一种可能的实现方式中,所述设备集群为k8s集群,和/或,所述决策中心为服务器。
38.在一种可能的实现方式中,所述方法还包括:
39.所述设备集群在所述第一资源对象在所述第一操作前、后依赖的资源对象不同时,将所述第一信息发送到所述决策中心。
40.在一种可能的实现方式中,所述方法还包括:
41.所述设备集群在所述第一资源对象对应的安全要求程度值高于预设阈值,将所述第一信息发送到所述决策中心;其中,所述安全要求程度值指示了对安全要求的程度。
42.在一种可能的实现方式中,所述决策中心在基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作时,基于第一信息、预先存储的第二信息和预先配置的保护策略,确定所述第一资源对象对应的决策结果。
43.在一种可能的实现方式中,所述设备集群为所述决策中心管理的多个设备集群中的任一集群。
44.在一种可能的实现方式中,所述决策中心基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果,包括:
45.所述决策中心基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作,且基于保护策略确定允许对所述第一资源对象的第一操作,确定所述决策结果为
允许对所述第一资源对象的第一操作;
46.所述决策中心基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作,基于保护策略确定不允许对所述第一资源对象的第一操作,确定所述决策结果为不允许对所述第一资源对象的第一操作;
47.所述决策中心基于保护策略确定允许对所述第一资源对象的第一操作,基于所述第一信息和第二信息确定不允许对所述第一资源对象的第一操作,确定所述决策结果为不允许对所述第一资源对象的第一操作。
48.在一种可能的实现方式中,所述决策中心基于保护策略确定不允许对所述第一资源对象的第一操作,包括:决策中心在确定所述保护策略指示了不允许对所述第一资源对象进行所述操作,确定不允许对所述第一资源对象的第一操作。
49.在一种可能的实现方式中,所述保护策略指示了在第一条件时允许对所述第一资源对象进行所述第一操作;
50.所述决策中心基于保护策略确定不允许对所述第一资源对象的第一操作,包括:所述决策中心在确定不满足所述第一条件时,确定不允许对所述第一资源对象的第一操作;
51.所述决策中心基于保护策略确定允许对所述第一资源对象的第一操作,包括:所述决策中心在确定满足所述第一条件时,确定允许对所述第一资源对象的第一操作。
52.在一种可能的实现方式中,所述第一操作为更新操作,所述第一条件为所述设备集群的负载小于等于预设阈值。
53.在一种可能的实现方式中,所述第一资源对象对应第一标识;其中,所述第一标识指示了发起所述第一资源对象的第一操作的对象的标识;所述第一条件为匹配第二标识;其中,所述第二标识指示了允许发起所述第一资源对象的第一操作的对象的标识。
54.在一种可能的实现方式中,所述第一信息包括第二资源对象对应的变化标识,所述变化标识指示了新增或删除,所述第二资源对象为所述第一资源对象在所述第一操作前、后依赖的资源对象存在差异的资源对象;
55.所述决策中心基于所述第一信息和第二信息确定不允许对所述第一资源对象的第一操作,包括:
56.所述决策中心在确定所述第二资源对象对应的变化标识指示新增,所述第二信息中不存在指示所述第二资源对象的信息时,确定不允许对所述第一资源对象的第一操作;
57.所述决策中心基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作,包括:
58.所述决策中心在确定所述第二资源对象对应的变化标识指示新增,所述第二信息中存在指示所述第二资源对象的信息时,确定允许对所述第一资源对象的第一操作。
59.在一种可能的实现方式中,所述第一操作为删除操作;所述第一操作为删除操作;
60.所述决策中心基于所述第一信息和第二信息确定不允许对所述第一资源对象的第一操作,包括:
61.所述决策中心基于所述第一信息,在确定所述第二信息中所述第一资源对象被所述多个资源对象中的任一资源对象依赖时,确定不允许对所述第一资源对象的第一操作;
62.所述决策中心基于所述第一信息和第二信息确定不允许对所述第一资源对象的
第一操作,包括:
63.所述决策中心基于所述第一信息,在确定所述第二信息中所述第一资源对象未被所述多个资源对象中的资源对象依赖时,确定允许对所述第一资源对象的第一操作。
64.第三方面,本技术实施例提供了一种资源对象保护的方法,应用于设备集群,所述方法包括:
65.获取第一资源对象对应的第一信息;其中,所述第一资源对象为所述设备集群中的多个资源对象中的任一资源对象,所述第一信息至少指示了所述设备集群监控到的对所述第一资源对象的第一操作;
66.将所述第一信息发送到决策中心,以使将所述第一信息发送到决策中心,以使所述决策中心基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果;其中,所述第二信息指示了所述多个资源对象之间的依赖关系;所述保护策略指示了对所述第一资源对象保护的策略,所述决策结果指示了是否允许对所述第一资源对象的第一操作。
67.在一种可能的实现方式中,所述设备集群为k8s集群,和/或,所述决策中心为服务器。
68.在一种可能的实现方式中,所述方法还包括:
69.所述设备集群在所述第一资源对象在所述第一操作前、后依赖的资源对象不同时,将所述第一信息发送到所述决策中心。
70.在一种可能的实现方式中,所述方法还包括:
71.所述设备集群在所述第一资源对象对应的安全要求程度值高于预设阈值,将所述第一信息发送到所述决策中心;其中,所述安全要求程度值指示了对安全要求的程度。
72.在一种可能的实现方式中,所述设备集群为所述决策中心管理的多个设备集群中的任一集群。
73.第四方面,本技术实施例提供了一种资源对象保护的方法,应用于决策中心,所述方法包括:
74.接收设备集群发送的第一资源对象对应的第一信息;其中,所述第一资源对象为所述设备集群中的多个资源对象中的任一资源对象,所述第一信息至少指示了所述设备集群监控到的对所述第一资源对象的第一操作;
75.基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果;其中,所述第二信息指示了所述多个资源对象之间的依赖关系;所述保护策略指示了对所述第一资源对象保护的策略,所述决策结果指示了是否允许对所述第一资源对象的第一操作。
76.在一种可能的实现方式中,所述基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果,包括:
77.基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作,且基于保护策略确定允许对所述第一资源对象的第一操作,确定所述决策结果为允许对所述第一资源对象的第一操作;
78.基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作,基于保护策略确定不允许对所述第一资源对象的第一操作,确定所述决策结果为不允许对所述第
一资源对象的第一操作;
79.基于保护策略确定允许对所述第一资源对象的第一操作,基于所述第一信息和第二信息确定不允许对所述第一资源对象的第一操作,确定所述决策结果为不允许对所述第一资源对象的第一操作。
80.在一种可能的实现方式中,所述基于保护策略确定不允许对所述第一资源对象的第一操作,包括:在确定所述保护策略指示了不允许对所述第一资源对象进行所述操作,确定不允许对所述第一资源对象的第一操作。
81.在一种可能的实现方式中,所述保护策略指示了在第一条件时允许对所述第一资源对象进行所述第一操作;
82.所述基于保护策略确定不允许对所述第一资源对象的第一操作,包括:在确定不满足所述第一条件时,确定不允许对所述第一资源对象的第一操作;
83.所述决策中心基于保护策略确定允许对所述第一资源对象的第一操作,包括:在确定满足所述第一条件时,确定允许对所述第一资源对象的第一操作。
84.在一种可能的实现方式中,所述第一操作为更新操作,所述第一条件为所述设备集群的负载小于等于预设阈值。
85.在一种可能的实现方式中,所述第一资源对象对应第一标识;其中,所述第一标识指示了发起所述第一资源对象的第一操作的对象的标识;所述第一条件为匹配第二标识;其中,所述第二标识指示了允许发起所述第一资源对象的第一操作的对象的标识。
86.在一种可能的实现方式中,所述第一信息包括第二资源对象对应的变化标识,所述变化标识指示了新增或删除,所述第二资源对象为所述第一资源对象在所述第一操作前、后依赖的资源对象存在差异的资源对象;
87.所述基于所述第一信息和第二信息确定不允许对所述第一资源对象的第一操作,包括:
88.在确定所述第二资源对象对应的变化标识指示新增,所述第二信息中不存在指示所述第二资源对象的信息时,确定不允许对所述第一资源对象的第一操作;
89.所述基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作,包括:
90.在确定所述第二资源对象对应的变化标识指示新增,所述第二信息中存在指示所述第二资源对象的信息时,确定允许对所述第一资源对象的第一操作。
91.在一种可能的实现方式中,所述第一操作为删除操作;所述第一操作为删除操作;
92.所述基于所述第一信息和第二信息确定不允许对所述第一资源对象的第一操作,包括:
93.基于所述第一信息,在确定所述第二信息中所述第一资源对象被所述多个资源对象中的任一资源对象依赖时,确定不允许对所述第一资源对象的第一操作;
94.所述基于所述第一信息和第二信息确定不允许对所述第一资源对象的第一操作,包括:
95.基于所述第一信息,在确定所述第二信息中所述第一资源对象未被所述多个资源对象中的资源对象依赖时,确定允许对所述第一资源对象的第一操作。
96.第五方面,本技术实施例提供了一种资源对象保护的装置,资源对象保护的装置
包括若干个模块,各个模块用于执行本技术实施例第一方面提供的资源对象保护的方法中的各个步骤,关于模块的划分在此不做限制。该资源对象保护的装置各个模块所执行的具体功能及达到的有益效果请参考本技术实施例第一方面提供的资源对象保护的方法的各个步骤的功能,在此不再赘述。
97.示例地,资源对象保护的装置包括:
98.监控模块,用于获取第一资源对象对应的第一信息;其中,所述第一资源对象为k8s集群中的多个资源对象中的任一资源对象,所述第一信息至少指示了监控到的对所述第一资源对象的第一操作;
99.决策模块,用于基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果;其中,所述第二信息指示了所述多个资源对象之间的依赖关系;所述保护策略指示了对所述第一资源对象保护的策略,所述决策结果指示了是否允许对所述第一资源对象的第一操作。
100.在一种可能的实现方式中,所述获取模块还用于在基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作时,基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果。
101.在一种可能的实现方式中,所述获取模块还用于在所述第一资源对象在所述第一操作前、后依赖的资源对象不同时,基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果。
102.在一种可能的实现方式中,所述获取模块还用于在所述第一资源对象对应的安全要求程度值高于预设阈值,基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果;其中,所述安全要求程度值指示了对安全要求的程度。
103.在一种可能的实现方式中,所述决策模块,用于基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作,且基于保护策略确定允许对所述第一资源对象的第一操作,确定所述决策结果为允许对所述第一资源对象的第一操作;基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作,基于保护策略确定不允许对所述第一资源对象的第一操作,确定所述决策结果为不允许对所述第一资源对象的第一操作;基于保护策略确定允许对所述第一资源对象的第一操作,基于所述第一信息和第二信息确定不允许对所述第一资源对象的第一操作,确定所述决策结果为不允许对所述第一资源对象的第一操作。
104.在一种可能的实现方式中,所述决策模块,用于在所述保护策略指示了不允许对所述第一资源对象进行所述操作,确定不允许对所述第一资源对象的第一操作。
105.在一种可能的实现方式中,所述保护策略指示了在第一条件时允许对所述第一资源对象进行所述第一操作;所述决策模块,用于在不满足所述第一条件时,确定不允许对所述第一资源对象的第一操作;在满足所述第一条件时,确定允许对所述第一资源对象的第一操作。
106.在一种可能的实现方式中,所述第一操作为更新操作,所述第一条件为所述k8s集群的负载小于等于预设阈值。
107.在一种可能的实现方式中,所述第一资源对象对应第一标识;其中,所述第一标识指示了发起所述第一资源对象的第一操作的对象的标识;所述第一条件为匹配第二标识;
其中,所述第二标识指示了允许发起所述第一资源对象的第一操作的对象的标识。
108.在一种可能的实现方式中,所述第一信息包括第二资源对象对应的变化标识,所述变化标识指示了新增或删除,所述第二资源对象为所述第一资源对象在所述第一操作前、后依赖的资源对象存在差异的资源对象;
109.所述决策模块,用于在所述第二资源对象对应的变化标识指示新增,所述第二信息中不存在指示所述第二资源对象的信息时,确定不允许对所述第一资源对象的第一操作;在所述第二资源对象对应的变化标识指示新增,所述第二信息中存在指示所述第二资源对象的信息时,确定允许对所述第一资源对象的第一操作。
110.在一种可能的实现方式中,所述第一操作为删除操作;所述第一操作为删除操作;
111.所述决策模块,用于基于所述第一信息,在确定所述第二信息中所述第一资源对象被所述多个资源对象中的任一资源对象依赖时,确定不允许对所述第一资源对象的第一操作;基于所述第一信息,在确定所述第二信息中所述第一资源对象未被所述多个资源对象中的资源对象依赖时,确定允许对所述第一资源对象的第一操作。
112.第六方面,本技术实施例提供了一种设备集群,设备集群用于执行第二方面中设备集群所执行的方法。
113.第七方面,本技术实施例提供了一种决策中心,决策中心用于执行第三方面中决策中心所执行的方法。
114.第八方面,本技术实施例提供了一种保护系统,保护系统可以包括设备集群和决策中心,其中,设备集群用于执行第二方面中设备集群所执行的方法,决策中心用于执行第三方面中决策中心所执行的方法。
115.第九方面,本技术实施例提供了一种资源对象保护的装置,包括:至少一个存储器,用于存储程序;至少一个处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行第一方面中提供的方法,第二方面提供的方法,或者第三方面提供的方法。
116.第十方面,本技术实施例提供了一种资源对象保护的装置,其特征在于,装置运行计算机程序指令,以执行第一方面中提供的方法,第二方面提供的方法,或者第三方面提供的方法。示例性的,该装置可以为芯片,或处理器。
117.在一个例子中,该装置可以包括处理器,该处理器可以与存储器耦合,读取存储器中的指令并根据该指令执行第一方面中所提供的方法。其中,该存储器可以集成在芯片或处理器中,也可以独立于芯片或处理器之外。
118.第十一方面,本技术实施例提供了一种计算机存储介质,计算机存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行执行第一方面中提供的方法,第二方面提供的方法,或者第三方面提供的方法。
119.第十二方面,本技术实施例提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行执行第一方面中提供的方法,第二方面提供的方法,或者第三方面提供的方法。
附图说明
120.图1是本技术实施例提供的一种保护系统的系统架构图;
121.图2是本技术实施例提供的一种资源对象保护的方法的流程示意图一;
122.图3是本技术实施例提供的一种资源对象保护的方法的流程示意图二;
123.图4是本技术实施例提供的一种资源对象保护的应用场景的示意图;
124.图5是本技术实施例提供的一种资源对象保护的装置的通信示意图;
125.图6是本技术实施例提供的一种电子设备的装置示意图。
具体实施方式
126.为了使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本技术实施例中的技术方案进行描述。
127.在本技术实施例的描述中,“示例性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
128.在本技术实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,单独存在b,同时存在a和b这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。例如,多个系统是指两个或两个以上的系统,多个终端是指两个或两个以上的终端。
129.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
130.以下,对本实施例中的部分用语进行解释说明。需要说明的是,这些解释是为了便于本领域技术人员理解,并不是对本技术所要求的保护范围构成限定。
131.k8s集群:是一个分布式集群,由管理节点(master-node)和节点(node)组成。k8s集群由master-node和节点(node)组成。其中,master-node可以是硬件服务器,也可以植入虚拟化环境中,例如,本方案中涉及的服务器可以是在包括一个或多个其他虚拟机的硬件服务器上执行的虚拟机。节点(node)类同,不再赘述。示例性地,如图1所示,k8s集群包括1个或多个master-node c11和n个节点(node):w11、
……
、w1n。
132.master-node:为集群控制节点,管理和控制整个集群,基本上k8s的所有控制命令都发给它,它负责具体的执行过程。在master上主要运行着如下组件:应用程序编程接口服务器(application programming interface server,简称apiserver)、控制器(kubernetes controller(kube-controller))、调度程序(kubernetes scheduler(kube-scheduler))、存储器(etcd)。
133.kube-controller:k8s中所有资源对象的自动化控制中心,维护管理集群的状态,比如故障检测,自动扩展,滚动更新等。包括kube-controller可以包括用户控制器(admission controller),用于监听所有的资源对象的操作。
134.kube-scheduler:负责资源调度,按照预定的调度策略将pod调度到相应的机器上,比如节点(node)上。
135.存储器(etcd):保存kubernetes集群的状态。
136.apiserver:用于记录资源对象的状态的情况,在状态改变时,告诉控制器或调用器资源对象的状态的改变。比如,应用使用的pod从2个更改为3个,则通知kube-scheduler进行pod的调度。
137.节点(node):也可以被称为worker节点,可以在master-node中使用命令kubectl get nodes查看k8s集群中的节点(node)。每个节点(node)都会被master-node分配一些工作负载(docker容器),当某个节点(node)宕机时,该节点上的工作负载就会被master-node自动转移到其它节点(node)上。在node上主要运行着如下组件:
138.kubelet:负责pod对应的容器的创建、启停等任务,同时与master-node密切协作,实现kubernetes集群管理的基本功能。示例性地,节点(node)运行的kubelet会与master-node建立多条长连接,分别监听(watch)services、worker-nodes、pod等的资源变化,并针对资源变化做出相应的处理。master-node和worker-node通过声明命令的方式进行交互完成对资源的管理。
139.kube-proxy:实现apiserver的通信与负载均衡。
140.docker(docker engine):docker引擎,负责本机的容器创建和管理。
141.容器(container):计算机操作系统中的一种虚拟化技术。该技术使得进程运行于相对独立和隔离的环境(包含独立的文件系统、命名空间、资源视图等),从而能够简化软件的部署流程,增强软件的可移植性和安全性,并提高系统资源利用率。容器技术广泛应用于云计算领域的服务化场景。
142.容器组(pod):是可以在kubernetes中创建和管理的、最小的可部署的计算单元。pod包含一组(一个或多个)容器;这些容器共享存储、网络、以及怎样运行这些容器的声明。pod中的内容总是共存的并且一同调度,在共享的上下文中运行。pod所建模的是特定于应用的“逻辑主机”,其中包含一个或多个应用容器,这些容器相对紧密地耦合在一起。
143.配置项(configmap):是一种api对象,用来将非机密性的数据保存到键值对中。使用时,pod可以将其用作环境变量、命令行参数或者存储卷中的配置文件。configmap将环境配置信息和容器镜像解耦,便于应用配置的修改。configmap对象用于为容器中的应用提供配置文件等信息。
144.密钥(secret):是一种包含少量敏感信息例如密码、令牌或密钥的对象。这样的信息可能会被放在pod规约中或者镜像中。使用secret意味着你不需要在应用程序代码中包含机密数据。
145.卷(volume):是一种抽象的概念,用于解决容器的状态持久化、容器间共享数据的问题。kubernetes支持很多类型的卷,包括上述的configmap、secret等。pod可以同时使用任意数目的卷类型。临时卷类型的生命周期与pod相同,但持久卷可以比pod的存活期长。当pod不再存在时,kubernetes也会销毁临时卷;不过kubernetes不会销毁持久卷。对于给定pod中任何类型的卷,在容器重启期间数据都不会丢失。
146.持久卷(pv,persistent volume):持久卷是集群资源,就像节点也是集群资源一样。持久卷可以比pod的存活期长。
147.持久卷申领(persistentvolumeclaim,pvc):是用户对存储资源的一个申请,pvc消耗pv的资源。pvc可以申请存储空间的大小(size)和访问模式。
148.replicaset:用于在k8s集群上运行部署特定数量的pod。
149.deployment:用于定义一组pod的期望数量,配置pod的发布方式等,通过replicaset实现对pod的控制。
150.副本控制器(replication controller,rc):一直监控pod资源的运行状态,一旦发现这个pod资源有异常了,控制k8s集群在其他的节点(node)上启动一个新的pod,以此来保证这个业务的高可用运行
151.namespace:是k8s集群级别的资源,可以给不同的用户、租户、环境或项目创建对应的命名空间。在创建pod的时候可以指定pod到namespace。
152.service:定义了一个服务的访问入口地址,前端的应用通过这个入口地址访问其背后的一组由pod副本组成的集群实例,来自外部的访问请求被负载均衡到后端的各个容器应用上。
153.ingress:配置文件,在哪个域名下,哪个路径下,要解析到哪个service,具体的实现由ingresscontroller实现。
154.label:为一对key/value,被关联到对象上,比如pod。同一个资源对象的多个label的key必须唯一,label可以附加到各种资源对象上,如节点(node),容器组(pod),service,副本控制器(rc)等。一个资源拥有多个标签,可以实现不同维度的管理。label可以在创建资源对象时就附加到资源对象上,也可以在资源对象创建后通过api(application programming interface,应用程序编程接口)进行额外添加或修改。
155.容器开发逐步成为主流的应用开发技术,k8s集群凭借着开放性、先进性(定义目标状态、自动调度、水平扩容等),逐步成为云原生的事实标准。
156.在k8s集群中,所有对象(包括应用)均抽象为资源对象。简单来说,运行实体、应用及应用的配置项,均是某种资源对象。
157.这些资源对象之间存在依赖关系,k8s集群缺乏对这种依赖关系的管理。比如,某个应用(pod)正在使用某个配置(如secret/configmap等),用户也可以删除这个配置,而且往往不会被察觉(不影响正在运行的pod),而需要过一段时间后才会造成影响(如pod重新被调度时)。
158.由于开发人员和维护人员很难搞清楚哪些资源对象正在被谁依赖使用,因此轻易不敢清理,从而生成环境上的垃圾,导致系统的垃圾越积越多、管理越发困难。
159.目前主要通过两种实现方式实现资源对象的管理。
160.实现方式1:finalizer(是带有命名空间的键)可以告诉k8s等到特定的条件被满足后,删除被标记为删除的资源。这里,finalizer提醒k8s清理被删除的对象拥有的资源。
161.k8s删除指定的finalizer的对象的具体过程如下:
162.k8s接收到命令,准备删除一个指定了finalizer的对象时,若需要修改对象,则将开始执行删除的时间添加到metadata.deletiontimestamp字段;若禁止对象被删除,则直到其metadata.finalizers字段为空。若删除成功,则返回202状态码(http“accepted”)。
163.实现方式1具有如下缺点:
164.1.该保护方式主要作用在垃圾回收阶段,适用于防止附属对象被误删,如pvc依赖pv,在pv未被删除时,pvc不能被删除,再比如,replicaset依赖deployment,在deployment未被删除时,replicaset不能被删除;但是并不适合对其他的资源对象的保护。
165.2.拥有删除资源对象权限的人员,往往也有用修改该资源对象的权限,使得该保
护操作容易被绕过。
166.实现方式2:webhook是k8s内置的扩展机制,用于开发人员扩展对资源对象操作的校验。在对资源对象进行操作,会按注册顺序分别调用webhook链,如果某个webhook拒绝该操作,则该操作失败。
167.基于webhook技术实现容器资源定制调度和删除保护的方法具体过程如下:
168.webhook监听对指定资源类型的删除;给需要保护的资源添加特定的annotation注解;当删除指定资源类型的对象时,webhook检查是否存在声明需保护的annotation注解,如果存在则不允许删除;如果想绕开webhook的保护,先修改资源对象、移除annotation注解,再执行删除资源对象即可。
169.实现方式2具有如下缺点:
170.1.该保护是“静态”的,需要人为设置待保护资源对象的annotation注解。
171.2.拥有删除资源对象权限的人员,往往也有用修改该资源对象的权限,使得该保护操作容易被绕过。
172.3.webhook防护机制存在技术上的弱点,由准入控制器(admissioncontroller)调用,使用dynamic client unstructured非结构化对象,安全性较低,采用sync(同步,是一个linux同步命令,含义为迫使缓冲块数据立即写盘并更新超级块),容易对业务本身有阻塞性影响,对patch(用来更新局部资源)方式的api webhook不拦截。
173.基于此,本技术实施例提出了资源对象保护的方法。
174.该方法通过设备集群中的多个资源对象之间的依赖关系和配置的保护策略,对资源对象进行保护。一方面,多个资源对象之间的依赖关系不会被管理者修改,从而可以强化对资源对象的保护;另一方面,综合多个资源对象之间的依赖关系,可以加强对资源对象的保护。这里仅仅是对方法的简述,关于该方法的详细内容参见下文描述。
175.接下来对本技术实施例提供的资源对象保护的方法可能应用的资源对象保护的系统进行介绍。图1为本技术实施例提供的一种保护系统的系统架构图。本技术实施例提供了资源对象保护的方法可以应用于如图1所示的系统架构图。如图1所示,保护系统包括n个(大于等于1)电子设备110和终端设备120。
176.其中,终端设备120可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。本方案中涉及的终端设备的示例性实施例包括但不限于搭载ios、android、windows、鸿蒙系统(harmony os)或者其他操作系统的电子设备。本技术实施例对电子设备的类型不做具体限定。
177.终端设备120与电子设备110通过网络进行通信。网络可以为有线网络或无线网络。示例地,有线网络可以为电缆网络、光纤网络、数字数据网(digital data network,ddn)等,无线网络可以为电信网络、内部网络、互联网、局域网络(local area network,lan)、广域网络(wide area network,wan)、无线局域网络(wireless local area network,wlan)、城域网(metropolitan area network,man)、公共交换电话网络(public service telephone network,pstn)、蓝牙网络、紫蜂网络(zigbee)、移动电话(global system for mobile communications,gsm)、cdma(code division multiple access)网络、cprs(generalpacketradioservice)网络等或其任意组合。可以理解的是,网络可使用任何已知的网络通信协议来实现不同客户端层和网关之间的通信,上述网络通信协议可以
是各种有线或无线通信协议,诸如以太网、通用串行总线(universal serial bus,usb)、火线(firewire)、全球移动通讯系统(global system for mobile communications,gsm)、通用分组无线服务(general packet radio service,gprs)、码分多址接入(code division multiple access,cdma)、宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma)、长期演进(long term evolution,lte)、新空口(new radio,nr)、蓝牙(bluetooth)、无线保真(wireless fidelity,wi-fi)等通信协议。
178.其中,电子设备110可为计算机,还可以为物理服务器,比如,机架服务器,刀片服务器,高密服务器等。在一个例子中,本方案中涉及的服务器可以用于提供云服务,其可以为一种可以与其他的设备建立通信连接、且能为其他的设备提供运算功能和/或存储功能的物理服务器或者是超级终端。
179.n个电子设备110之间可以通过网络通信,网络可以为有线网络或无线网络。有线网络或无线网络参见上文描述,不再赘述。
180.本技术实施例中,n个电子设备110可以部署1个设备集群,也可以部署多个设备集群。用户可以通过终端设备120管理设备集群,示例性地,设备集群为k8s集群,对k8s集群中的资源对象进行操作,比如,修改,删除,更新等。应当理解的是,设备集群可以为部分电子设备110形成的集群,也可以为n个电子设备中的物理服务器形成的集群,或者n个电子设备中部署的虚拟的服务器形成的集群。
181.进一步地,n个电子设备可以存储第二信息和保护策略信息,第二信息指示了设备集群中的多个资源对象之间的依赖关系。其中,保护策略信息为用户预先配置的对多个资源对象中至少部分的保护策略,通过数据库存储,比如,图1示出的依赖关系库,下面以依赖关系库存储第二信息为例进行描述。需要说明的是,在实际应用中,设备集群会实时监控每个资源对象之间的依赖关系,在依赖关系变化时,更新第二信息。保护策略信息用于说明设备集群中多个资源对象中的至少部分资源对象的不允许的操作或在某些条件不允许的操作、和/或、至少部分资源对象的允许的操作和/或在某些条件下允许的操作。保护策略用于说明资源对象的不允许的操作或在某些条件不允许的操作、和/或、允许的操作和/或在某些条件下允许的操作
182.接下来,结合上述提供的保护系统,对本技术实施例提供的一种资源对象保护的方法进行详细介绍。
183.图2是本技术实施例提供的资源对象保护的方法的流程示意图。本实施例可应用在1个或n个电子设备110上。如图2所示,本技术实施例提供的资源对象保护的方法至少包括如下步骤:
184.步骤210、获取第一资源对象对应的第一信息;其中,第一资源对象为设备集群中的多个资源对象中的任一资源对象,第一信息至少指示了监控到的对第一资源对象的第一操作。
185.其中,第一信息至少包括第一资源对象的对象标识和第一操作的操作标识。
186.其中,第一操作可以为删除、修改或更新等可以对第一资源对象实现的操作。
187.在一个例子中,当第一操作为修改或更新等删除操作之外的操作时,进一步地,第一信息还可以指示第一资源对象在第一操作前、后,新增和/或减少的第二资源对象。示例
性地,第一信息可以包括至少一个第二资源对象各自的对象标识和变化标识;其中,对象标识用于区别不同的资源对象,变化标识用于表示新增或删除。
188.举例来说,假设第一资源对象在变更操作前依赖的3个资源对象,假设为a,b,c,在变更操作后依赖4个资源对象,假设为a,b,d,e,则第一信息指示了新增的资源对象d和资源对象e,删除了资源对象c,包括资源对象d、资源对象e和资源对象c各自的对象标识和变化标识,资源对象d、资源对象e和资源对象c各自的变化标识表示新增、新增、删除。
189.示例性地,设备集群为k8s集群,k8s集群中的资源对象可以包括:容器组(pod)、配置项(configmap)、密钥(secret)、卷(volume)、持久卷(pv)、持久卷申领(pvc)、pod、replicaset、deployment、节点(node)、namespace、service、ingress、label等,这里描述的资源对象仅仅作为示例,并不构成具体限定,资源对象可以为k8s集群中任一资源对象。
190.步骤220、基于第一信息、第二信息和保护策略,确定第一资源对象对应的决策结果;其中,第二信息指示了多个资源对象之间的依赖关系;保护策略指示了对第一资源对象保护的策略,决策结果指示了是否允许对第一资源对象的第一操作。
191.其中,第二信息用于指示多个资源对象之间的依赖关系,包括第一资源对象和其他的资源对象之间的依赖关系。举例来说,资源对象为pod、密钥(secret)、配置项(configmap)、存放软件包的持久卷(pv),应用的运行依赖pod、密钥(secret)、配置项(configmap)、存放软件包的持久卷(pv);应用运行在pod中,第一资源对象pod依赖密钥(secret)、配置项(configmap)、持久卷(pv)。
192.其中,保护策略为用户预先配置的策略,是保护策略信息中针对第一资源对象的保护策略,用于说明第一资源对象的不允许的操作或在某些条件不允许的操作、和/或、允许的操作和/或在某些条件下允许的操作。
193.本技术实施例中,保护策略可以通过规则的方式实现,也可以通过人工智能模型实现,比如,神经网络模型;在保护策略为人工智能模型时,将第一信息和第二信息输入到人工智能模型中,人工智能模型可以输出决策结果。
194.根据一种可行的实现方式,可以基于第一信息和第二信息确定是否允许对第一资源对象的第一操作。
195.在该实现方式的一个例子中,第一资源对象的第一操作为删除操作。对应的第一信息无需指示第一资源对象在第一操作前、后,新增和/或减少的第二资源对象。
196.在一种可能的情况,在基于第二信息确定第一资源对象未被第二信息存储的多个资源对象中的任一资源对象依赖时,确定允许对第一资源对象的第一操作(删除操作)。需要说明的是,在第一资源对象没有被其他的资源对象依赖,则说明删除第一资源对象并不会影响k8s集群的运行,此时可以允许对第一资源对象的第一操作(删除操作)。
197.在一种可能的情况,在基于第二信息确定第一资源对象被第二信息存储的多个资源对象中的任一资源对象依赖时,确定不允许对第一资源对象的第一操作(删除操作)。需要说明的是,在第一资源对象被其他的资源对象依赖,则说明删除了第一资源对象会影响k8s集群的运行,此时确定不允许对第一资源对象的第一操作(删除操作)。
198.在该实现方式的一个例子中,第一信息还指示了第一资源对象在第一操作前、后,新增和/或减少的第二资源对象。对应的,第一信息包括第二资源对象对应的变化标识,变化标识指示新增或删除。
199.在一种可能的情况,变化标识指示了新增,在第二信息中存在变化标识对应的第二资源对象时,确定允许对第一资源对象的第一操作。需要说明的是,在预测对第一资源对象的第一操作后新增了第二资源对象时,若第二资源对象存在,则说明可以实现对第一资源对象的第一操作,此时确定允许对第一资源对象的第一操作。
200.在一种可能的情况,变化标识指示了新增,在第二信息中不存在变化标识对应的第二资源对象时,确定不允许对第一资源对象的第一操作。需要说明的是,在预测对第一资源对象的第一操作后新增了第二资源对象时,若第二资源对象不存在,则说明不可以实现对第一资源对象的第一操作,此时确定不允许对第一资源对象的第一操作。
201.在一种可能的情况,变化标识指示了删除,此时,删除第二资源对象和第一资源对象的依赖关系,更新第二信息即可,无需删除第二资源对象。
202.根据一种可行的实现方式,可以基于保护策略确定是否允许对第一资源对象的第一操作。
203.在该实现方式的一个例子中,在保护策略指示了允许对第一资源对象进行第一操作,确定允许对第一资源对象的第一操作。
204.在一种可能的情况,若保护策略没有说明不允许对第一资源对象进行第一操作,则可以认为保护策略指示了允许对第一资源对象进行第一操作。
205.在一种可能的情况,若保护策略说明不允许对第一资源对象进行的操作,则可以认为保护策略指示了允许对第一资源对象进行不允许的操作之外的操作。对应的,第一操作为不允许进行的操作之外的操作。
206.在该实现方式的一个例子中,在保护策略指示了不允许对第一资源对象进行第一操作,确定不允许对第一资源对象的第一操作。
207.在该实现方式的一个例子中,保护策略指示了在第一条件时允许对第一资源对象进行第一操作,在满足第一条件时,确定允许对第一资源对象的第一操作。在不满足第一条件时,确定不允许对第一资源对象的第一操作。
208.在一种可能的情况,若保护策略没有说明在第一条件允许对第一资源对象进行的操作,则可以认为保护策略指示了在第一条件允许对第一资源对象进行任意的操作。此时,第一操作可以为任意操作。
209.在一种可能的情况,若保护策略说明了在第一条件允许对第一资源对象进行的操作,则可以认为保护策略指示了在第一条件仅仅允许对第一资源对象进行特定的操作,不允许进行特定的操作之外的操作。对应的,第一操作为允许进行的特定的操作。
210.在一种可能的情况,若保护策略说明了在第一条件不允许对第一资源对象进行的操作,则可以认为保护策略指示了在满足第一条件,允许对第一资源对象进行不允许进行的操作之外的操作。对应的,第一操作为不允许进行的操作之外的类型。
211.示例性地,第一资源对象的第一操作为更新操作,第一条件为设备集群的负载小于等于预设阈值。在低负载的时候进行更新,最大程度减少对设备集群提供服务实现业务的影响。则在满足第一条件时,说明设备集群的负载小于等于预设阈值;在不满足第一条件时,说明设备集群的负载大于预设阈值。
212.示例性地,第一资源对象对应第一标识;其中,第一标识指示了发起第一资源对象的第一操作的对象的标识。
213.在一些可能的情况,第一条件为匹配第二标识;其中,第二标识指示了允许发起第一资源对象的第一操作的对象的标识。则在满足第一条件时,说明发起第一资源对象的第一操作的对象是指定的对象,此时可以允许对第一资源对象的第一操作。在不满足第一条件时,说明发起第一资源对象的第一操作的对象不是指定的对象,此时不允许对第一资源对象的第一操作。
214.在一些可能的情况,第一条件为不匹配第三标识;其中,第三标识指示了不允许发起第一资源对象的第一操作的对象的标识。则在满足第一条件时,说明发起第一资源对象的第一操作的对象不是指定的不允许发起的对象,此时可以允许对第一资源对象的第一操作。则在不满足第一条件时,说明发起第一资源对象的第一操作的对象是指定的不允许发起的对象,此时不允许对第一资源对象的第一操作。
215.需要说明的是,发起第一资源对象的第一操作的对象可以为用户、也可以是设备集群内部的组件,比如,kube-controller,还可以是设备集群内部的master-node或node运行的应用,比如,tomcat应用。在发起第一资源对象的第一操作的对象可以为用户时,第一标识可以为登录设备集群的用户账号;在发起第一资源对象的第一操作的对象可以为设备集群内部的组件时,第一标识可以为组件的服务账号;在发起第一资源对象的第一操作的对象可以为设备集群内部的master-node或node运行的应用时,第一标识可以为应用标识。第二标识类同,不再赘述。
216.在该实现方式的一个例子中,保护策略为人工智能模型。示例性地,第一信息中第二资源对象的对象标识、变化标识、第一资源对象的对象标识、第一操作的操作标识和第二信息输入到人工智能模型,若人工智能模型输出允许对第一资源对象的第一操作,则确定允许对第一资源对象的第一操作。若人工智能模型输出不允许对第一资源对象的第一操作,则确定不允许对第一资源对象的第一操作。
217.基于上文描述,下面给出如何确定决策结果的实现方式。
218.根据一种可行的实现方式,基于第一信息和第二信息确定允许对第一资源对象的第一操作,且基于保护策略确定允许对第一资源对象的第一操作,确定决策结果为允许对第一资源对象的第一操作。
219.根据一种可行的实现方式,基于第一信息和第二信息确定允许对第一资源对象的第一操作,基于保护策略确定不允许对第一资源对象的第一操作,确定决策结果为不允许对第一资源对象的第一操作。
220.根据一种可行的实现方式,基于第一信息和第二信息确定允许对第一资源对象的第一操作,基于保护策略确定不允许对第一资源对象的第一操作,确定决策结果为不允许对第一资源对象的第一操作。
221.另外,在一些可能的场景中,第一资源对象的第一操作为删除操作;若决策结果为允许对第一资源对象的删除操作,此时可以删除第一资源对象;进一步地,若第一资源对象在删除操作前、后依赖的资源对象存在差异,比如,需要删除第二资源对象,此时,删除第二资源对象和第一资源对象的依赖关系,更新第二信息即可,无需删除第二资源对象。
222.综上,本技术实施例中,通过分析、监控资源对象在变更操作前、后的变化,结合k8s集群中多个资源对象之间的依赖关系,以及,用户预先配置的保护策略,一方面,可以动态地识别、阻止误操作,并且可以在一定程度上可阻止恶意操作;另一方面,资源对象之间
的依赖关系是内在的,不会因为用户的操作而改变,从而可以在一定程序上加强对资源对象的保护操作。
223.举例来说,当需要部署一个基于tomcat服务端的web应用时,当这个应用部署到k8s集群后,最终会运行在一组(一个或多个)pod内。这组pod需要使用如下几个资源对象:
224.a)tomcat容器,包含tomcat服务端二进制的容器镜像
225.b)tomcat服务端镜像的拉取密钥,存放在secret中
226.c)tomcat服务端配置,存放在configmap中;
227.d)tomcat服务端的tls(transport layer security,是用于在联网计算机之间建立经过身份验证和加密的链接的协议)证书,存放在secret中;
228.e)web应用软件包,可存放在pv中;
229.f)tomcat使用的服务帐号的名称;
230.也就是说,这些pod会依赖上述的资源对象。
231.在一种可能的场景下,从管理、运维的角度,当pod未被删除时,上述的资源不能被删除——否则,当pod重启时就会因为缺少必要的依赖资源对象而导致无法启动。若需要删除pod时,如果pod未被其他的资源对象依赖,则可允许对pod删除。
232.在一种可能的场景下,当修改pod的配置时,也要检查新增的配置,确保所依赖的资源对象是否存在(如tls证书替换过程中,需要替换pod中的secret引用)。最后,当pod配置更新成功后,需要更新pod的依赖关系(如删掉旧的、已废弃的依赖关系)。
233.示例地,在tls证书替换的过程,需要用户创建tomcat应用的新的tls证书,接着,k8s集群会创建的tls证书,并将创建的tls证书关联到tomcat应用,进一步的,用户还可以选择删除旧的tls证书。
234.在创建tls证书时,k8s集群可以获取对secret的证书创建操作,对应的,k8s集群分析secret依赖的资源对象的差异,依赖的资源对象没有发生变化。同时,secret携带有用户账号,同时保护策略指示了允许对该用户账号的证书创建操作,则k8s集群会创建tls证书。对应的,依赖关系库中新增新的tls证书,该新增的tls证书未依赖任何资源对象。
235.在tomcat应用关联创建的新的tls证书时,tomcat应用运行在pod上,k8s集群可以获取对pod的tls证书更新操作,对应的,k8s集群分析pod的tls证书更新操作前和后依赖的资源对象的差异,依赖的资源对象发生变化,得到的第一信息指示了新增了新的tls证书。在指示了k8s集群中的多个资源对象之间的依赖关系的第二信息中包括新的tls证书,pod携带有tomcat应用的标识,同时保护策略指示了允许对该tomcat应用的tls证书更新操作,则k8s集群会将tomcat应用关联到新的tls证书。对应的,会删除旧的证书对tomcat应用的依赖,此时第二信息中的旧的证书未依赖任何资源对象。
236.在删除旧的tls证书时,k8s集群可以获取对secret的旧的tls证书的删除操作,对应的,k8s集群分析secret在删除旧的tls证书前和后依赖的资源对象的差异,依赖的资源对象发生变化,得到的第一信息指示了删除旧的tls证书。在指示了k8s集群中的多个资源对象之间的依赖关系的第二信息中包括旧的tls证书,且旧的证书未被资源对象依赖,secret携带有tomcat应用的标识,同时保护策略指示了允许对该tomcat应用的tls证书删除操作,则k8s集群会删除旧的tls证书。
237.另外,根据一种可行的实现方式,在基于第一信息和第二信息确定允许对第一资
源对象的第一操作时,获取保护策略。
238.需要说明的是,保护策略是人为预先配置的,具有更高的等级,在基于第一信息和第二信息确定允许对第一资源对象的第一操作,还需要通过保护策略的验证,从而确保对资源对象的保护。
239.这里,如何基于第一信息和第二信息确定允许对第一资源对象的第一操作的相关内容参见上文,不再赘述。
240.另外,在基于第一信息和第二信息确定不允许对第一资源对象的第一操作,无需获取保护策略,直接确定决策结果为不允许对第一资源对象的第一操作即可。
241.根据一种可行的实现方式,在第一资源对象对应的安全要求程度值高于预设阈值,获取保护策略;其中,安全要求程度值指示了对安全要求的程度。
242.其中,阈值可以结合实际需求确定,本技术实施例对此不做具体限定。
243.需要说明的是,在资源对象的安全要求较高时,需要保护策略参与决策,确保对资源对象的加强保护。
244.另外,在第一资源对象对应的安全要求程度值低于预设阈值,说明资源对象的安全要求较低时,此时,可以直接基于第一信息和第二信息确定是否允许对第一资源对象的第一操作,无需获取保护策略。则在基于第一信息和第二信息确定允许对第一资源对象的第一操作,则允许对第一资源对象的第一操作。在基于第一信息和第二信息确定不允许对第一资源对象的第一操作,则不允许对第一资源对象的第一操作。
245.根据一种可行的实现方式,在第一操作为删除操作之外的其他的操作,第一信息指示了第一资源对象在第一操作前、后依赖的资源对象不同时,获取第二信息。
246.需要说明的是,在对第一资源对象在第一操作前和后的资源对象不同时,为了更好的识别第一操作是否为误操作,需要综合考虑第二信息和保护策略,确保对第一资源对象的保护。
247.另外,在第一信息指示了第一资源对象在第一操作前、后依赖的资源对象相同时,在一种可能的情况,无需获取第二信息和保护策略,可以直接确定允许对第一资源对象的第一操作。在另一种可能的情况,若第一资源对象的安全要求程度值小于预设阈值,无需获取第二信息和保护策略,可以直接确定允许对第一资源对象的第一操作。这里,对于安全要求程度低,以及操作前、后依赖的资源对象没有差异的资源对象,则该资源对象一般没有加强保护的需求,此时,直接决定是否允许该资源对象的操作。
248.在一种可能的场景,n个电子设备110可以部署决策中心。其中,决策中心存储第二信息和保护策略。其中,第二信息存储在依赖关系库中。这里,决策中心由若干个节点组成,每个节点可以是硬件服务器,也可以植入虚拟化环境中,例如,本方案中涉及的节点可以是在包括一个或多个其他虚拟机的硬件服务器上执行的虚拟机。
249.示例性地,决策中心用于管理设备集群中的资源对象间的依赖关系,并提供保护策略的配置接口。在具体实现时,管理员可以通过终端设备120访问配置接口,显示配置界面,在配置界面中配置保护策略。
250.在一种可能的情况,所述决策中心为服务器,决策中心可部署在设备集群中,也可独立部署在设备集群之外。可选地,为了尽量降低设备集群提供服务实现业务之外的开销,确保设备集群的性能,决策中心部署在设备集群之外,这样,决策中心可以管理多个设备集
群各自的资源对象间的依赖关系,通过配置接口配置多个设备集群的保护策略。
251.根据一种可行的实现方式,设备集群执行上述步骤210。决策中心执行上述步骤220。
252.在决策中心部署在设备集群之外时,设备集群需要把第一信息发送到决策中心,决策中心执行步骤220,将得到的决策结果反馈给k8s集群。
253.图3示出了本技术实施例提供的另一种资源对象保护的方法的流程示意图。
254.如图3所示,本技术实施例中,包括如下步骤:
255.步骤310、决策中心存储第二信息和保护策略信息;其中,第二信息指示了设备集群中的多个资源对象之间的依赖关系;保护策略信息为用户预先配置的对多个资源对象中至少部分的保护策略。
256.在实际应用中,设备集群会实时监控每个资源对象之间的依赖关系,并将自身的资源对象之间的依赖关系的变化通知给决策中心,决策中心更新第二信息。管理员可以通过终端设备120访问配置接口,显示配置界面,在配置界面中配置保护策略,决策中心会存储管理员配置的保护策略。
257.步骤320、设备集群获取第一资源对象对应的第一信息;其中,第一资源对象为设备集群中的多个资源对象中的任一资源对象,第一信息至少指示了监控到的对第一资源对象的第一操作。
258.详细内容参见上文对步骤210的描述。
259.步骤330、设备集群向决策中心发送第一信息。
260.在一种可能的实现方式中,设备集群在第一信息指示了第一资源对象在第一操作前、后依赖的资源对象不同时,将第一信息发送至决策中心。
261.需要说明的是,在对第一资源对象在第一操作前和后的资源对象不同时,为了更好的识别第一操作是否为误操作,需要综合考虑第二信息和保护策略,确保对第一资源对象的保护;因此,将第一信息发往决策中心,由决策中心进行决策。
262.另外,在第一资源对象在第一操作前、后依赖的资源对象相同时,在一种可能的情况,可以直接确定允许对第一资源对象的第一操作。
263.在一种可能的实现方式中,设备集群确定第一资源对象对应的安全要求程度值高于预设阈值,将第一信息发送至决策中心。
264.需要说明的是,在资源对象的安全要求较高时,需要保护策略参与决策,确保对资源对象的加强保护;因此,将第一信息发往决策中心,由决策中心进行决策。在第一资源对象对应的安全要求程度值低于预设阈值,说明资源对象的安全要求较低时,可选地,决策中心可以直接基于第一信息和第二信息确定是否允许对第一资源对象的第一操作,无需考虑保护策略。则在基于第一信息和第二信息确定允许对第一资源对象的第一操作,则允许对第一资源对象的第一操作。在基于第一信息和第二信息确定不允许对第一资源对象的第一操作,则不允许对第一资源对象的第一操作。。
265.另外,在第一资源对象对应的安全要求程度值低于预设阈值,说明资源对象的安全要求较低时,可选地,设备集群在第一信息指示了第一资源对象在第一操作前、后依赖的资源对象相同时,可以直接确定允许对第一资源对象的第一操作。
266.在一种可能的实现方式中,设备集群基于第一信息,或者,第一信息和第一资源对
象的安全要求程度值,判断是否需要决策中心对第一资源对象的第一操作进行决策,如需要,则将第一信息发送到决策中心。
267.在该实现方式的一个示例,在第一信息指示了第一资源对象在第一操作前、后依赖的资源对象相同时,判断不需要决策中心对第一资源对象的第一操作进行决策。
268.在该实现方式的一个示例,在第一资源对象对应的安全要求程度值低于预设阈值,且在第一信息指示了第一资源对象在第一操作前、后依赖的资源对象相同时,判断不需要决策中心对第一资源对象的第一操作进行决策。示例性地,第一资源对象可以为namespace。
269.步骤340、决策中心基于第一信息、第二信息和保护策略,确定第一资源对象对应的决策结果;其中,决策结果指示了是否允许对第一资源对象的第一操作;保护策略为保护策略信息中第一资源对象对应的保护策略。
270.详细内容参见上文对步骤240的描述。
271.在一种可能的实现方式中,设备集群为决策中心管理的多个设备集群中的任一集群。
272.在实际应用中,资源对象保护的方法由电子设备110运行软件实现。下面对资源对象保护的方法的软件实现进行描述。
273.在一种可能的情况,设备集群部署有拦截器,拦截器执行上述步骤210。决策中心可以实现拦截器的部署,用于执行上述步骤220。
274.下面以设备集群为k8s集群为例对资源对象保护的方法的具体的应用进行说明。
275.在具体应用时,管理员通过决策中心,设置保护策略信息。决策中心给k8s集群下发拦截器的部署或更新请求——拦截器可以是webhook或controller。
276.然后,当k8s集群部署或更新拦截器后,拦截器向k8s集群注册监听的资源类别。
277.最后,当对k8s集群的第一资源对象进行第一操作时,拦截器可根据操作的类型,执行具体的动作。
278.示例性地,第一资源对象为pod,第一操作为创建操作。需要说明的是,pod是k8s集群中的最小调度单元,每个应用都部署在pod内。因此pod对其他资源对象的依赖关系,是最重要也是最复杂的。以对pod进行创建操作为例进行说明。
279.当创建pod时,k8s集群中的拦截器可判断是否需要决策中心介入,如果需要,向决策中心问询,是否允许创建pod的操作;
280.当pod的状态改变为ready时,拦截器分析pod的资源依赖情况,把结果上报决策中心,更新依赖关系知识库——只有pod真正运行时,其依赖的资源才需要保护,降低决策中心对系统性能的影响。需要说明的是,k8s集群在创建pod的时候,会实时更新pod的状态,在为pod分配一个节点(node),创建了pod,拉取了pod的镜像之后,pod处于ready状态。
281.进一步的,在一种可能的情况,决策中心部署拦截器部署配置工具、保护策略、变更决策器和依赖关系库(用于存储第二信息),变更决策器执行上述步骤220至步骤240。
282.其中,拦截器部署配置工具用于按需部署、配置、更新拦截器。示例性地,可使用如deployment、helm等通用的kubernetes应用部署的方法。其中,部署拦截器可以理解为哪些kubernetes集群需要部署拦截器,还能决定拦截器部署在kubernetes集群中的哪类节点上,比如,管理节点(master-node),或节点(node)。其中,配置拦截器可以理解为配置拦截
器可以实现的功能。
283.保护策略:管理员可配置的保护策略,保护策略可决定能否执行资源对象的变更(修改、删除)操作。详细内容参加上文,不再赘述。
284.变更决策器:根据依赖关系库中的依赖关系、拦截器发送的变更情况和保护策略,决定是否允许某个资源对象的变更操作。
285.依赖关系库:管理并存储k8s集群中的多个资源对象之间的依赖关系,即上述第二信息。
286.在具体实现时,k8s集群中的拦截器用于对k8s集群中的资源对象进行监控,并拦截对资源对象的操作。
287.另外,k8s集群中的拦截器还可以把资源对象的依赖关系的变化情况提交给决策中心,决策中心更新依赖关系库。
288.在上述图1所示系统的基础上,如图4所示,以第一资源对象的第一操作为pod1的创建操作,对本技术实施例提供的资源对象保护的方法进行示例。
289.用户通过终端设备120访问决策中心,通过配置接口配置保护策略。决策中心向k8s集群下发拦截器的部署请求。k8s集群中的apiserver部署拦截器,之后,拦截器向apiserver注册监控的资源类型,从而使得拦截器可以对已注册的资源类型的变更操作进行拦截。
290.接着,用户通过终端设备120访问k8s集群,创建pod1,创建pod1的请求发送到k8s集群,k8s集群中的apiserver将创建pod1的请求发送到拦截器,拦截器分析创建pod1前、后的资源对象的依赖情况,得到第一信息,基于第一信息判断是否需要审计,即是否需要决策中心参与,比如,判断pod1的安全要求程度,和创建pod1前、后依赖的资源对象是否有差异,由于pod的创建的安全要求程度很高,且创建pod1前、后依赖的资源对象有差异,需要决策中心参与;则将第一信息发送到决策中心,决策中心决策是否允许对pod1的创建,得到创建结果,反馈创建结果至k8s集群;k8s集群中的拦截器将决策结果反馈给apiserver,若决策结果为创建,则apiserver会通知kube-scheduler创建pod1,kube-scheduler向apiserver反馈是否创建成功,apiserver向用户反馈是否创建成功。kube-scheduler在创建pod1的时候,会实时更新pod1的状态,在为pod1分配一个node,创建了pod1,拉取了pod1的镜像之后,pod1处于ready状态。
291.接着,apiserver会将pod1的状态的更新告知拦截器,拦截器在pod1处于ready时,分析pod1依赖的资源对象的变更,反馈至决策中心,决策中心更新依赖知识库。
292.基于与本技术方法实施例相同的构思,本技术实施例还提供了一种资源对象保护的装置。资源对象保护的装置包括若干个模块,各个模块用于执行本技术实施例提供的资源对象保护的方法中的各个步骤,关于模块的划分在此不做限制。所属领域的技术人员可以清楚地了解到,实际应用中,可以根据需要而将本技术实施例提供的资源对象保护的方法中的各个步骤分配由不同的模块完成,即将装置的内部结构划分成不同的模块,以完成以上描述的全部或者部分功能。实施例中的各模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上模块集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述装置中模块的具体工
作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
293.示例地,资源对象保护的装置用于执行本技术实施例提供的资源对象保护的方法,图5是本技术实施例提供的资源对象保护的装置的结构示意图。如图5所示,本技术实施例提供的资源对象保护的装置,包括:
294.监控模块501,用于获取第一资源对象对应的第一信息;其中,所述第一资源对象为设备集群中的多个资源对象中的任一资源对象,所述第一信息至少指示了监控到的对所述第一资源对象的第一操作;
295.决策模块502,用于基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果;其中,所述第二信息指示了所述多个资源对象之间的依赖关系;所述保护策略指示了对所述第一资源对象保护的策略,所述决策结果指示了是否允许对所述第一资源对象的第一操作。
296.监控模块501可以参见上述步骤201的描述,决策模块502可以参见上述步骤202的描述。
297.基于与本技术方法实施例相同的构思,本技术实施例还提供了一种电子设备110。该电子设备也即资源对象保护的设备。该电子设备可以为服务器。
298.图6是本技术实施例提供的一种电子设备的结构示意图。
299.如图6所示,电子设备110包括处理器111、存储器112、网络接口113和总线114。处理器111、存储器112、网络接口113通过总线114连接。
300.处理器111可以是中央处理单元(central processing unit,cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
301.存储器112可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data date sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
302.示例地,存储器112上可以存储计算机程序,处理器111执行计算机程序时实现上述资源对象保护的方法实施例中的步骤,例如图2所示的步骤210至步骤240。或者,所述处理器111执行计算机程序时实现上述装置实施例中各模块的功能。示例性的,计算机程序可以被分割成一个或多个模块/单元,所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述一个或者多个模块/单元被存储在所述存储器112中,并由
所述处理器111执行,以完成本技术。例如,计算机程序可以被分割成监控模块501、决策模块502,各模块具体功能参见上文描述。
303.网络接口113用于收发数据,例如,将处理器111处理后的数据发送至其他的电子设备,或者,接收其他的电子设备发送的数据等。
304.总线114可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线114包括在电子设备110中各个部件(例如,处理器111、存储器112、通信接口113)之间传送信息的通路。
305.当然,为了简化,图6中仅示出了该电子设备110中与本技术有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备110还可以包括任何其他适当的组件。本领域技术人员可以理解,图6仅仅是电子设备110的示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
306.除了上述方法、装置和电子设备以外,本技术实施例还可以提供了一种计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时,使得所述处理器执行本说明书上述“方法”部分中描述的本技术各种实施例的资源对象保护的方法中的步骤。其中,所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本技术实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。其中,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
307.此外,本技术实施例还可以提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“方法”部分中描述的根据本公开各种实施例的资源对象保护的方法中的步骤。所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
308.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
309.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限
定。
310.以上结合具体实施例描述了本技术的基本原理,但是,需要指出的是,在本技术中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
311.本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
312.还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
313.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
314.可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。

技术特征:
1.一种资源对象保护的方法,其特征在于,所述方法包括:设备集群获取第一资源对象对应的第一信息,并将所述第一信息发送到决策中心;其中,所述第一资源对象为所述设备集群中的多个资源对象中的任一资源对象,所述第一信息至少指示了所述设备集群监控到的对所述第一资源对象的第一操作;所述决策中心基于所述第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果;其中,所述第二信息指示了所述多个资源对象之间的依赖关系;所述保护策略指示了对所述第一资源对象保护的策略,所述决策结果指示了是否允许对所述第一资源对象的第一操作。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述设备集群在所述第一资源对象在所述第一操作前、后依赖的资源对象不同的情况下,将所述第一信息发送到所述决策中心;或者,所述设备集群在所述第一资源对象对应的安全要求程度值高于预设阈值的情况下,将所述第一信息发送到所述决策中心;其中,所述安全要求程度值指示了对安全要求的程度。3.根据权利要求1所述的方法,其特征在于,所述决策中心基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果,包括:所述决策中心基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作,且基于保护策略确定允许对所述第一资源对象的第一操作,确定所述决策结果为允许对所述第一资源对象的第一操作;所述决策中心基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作,基于保护策略确定不允许对所述第一资源对象的第一操作,确定所述决策结果为不允许对所述第一资源对象的第一操作;所述决策中心基于保护策略确定允许对所述第一资源对象的第一操作,基于所述第一信息和第二信息确定不允许对所述第一资源对象的第一操作,确定所述决策结果为不允许对所述第一资源对象的第一操作。4.根据权利要求3任一所述的方法,其特征在于,所述决策中心基于保护策略确定不允许对所述第一资源对象的第一操作,包括:所述决策中心在确定所述保护策略指示了不允许对所述第一资源对象进行所述操作,确定不允许对所述第一资源对象的第一操作;或,所述保护策略指示了在第一条件时允许对所述第一资源对象进行所述第一操作;所述决策中心基于保护策略确定不允许对所述第一资源对象的第一操作,包括:所述决策中心在确定不满足所述第一条件时,确定不允许对所述第一资源对象的第一操作;所述决策中心基于保护策略确定允许对所述第一资源对象的第一操作,包括:所述决策中心在确定满足所述第一条件时,确定允许对所述第一资源对象的第一操作。5.根据权利要求4所述的方法,其特征在于,所述第一操作为更新操作,所述第一条件为所述设备集群的负载小于等于预设阈值;或,所述第一资源对象对应第一标识;其中,所述第一标识指示了发起所述第一资源对象的第一操作的对象的标识;所述第一条件为匹配第二标识;其中,所述第二标识指示了允许发起所述第一资源对象的第一操作的对象的标识。6.根据权利要求2或3任一所述的方法,其特征在于,所述第一信息包括第二资源对象
对应的变化标识,所述变化标识指示了新增或删除,所述第二资源对象为所述第一资源对象在所述第一操作前、后依赖的资源对象存在差异的资源对象;所述决策中心基于所述第一信息和第二信息确定不允许对所述第一资源对象的第一操作,包括:所述决策中心在确定所述第二资源对象对应的变化标识指示新增,所述第二信息中不存在指示所述第二资源对象的信息时,确定不允许对所述第一资源对象的第一操作;所述决策中心基于所述第一信息和第二信息确定允许对所述第一资源对象的第一操作,包括:所述决策中心在确定所述第二资源对象对应的变化标识指示新增,所述第二信息中存在指示所述第二资源对象的信息时,确定允许对所述第一资源对象的第一操作。7.根据权利要求2或3任一所述的方法,其特征在于,所述第一操作为删除操作;所述决策中心基于所述第一信息和第二信息确定不允许对所述第一资源对象的第一操作,包括:所述决策中心基于所述第一信息,在确定所述第二信息中所述第一资源对象被所述多个资源对象中的任一资源对象依赖时,确定不允许对所述第一资源对象的第一操作;所述决策中心基于所述第一信息和第二信息确定不允许对所述第一资源对象的第一操作,包括:所述决策中心基于所述第一信息,在确定所述第二信息中所述第一资源对象未被所述多个资源对象中的资源对象依赖时,确定允许对所述第一资源对象的第一操作。8.根据权利要求1至7任一所述的方法,其特征在于,所述设备集群为k8s集群,和/或,所述决策中心为服务器。9.一种资源对象保护的方法,其特征在于,应用于设备集群,包括:获取第一资源对象对应的第一信息;其中,所述第一资源对象为所述设备集群中的多个资源对象中的任一资源对象,所述第一信息至少指示了所述设备集群监控到的对所述第一资源对象的第一操作;将所述第一信息发送到决策中心,以使所述决策中心基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果;其中,所述第二信息指示了所述多个资源对象之间的依赖关系;所述保护策略指示了对所述第一资源对象保护的策略,所述决策结果指示了是否允许对所述第一资源对象的第一操作。10.一种资源对象保护的方法,其特征在于,应用于决策中心,包括:接收设备集群发送的第一资源对象对应的第一信息;其中,所述第一资源对象为所述设备集群中的多个资源对象中的任一资源对象,所述第一信息至少指示了所述设备集群监控到的对所述第一资源对象的第一操作;基于第一信息、第二信息和保护策略,确定所述第一资源对象对应的决策结果;其中,所述第二信息指示了所述多个资源对象之间的依赖关系;所述保护策略指示了对所述第一资源对象保护的策略,所述决策结果指示了是否允许对所述第一资源对象的第一操作。

技术总结
本申请提供了一种资源对象保护的方法。在实施例中,设备集群获取第一资源对象对应的第一信息;其中,第一资源对象为设备集群中的多个资源对象中的任一资源对象,第一信息至少指示了设备集群监控到的对第一资源对象的第一操作;决策中心基于第一信息、第二信息和保护策略,确定第一资源对象对应的决策结果;其中,第二信息指示了多个资源对象之间的依赖关系;保护策略指示了对第一资源对象保护的策略,决策结果指示了是否允许对第一资源对象的第一操作。由此,可对设备集群中的资源对象进行保护,尽可能防止出现误操作。尽可能防止出现误操作。尽可能防止出现误操作。


技术研发人员:许金川
受保护的技术使用者:超聚变数字技术有限公司
技术研发日:2023.03.13
技术公布日:2023/7/18
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐